trie is a self-hosted context infrastructure tool for coding agents, distributed as a command-line utility that installs via `uv tool install` from GitHub. It creates and maintains a meaning + intent index as plain Markdown files inside the user's git repository, under `triefacts/`. The meaning side records what each symbol does, regenerated when source changes; the intent side records why a symbol is that way, captured as notes at edit time. Both are committed alongside code and enforced by an offline commit gate. trie integrates with coding agents by overriding their `grep` and `read` tools and adding graph tools. `trie read` returns a symbol's prose plus caller/callee one-liners; `--history` appends the intent trail. `trie trace` shows call paths between symbols. This reduces dozens of speculative file reads to a few round-trips of prose. The commit gate verifies that prose matches source and that every changed symbol has an intent note, blocking dishonest commits and generating a per-commit digest in `triefacts/triediffs/`. Because everything is plain Markdown in git, context is versioned, reviewed, merged, and gated like code. It works offline for gates, requires no hosted service, and supports Python, TypeScript, JavaScript, Go, Rust, C, and Lua. The project is pre-alpha and built with itself: every commit in its repository passes the gate it ships.
Solves
Coding agents start every session from zero, re-deriving codebases by grep and guesswork, and record nothing for future sessions. trie fixes this by maintaining a versioned meaning and intent index in the repo, kept fresh by sync and kept honest by a commit gate, so agents can answer what and why questions in a few tool calls.