A tiny zero-dependency CLI for saving daily work logs into YYYY-MM-DD.md.
It is built for developers, agents, researchers, and anyone who ends the day thinking:
I did a lot today. I should not have to reconstruct it tomorrow.
Most work logs fail because they are too heavy.
Markdown Session Saver keeps the ritual small:
- one command
- one daily Markdown file
- one repeatable structure
- no database
- no account
- no external dependency
It works well with Obsidian, Git repositories, local knowledge bases, and AI coding sessions.
Clone the repository:
git clone https://github.com/kuritaaki1976/markdown-session-saver.git
cd markdown-session-saver
npm testRun it directly:
node bin/markdown-session-saver.mjs save "Shipped the first CLI version."Or link it locally:
npm link
mss save "Shipped the first CLI version."mss save \
--title "End of day" \
--summary "Created the first public version" \
--decision "Keep the tool dependency-free" \
--file "bin/markdown-session-saver.mjs" \
--next "Add release notes" \
"Markdown Session Saver now writes daily Markdown logs."This appends an entry to:
sessions/YYYY-MM-DD.md
If the current workspace contains this Codex daily-log directory:
Codex/codex/40_operations/daily/
the default output becomes:
Codex/codex/40_operations/daily/codex-sessions/YYYY-MM-DD.md
Use --stdin when the log body is long:
pbpaste | mss save --stdin --title "Chat summary"You can also pipe from another command:
git log --oneline -5 | mss save --stdin --title "Recent commits"mss save \
--dir ./work-logs \
--date 2026-06-06 \
--title "Manual date entry" \
"Saved this entry to a custom folder."Each entry uses the same Markdown sections:
## End of day
- 記録時刻: 2026-06-06T12:00:00.000Z
### 要約
- Created the first public version
### 本文
Markdown Session Saver now writes daily Markdown logs.
### 決定事項
- Keep the tool dependency-free
### 作成・変更したファイル
- bin/markdown-session-saver.mjs
### 次にやること
- Add release notes--dir <path> Output directory
--date <date> Date in YYYY-MM-DD format
--title <text> Entry heading
--summary <text> Short summary
--decision <text> Decision item. Can be repeated
--file <path> Created or changed file. Can be repeated
--next <text> Next action. Can be repeated
--stdin Read body from standard input
--dry-run Print the entry without writing a file
--help Show help
- daily developer logs
- AI coding session handoffs
- Obsidian daily notes
- lightweight project journals
- research notes
- local-first team rituals
- "what did I do today?" recovery
- Small by default: no server, no database, no setup wizard.
- Plain Markdown: your notes stay readable forever.
- Append-only: session logs are accumulated, not overwritten.
- Scriptable: works with shell pipes and other local tools.
- Safe to fork: the code is intentionally compact.
npm testmss initfor creating a default config- configurable section labels
- optional frontmatter
- weekly rollups
- GitHub Action example
- Homebrew install recipe
If this helps you keep work logs without turning note-taking into another project, please star the repository:
github.com/kuritaaki1976/markdown-session-saver
Stars help more people discover tiny local-first tools like this.
MIT