A command-line tool for a plain-text note archive
I've been keeping a plain-text note archive for years — markdown files in date-stamped folders, synced via Dropbox, nothing fancy. It works. But as I started leaning more into automated workflows and AI assistants, I needed a proper interface to the archive — something scriptable, pipeable, and fast.
So I built Notes CLI: a small Go tool that sits on top of the file store and gives it structure without changing the format.
Every note is still just a markdown file (2026/04/20260405_9522.md). No database, no proprietary format. The CLI handles creation, lookup, filtering, search, and append — all from the terminal or a script.
The scope is deliberately small:
- Capture — get text into a file quickly (
echo "..." | notes new) - Retrieve — find it again by ID, type, tag, or full-text search
- Integrate — pipe notes into other tools, scripts, and AI agents
This is the part that matters most to me now: integration. The CLI is how my AI coding assistant reads and writes notes, generates reports, and pulls context from the archive. It's the glue between a dumb file store and the smart tools that consume it.
Think Obsidian or Logseq, but stripped down to just the storage layer and a terminal-friendly interface. The files are yours; the CLI is optional convenience.
github.com/dreikanter/notescli
Somewhat related: