journalot

Minimal journaling CLI for developers.

You're already in the terminal. Just type journal.

journal
journalot demo — calendar view, stats with streak tracking, quick capture

Every journaling app has the same problem: friction.
Open app → wait for sync → click new entry → choose template…

You're already in terminal just type journal
Opens in your preferred editor no learning curve
Auto-commits to git no manual syncing
Just markdown files complete ownership

The best productivity tool is the one you actually use.

Everything you need, nothing you don't

Streak tracking

See your current and longest consecutive-day streaks in --stats. Build the habit.

Calendar view

journal --calendar shows an ASCII calendar with your entry days highlighted at a glance.

Quick capture

journal "thought" appends a timestamped note instantly — no editor, no friction.

Multiple journals

Keep work, personal, and family journals completely separate, each with its own git repo.

Shared journals

Collaborative journaling via a private git remote — auto-syncs, detects conflicts, resolves gracefully.

Interactive search

Full-text --search with context and highlighting. Fuzzy --list when fzf is installed.

Usage

# — 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

Multiple journals

Keep work, personal, and family journals in completely separate directories — each with its own git history and remote. Switch instantly.

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

Installation

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 --list.