Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (caplog) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
caplog
Capture what you did. Remember where you left off. Show up to standup ready.
caplog is a personal developer journaling CLI that passively captures your workday from git commits and manual notes, then uses Claude Code to generate end-of-day summaries and standup updates. All data stays local — SQLite database plus Markdown files.
Install
npm install -g caplogRequirements
| Dependency | Required for | Install |
|---|---|---|
| Node.js 20+ | Everything | nodejs.org |
| git | caplog sync |
git-scm.com |
| Claude Code | caplog eod, caplog standup (default) |
npm install -g @anthropic-ai/claude-code |
| GitHub Copilot CLI | caplog eod, caplog standup (alternative) |
gh extension install github/gh-copilot |
At least one LLM CLI must be installed and authenticated. All capture commands (init, repo, sync, note, log) work without either. Set your provider with caplog config set provider <claude|copilot>.
Supported platforms: Windows, macOS, Linux.
From source
git clone https://github.com/srimel/caplog.git && cd caplog
npm install && npm run build
npm install -g .Quick Start
# 1. Initialize caplog (creates ~/.caplog/)
caplog init
# 2. Register the repos you work in
caplog repo add /path/to/my-project
caplog repo add /path/to/another-repo
# 3. Throughout the day: add notes (commits sync automatically)
caplog note "Paired with Alice on the auth refactor"
caplog note "Debugged flaky CI — was a race condition in test setup"
# 4. End of day: generate a summary
caplog eod
# 5. Next morning: generate your standup
caplog standupCommands
caplog init
Create the ~/.caplog/ directory and initialize the database.
caplog repo add <path>
Register a git repository for commit tracking. The path must exist and contain a .git directory.
caplog repo list
Show all registered repositories.
caplog sync
Pull new commits from all registered repos. Only fetches commits since the last sync, filtered to the current user's email (from git config user.email or the author config key). Commits are assigned to sessions by their author date, so late-night commits land on the correct day. Also writes/updates the daily Markdown log.
Note:
eod,standup, andlogauto-sync before running, so manual sync is only needed if you want to check raw entries mid-day.
caplog note "<text>"
Add a timestamped note to today's session. Auto-creates the session if it doesn't exist yet. Good for meetings, debugging sessions, decisions — anything that isn't a commit.
caplog log [date]
View all captured entries for a given day. Defaults to today. Accepts YYYY-MM-DD format. Also displays cached standup and EOD summaries when available.
caplog log # today
caplog log 2026-03-25 # specific datecaplog eod
Generate an end-of-day summary using Claude. Produces two sections:
- Summary — What you accomplished (2-5 bullet points)
- Where I Left Off — Context snapshot for tomorrow (last thing worked on, next step, blockers)
The summary is cached in the database and written to ~/.caplog/logs/YYYY-MM-DD.md. If entries haven't changed since the last generation, the cached summary is printed instead of calling the LLM. Use --force to regenerate.
caplog standup
Generate a standup update from yesterday's session. Produces a paste-ready update:
- Yesterday — What was completed
- Today — Planned work (inferred from context)
- Blockers — Any blockers, or "None"
If you ran caplog eod the day before, that summary is included as additional context. Like eod, standup results are cached — use --force to regenerate.
caplog config
View and manage configuration.
caplog config list # show all settings (with defaults)
caplog config get provider # get a specific key
caplog config set provider copilot # switch LLM provider
caplog config set model gpt-4.1 # override the default model
caplog config set author me@example.com # override email for commit filtering| Key | Description | Default |
|---|---|---|
provider |
LLM CLI to use (claude or copilot) |
claude |
model |
Model name passed to the provider CLI | Provider default (sonnet for Claude, gpt-4.1 for Copilot) |
author |
Email used to filter git commits during sync | git config user.email |
Environment Variables
| Variable | Required | Description |
|---|---|---|
CAPLOG_HOME |
No | Override data directory (default: ~/.caplog) |
Data Location
~/.caplog/
caplog.db # SQLite database
logs/
2026-03-25.md # Daily Markdown logs
2026-03-26.mdDaily Markdown files are the primary artifact — readable without caplog installed, searchable with grep, committable to a private repo.
Daily Workflow
During the day:
caplog note "context you want to remember"End of day:
caplog eod # auto-syncs, then generates summaryNext morning:
caplog standup # paste-ready standup updateDevelopment
npm run dev # watch mode (rebuilds on changes)
npm test # run tests
npm run test:watch # tests in watch mode
npm run lint # type-check (tsc --noEmit)
npm run build # production bundleSee docs/how-it-works.md for a detailed technical walkthrough and docs/contributing.md for architecture and development conventions.
License
MIT