A fast, git-backed journaling CLI for developers. You're already in the terminal — just type journal and start writing.
Every journaling app has the same problem: friction. Open app → wait for sync → click new entry → choose a template. journalot removes every step between you and the page.
journal$EDITOR, no learning curvePlain markdown, git version control, and a single command — now with habit tracking and multiple journals.
See your current and longest consecutive-day streaks in journal --stats. Build the habit.
journal --calendar shows an ASCII calendar with your entry days highlighted at a glance.
journal "thought" appends a timestamped note instantly — no editor, no friction.
Keep work, personal, and family journals completely separate, each with its own git repo.
Collaborative journaling via a private git remote — auto-syncs, detects conflicts, resolves gracefully.
Full-text --search with context and highlighting. Fuzzy --list when fzf is installed.
journal --date "last friday" or --date "3 days ago". Backdate anytime.
journal --backup for timestamped backups and --archive 2024 to tuck away past years.
journal --export html or pdf, plus daily writing prompts with --prompt.
The whole interface fits in your muscle memory.
# — Everyday —
journal # Open today's journal
journal "Had a breakthrough today" # Quick capture (no editor)
journal --yesterday # Open yesterday's entry
journal --last # Open most recent entry
journal --date "last friday" # Natural language dates
# — Browse & Search —
journal --list # List entries (fzf interactive if installed)
journal --calendar # Monthly calendar with entry indicators
journal --search "confidence" # Full-text search with context
journal --week # Open all entries from this week
journal --tag work # Filter entries by #tag
# — Stats & History —
journal --stats # Statistics + current/longest streak
journal --diff 2025-01-15 # Git history for an entry
journal --prompt # Today's writing prompt
# — Export & Backup —
journal --export html # Export to HTML
journal --backup # Create timestamped backup
journal --archive 2024 # Archive all 2024 entries
Each journal is its own directory with its own git history and remote. Switch instantly, or share one with collaborators.
journal --switch work # Switch to (or create) 'work' journal
journal --switch kids --shared # Shared journal — auto-syncs with collaborators
journal --switch default # Return to default journal
journal --list-journals # List all journals
macOS and Linux. Homebrew is the quickest path.
brew tap jtaylortech/journalot
brew install journalot
git clone git@github.com:jtaylortech/journalot.git
cd journalot
sudo ./install.sh
Optional: install fzf for interactive fuzzy-search in journal --list.