Install

Prebuilt binaries for macOS (Apple Silicon and Intel) and Linux (x86_64 and aarch64).

 curl -fsSL https://raw.githubusercontent.com/lambiengcode/reify/main/install.sh | sh

Or build from source, which needs a Rust toolchain:

 cargo install --path crates/reify-cli

Quickstart

Two minutes to the first answer. init reports what will and will not be indexed before it does anything, so you can see the shape of the job first.

in your repository
 reify init
 reify index
 reify context "add a discount tier for strategic customers" --budget 1500

Indexing is incremental after the first run; --force rebuilds. Everything lives in a single .reify/ directory, which you can delete at any time.

Nothing leaves the machine. Reify opens no network connection at any point. See Privacy for how that is enforced rather than promised.

Wire it into your agent

One command appends a short instruction block to AGENTS.md or CLAUDE.md.

 reify init --write-agent-instructions

For tools that read a different file — .cursorrules, CONVENTIONS.md, .windsurfrules, .clinerules/ — paste the same lines yourself:

agent instructions
Before changing code here, run `reify context "<what you are about to do>" --toon`.
Run `reify why <file>:<line>` before modifying unfamiliar logic.

This plain-text level is what the benchmark measured — no protocol, no server, no per-turn schema tax. Use the MCP server only if your agent prefers structured tools.

Commands

Every command takes --json for machine-readable output, and -C <path> to point at another repository.

CommandWhat it answers
reify initCreate .reify/, and report what will and will not be indexed
reify indexCompile the system model. Incremental unless --force
reify statusFreshness and coverage of the current store
reify contextThe minimum useful context for a task. The flagship command
reify whyWhy this exists: rules, concepts, documents, history and blast radius
reify impactWhat breaks if this changes
reify conflictsDocumentation that disagrees with the implementation
reify rulesMined business rules
reify reportA system-level scorecard
reify explainEverything known about a concept, in every language it appears in
reify flowThe sequence of code that carries out a business process
reify conceptsInspect and extend the concept glossary
reify preflightA compact risk header for a file about to be edited, for an editor hook
reify llmModel-assistance status and prompt inspection
reify serveServe the Model Context Protocol on stdio
reify completionsPrint a shell completion script

reify context

The command everything else exists to support. Give it a task in plain language and a token budget; it returns the smallest set of facts that answers it, ordered, each with a citation.

 reify context "block orders above the approval cap" --budget 1200 --toon

MCP server

Three tools, and that is the whole surface. An MCP server's schemas are paid for on every turn, so a large one is a tax on every message an agent sends.

ToolUse
reify_contextThe minimum context for a task, under a budget
reify_whyProvenance for one file and line
reify_impactThe blast radius of a symbol
stdio
 reify serve

Epistemic status

Every claim is tagged with how it is known. A renderer that prints an inference as bare prose is a bug here, and there is a test that says so.

TagMeans
confirmedParsed directly from source. A fact.
observedSeen in behaviour or history, repeatedly.
inferredA lead to verify against its citation — never a fact.
conflictedTwo sources disagree, and both are shown.
unknownNothing is known. Said plainly rather than guessed.

What it reads

Source in 11 languages via tree-sitter, SQL schemas and migrations, business documents, and the git history — which is often the only place a decision was ever written down. Nothing is sent anywhere to be understood.

Multilingual

No language is canonical, English included. Concept ids are opaque and every label carries a language tag, so a Vietnamese, Thai, Korean or German requirement reaches English code through the concept layer rather than an embedding model — which is why the answer arrives with a line number instead of a similarity score.

Privacy

Your source code and your business documents never leave the machine. Reify opens no network connection — not "by default", at all.

Networking crates in Cargo.lockasserted zero, in CI
Sockets in the sourceasserted zero, in CI
Subprocessesgit, reviewed document converters, and — for reify upgrade only — curl and tar; each named in a test
Telemetrynone, and no flag that turns any on

Set REIFY_OFFLINE=1 to refuse even the upgrade path.

Upgrade & uninstall

 reify upgrade --check     # is there a newer release?
 reify upgrade             # fetch and replace this binary
 reify uninstall --yes     # remove the binary, and nothing else
 reify uninit --yes        # remove this repository's .reify/ store

Both removal commands print their plan and change nothing without --yes. uninstall never touches a repository store, and uninit never touches the binary.