ntropy
Plain Markdown notes, tagged, queryable, and materialized into directories you can browse. No database, no app, no lock-in, and everything you write stays legible to you, your shell, and any agent you point at it.
No database, just Markdown
No index, no cache, no hidden state. Your files are the single source of truth: greppable, committable, and rebuildable at will.
A real query language
Filter by tag, frontmatter field, or full-text regex with and, or, and not, then a fuzzy picker when several notes match.
Views that sync themselves
Turn any frontmatter field into a real directory of symlinks you can cd into, rebuilt after every change you make.
Install
First commands
ntropy init ~/notes ntropy new My first note ntropy today ntropy search tag:work and not status:done ntropy view add by-status --field status
The tour takes it from here. Getting started
Why I built this
I live on the command line and in Neovim, and every note app I tried wanted me back inside its own, usually graphical, UI to make sense of files it nominally stored as plain text. I wanted the inverse: notes that are just Markdown files, a CLI to manage them, and nothing stateful in between. ntropy is the heavily opinionated result. Notes live flat in one vault, a note's identity is a stable ULID rather than its title, and any hierarchy you browse is a derived projection of the frontmatter instead of the canonical storage. Switching vaults is cheap, one for work, one for private, or a per-project vault pinned by a .ntropy-vault file in a repo, so documenting a project is the same motion as any other note. It scratched my itch; maybe it scratches yours.