Skip to content

Quick Start

Install notes first, or build locally and substitute ./dist/notes for notes in the examples below.

Terminal window
notes root
notes root --projects

The vault defaults to ~/Documents/notes. Set NOTES to use another Git-backed vault.

Run list commands from a project directory. notes prefers owner/repo from a Git remote, then falls back to local/<project> using the Git root or current directory name.

Terminal window
notes list
notes list --format json
notes list --all
notes list --tag handoff
Terminal window
notes read --path ~/Documents/notes/projects/owner/repo/topic.md
notes write --path ~/Documents/notes/projects/owner/repo/topic.md --stdin < topic.md

Writes validate and refresh frontmatter, create parent directories, commit the changed note, and best-effort push the vault when it has a remote. Use notes read --json and pass its hash back with --expected-hash when an overwrite must fail if another process changed the note.

Handoffs are normal notes tagged handoff.

Terminal window
notes handoffs
notes handoffs --all
notes handoff

Start the stdio server from an MCP client:

Terminal window
notes mcp

OpenCode exposes the tools with the server key prefix, for example notes_note_read and notes_note_write when the server is configured as notes.