Observed since 21 Oct, 11:04 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
AI-powered journaling system with beautiful CLI for setup, customization, and updates
Your Personal AI Coach for Journaling, Growth & Clarity 🔐 100% Private • 🎨 5 Built-in Frameworks • 📚 Multi-Journal Support • 🤖 AI-Powered • 🛠️ Works Everywhere
Getting Started Why AI Journal Kit? • Quick Start • Installation
Core Features File Referencing • Journaling Frameworks • Multi-Journal Support • CLI Commands • Customization • Obsidian Integration
Learning More How It Works • Examples & Use Cases • FAQ • Documentation
Your journal stays on YOUR computer. No cloud sync required. No data collection. No privacy compromises.
Choose YOUR methodology: GTD®, PARA™, Bullet Journal®, Zettelkasten, or start with our flexible Default. Switch anytime!
Separate work from personal. Manage multiple independent journals with different frameworks and settings.
Your personal AI coach proactively:
Built for YOUR favorite tools:
uvx ai-journal-kit setup
That's it! The AI will guide you through setup interactively, including:
# Open in your AI editor
cursor ~/journal # or wherever you chose
windsurf ~/journal
code ~/journal
Just say:
"Help me get started"
The AI will introduce itself and guide you through customization!
Talk naturally with your AI coach. No rigid commands or syntax.
You: "I'm feeling overwhelmed with the Q4 launch project"
AI: "Let's break it down. What's the biggest blocker right now?"
[Automatically creates/updates projects/q4-launch.md
and links it to today's daily note]
The AI recognizes significant moments and offers to save them:
You: "I just realized I procrastinate when I'm afraid of failing"
AI: "That's a powerful insight. Want me to capture this as a memory?"
Your AI coach spots patterns you might miss:
AI: "I notice you mention feeling tired every Wednesday.
Want to explore what's happening mid-week?"
No manual note-taking! The AI updates your notes automatically:
Connect the dots across your entire journal by referencing other notes. The AI helps you build a web of context:
You: "I had a great conversation with Sarah about the Q4 launch"
AI: "Nice! I'll update today's daily note and Sarah's people note.
Should I link this to your 'Q4 Product Launch' project?"
[Creates connections between daily/2025-01-15.md,
people/sarah.md, and projects/q4-launch.md]
Cross-Reference Everything:
Example Connections:
# Daily Note (2025-01-15)
## Meetings
- Met with [[people/sarah]] about [[projects/q4-launch]]
- Decided to move deadline to March (see [[memories/deadline-flexibility]])
- Sarah suggested new approach to testing
# Sarah's People Note
## Recent Conversations
- **2025-01-15**: Q4 Launch Discussion
- Suggested testing approach (linked in [[projects/q4-launch]])
- Very supportive of deadline change
# Q4 Launch Project
## Key Decisions
- **2025-01-15**: Extended deadline to March
- Discussed with [[people/sarah]]
- Applied lesson from [[memories/deadline-flexibility]]
Benefits:
The AI helps you maintain these connections automatically—just talk naturally and it handles the references!
# Install and setup in one command
uvx ai-journal-kit setup
# Install globally
pip install ai-journal-kit
# Run setup
ai-journal-kit setup
# Install as a tool
uv tool install ai-journal-kit
# Run setup
ai-journal-kit setup
Each framework is designed for different workflows and preferences:
GTD Daily Note:
## 📥 Inbox
- Capture everything on your mind
## ⚡ Next Actions
### @work
- [ ] Review quarterly goals
### @calls
- [ ] Schedule dentist appointment
## ⏳ Waiting For
| Item | Who | Date |
|------|-----|------|
| Budget approval | Sarah | 2025-01-15 |
PARA Project:
# Project: Launch Newsletter
**Status**: Active
**Deadline**: End of Q1
**Related Area**: Marketing
## Next Actions
- [ ] Draft first 3 issues
- [ ] Set up email service
Bullet Journal Daily:
# January 15, 2025
## Daily Log
- [ ] Team meeting at 10am
○ Launched new feature
─ Great feedback from users
* Important deadline tomorrow
Zettelkasten Note:
# 202501151430 - Spaced Repetition Learning
The spacing effect shows that information is better retained when study sessions are spaced out over time.
## Related Notes
- [[202501141200 - Memory consolidation]]
- [[202501101500 - Active recall techniques]]
## Sources
- "Make It Stick" by Brown et al.
Changed your mind? You can switch frameworks at any time without losing your journal content!
ai-journal-kit switch-framework para # Switch to PARA
ai-journal-kit switch-framework gtd # Switch to GTD
ai-journal-kit switch-framework # Interactive selection
When you switch frameworks, all your existing templates are automatically backed up:
journal/
└── .framework-backups/
├── 20250115-143022-123456/ # Timestamped backup from first switch
│ ├── daily-template.md
│ ├── project-template.md
│ └── waiting-for-template.md
└── 20250120-091545-789012/ # Another backup from second switch
├── daily-template.md
├── area-template.md
└── resource-template.md
Each backup is timestamped down to the microsecond, so you can switch multiple times and keep all your customized templates.
Your actual journal content never changes:
daily/)projects/)people/)memories/)Only the templates change - your notes are 100% safe!
# 1. Start with GTD®
ai-journal-kit setup --framework gtd
# 2. Journal for a few months, customize templates
# ... edit waiting-for-template.md with your own style ...
# 3. Want to try PARA™? Switch safely!
ai-journal-kit switch-framework para
# ✅ Your GTD® templates (including customizations) are backed up
# ✅ PARA™ templates are installed
# ✅ All your journal notes are untouched
# 4. Changed your mind? Go back!
# Just restore from .framework-backups/TIMESTAMP/ if needed
You might want to switch frameworks if:
No commitment! Switch as often as you like - your journal content is always safe.
Do you keep separate journals for different areas of your life? AI Journal Kit makes it easy to manage multiple independent journals:
# First journal defaults to "default"
ai-journal-kit setup --location ~/personal-journal --framework bullet-journal
# Create additional journals with unique names
ai-journal-kit setup --name business --location ~/work-journal --framework gtd
ai-journal-kit setup --name research --location ~/research --framework zettelkasten
# View all journals
ai-journal-kit list
# Output:
# Name Location Framework IDE Status
# default ~/personal-journal bullet-journal cursor ✓ Active
# business ~/work-journal gtd cursor
# research ~/research zettelkasten cursor
# Switch to a different journal
ai-journal-kit use business
# Now all commands operate on the "business" journal
ai-journal-kit status # Shows business journal status
Use the AI_JOURNAL environment variable to temporarily use a different journal:
# Quick check on business journal without switching
AI_JOURNAL=business ai-journal-kit status
# Run multiple commands on research journal
AI_JOURNAL=research ai-journal-kit status
AI_JOURNAL=research ai-journal-kit doctor
Each journal is completely independent:
Configuration is stored centrally in ~/.config/ai-journal-kit/config.json (or platform equivalent), tracking all your journals and which one is active.
# Interactive setup wizard
ai-journal-kit setup
# Setup with specific framework
ai-journal-kit setup --framework gtd # GTD methodology
ai-journal-kit setup --framework para # PARA method
ai-journal-kit setup --framework bullet-journal # Bullet Journal
ai-journal-kit setup --framework zettelkasten # Zettelkasten
# Create named journal (for multiple journals)
ai-journal-kit setup --name personal # Create "personal" journal
ai-journal-kit setup --name business --framework gtd # Named journal with framework
# Switch to a different framework (with timestamped backup)
ai-journal-kit switch-framework para # Switch to PARA
ai-journal-kit switch-framework gtd # Switch to GTD
ai-journal-kit switch-framework # Interactive selection
# Add IDE configurations to existing journal
ai-journal-kit add-ide cursor # Add Cursor config
ai-journal-kit add-ide windsurf # Add Windsurf config
ai-journal-kit add-ide claude-code # Add Claude Code config
ai-journal-kit add-ide copilot # Add GitHub Copilot config
ai-journal-kit add-ide all # Add all IDE configs
ai-journal-kit add-ide # Interactive prompt
# Multi-journal management
ai-journal-kit list # Show all configured journals
ai-journal-kit use business # Switch to "business" journal
AI_JOURNAL=business ai-journal-kit status # Temporarily use specific journal
# Check journal health
ai-journal-kit status
# Update to latest version
ai-journal-kit update
# Update with new templates
ai-journal-kit update --templates
# Diagnose and fix issues
ai-journal-kit doctor
# Move journal to new location
ai-journal-kit move
You: "Get the time and let's start the day"
AI: "Good morning! It's 6:30 AM on Friday, Nov 7, 2025.
How did you sleep? ⭐⭐⭐⭐⭐ (Rate 1-5)"
[Creates today's daily note, captures your energy level,
helps you set priorities and emotional outcomes]
You: "Just finished that proposal! Feeling great."
AI: "Awesome! 🎉 That's a big win."
[Automatically updates your daily note:
"**2:30 PM** - Completed proposal draft! Feeling accomplished."]
You: "Update my daily note"
AI: "Let's reflect on today:
- What went well?
- What challenges came up?
- What did you learn?
- What's your top priority tomorrow?"
[Captures your reflection in the daily note]
Create .ai-instructions/my-coach.md:
# My Coaching Preferences
## Style
- Be concise and direct
- Challenge me when I'm avoiding something
- Celebrate wins enthusiastically
## Focus Areas
- Deep work and focus
- Work-life balance
- Health and fitness
## Don't
- Be overly supportive (I need pushback)
- Let me procrastinate
The AI will follow YOUR preferences!
Modify any template:
# Edit templates in your journal
journal/daily-template.md
journal/project-template.md
journal/people-template.md
On setup, the AI uses YOUR templates automatically!
While AI editors (Cursor, Windsurf, Claude Code) handle the conversational journaling and automatic updates, Obsidian is the perfect companion for visualizing connections and manual editing.
See Your Entire Knowledge Graph:
Morning: Use AI editor (Cursor/Windsurf/Claude Code)
→ "Let's start the day"
→ AI creates today's note, captures your thoughts
→ AI automatically cross-references people, projects, memories
Anytime: Open Obsidian to visualize
→ See graph of all your connections
→ Review backlinks for a specific person
→ Browse daily notes in calendar view
→ Add manual thoughts/notes if desired
Conversational Journaling: Use AI editor
→ Natural conversation, automatic updates
→ AI creates cross-references
Deep Thinking: Use Obsidian
→ Manually refine notes
→ Add additional context
→ Create canvas boards for planning
→ Explore connections in graph view
1. Install Obsidian:
2. Open Your Journal as a Vault:
1. Launch Obsidian
2. Click "Open folder as vault"
3. Select your journal folder (e.g., ~/journal)
3. Enjoy the Magic:
[[people/sarah]]) automatically workCore Plugins (built-in, enable in Settings):
Community Plugins (optional):
When the AI creates connections like:
Met with [[people/sarah]] about [[projects/q4-launch]]
In Obsidian:
[[people/sarah]] → Opens Sarah's note with full conversation history| Feature | AI Editor (Cursor, etc.) | Obsidian |
|---|---|---|
| Conversational input | ✅ Natural dialogue | ❌ Manual typing |
| Auto-updates | ✅ Proactive | ❌ Manual |
| Cross-referencing | ✅ Automatic | ✅ Manual/navigation |
| Graph visualization | ❌ Limited | ✅ Excellent |
| Backlinks | ❌ None | ✅ Automatic |
| Mobile editing | ❌ Desktop only | ✅ iOS & Android |
| Canvas/visual boards | ❌ None | ✅ Built-in |
| Search & queries | Basic | ✅ Advanced (Dataview) |
The AI creates the structure, Obsidian helps you see the big picture!
All templates are in your journal after setup:
daily-template.md - Daily note structureproject-template.md - Project trackingpeople-template.md - Relationship notesmemory-template.md - Capturing insightsjournal/ folderWe welcome contributions!
See CONTRIBUTING.md for guidelines.
- Track multiple projects and ventures
- Capture business insights and lessons
- Manage relationships with clients and partners
- Reflect on wins, challenges, and growth
- Document technical decisions and learnings
- Track bug investigations and solutions
- Manage multiple projects and codebases
- Reflect on code reviews and improvements
- Organize notes across classes and subjects
- Track assignments and deadlines
- Capture study insights and understanding
- Reflect on learning progress
- Daily gratitude and reflection
- Goal setting and tracking
- Habit formation and accountability
- Emotional processing and awareness
The AI creates psychological safety. Gaps are normal. Progress over perfection.
The AI updates notes automatically as you talk. You shouldn't have to remember to journal—it happens naturally.
Talk naturally. No commands, no syntax, no friction.
Not opinionated about methodology. Adapts to YOUR way of working.
Q: Is my data private?
A: Yes! Everything stays on your computer. No cloud, no tracking, no data collection.
Q: Do I need an AI editor?
A: No! Works with any markdown editor. AI features are optional but recommended.
Q: Can I use my own journaling system? A: Absolutely! Not opinionated. Use GTD®, PARA™, Bullet Journal®, or your own method.
Q: Will updates break my journal?
A: Never. Updates only touch system files, never your content or customizations.
Q: Can I customize the AI's behavior?
A: Yes! Create .ai-instructions/ files to define your coaching preferences.
Q: How much does it cost?
A: The AI Journal Kit is free and open source (MIT License). You only pay for your chosen AI editor (Cursor, Windsurf, etc.) if using AI features.
Q: Can I sync across computers?
A: Yes! Put your journal/ folder in Dropbox, Google Drive, or iCloud. The CLI stays installed per-machine.
AI Journal Kit has a robust test suite with 332 tests and 87% code coverage covering:
tests/unit/): Fast, focused tests for individual componentstests/integration/): Real filesystem operations, command workflowstests/e2e/): Complete user journeys across the entire system# Run all tests
pytest
# Run specific test types
pytest tests/unit/ # Unit tests only
pytest tests/integration/ # Integration tests only
pytest tests/e2e/ # E2E tests only
# Using invoke tasks
invoke test # All tests with coverage
invoke test.unit # Unit tests only
invoke test.integration # Integration tests only
invoke test.e2e # E2E tests only
invoke test.quick # Fast run (no coverage)
# Simulate full CI pipeline locally
invoke ci.local
We welcome contributions! Before submitting a PR:
pytest or invoke testruff check ai_journal_kit testsbandit -r ai_journal_kitinvoke ci.localAll tests must pass on Ubuntu, macOS, and Windows before merging.
Built with love for better journaling and personal growth.
Author: Troy Larson (@troylar)
License: MIT
Repository: github.com/troylar/ai-journal-kit
GTD® and Getting Things Done® are registered trademarks of the David Allen Company.
Bullet Journal® is a registered trademark of Ryder Carroll.
PARA™ is a methodology created by Tiago Forte (Forte Labs).
Zettelkasten is a note-taking methodology developed by Niklas Luhmann and is not trademarked.
AI Journal Kit is an independent project and is not affiliated with, endorsed by, or sponsored by any of the above trademark holders or methodology creators. The software provides templates and folder structures that are compatible with and inspired by these popular productivity methodologies. Users are encouraged to learn more about these methodologies directly from their creators and official resources.
If AI Journal Kit helps you, consider:
100% Private • 5 Frameworks • Multi-Journal Support • Works with Your Favorite AI Editor
uvx ai-journal-kit setup
Set up in 60 seconds. No cloud required. Your data stays yours.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 1.1.1 | 9 Nov 2025 | 12 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 11:04 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:bd0a2d7b9acb04906b936bae4d91c46a25b72340944284f97a6c1cf5b75574a7