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.

Terminal

Install

cargo install ntropy
brew install jakobwesthoff/tap/ntropy
or use or download a binary macOS Linux

or build it from source

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.