Prism
Your agent's second pair of eyes. Know before you ship.
Local software intelligence that catches what the agent missed. Prism gives your coding agent the right files before it edits, then flags the code it skipped and the code no test covers. Free, MIT, and it runs on your machine: no account, and your code never leaves it.
Website: prismhq.in · Docs: prismhq.in/docs · Contact: [email protected]
Get started
npm install -g @prismapp/cli && prism install all
Run the second command inside your repository. prism install all connects
every agent it finds. Quit the agent and open it again. The first use builds
the index under ~/.prism/. One agent only: pass its name to prism install.
The install records what it wrote in ~/.prism/install.json, and
prism uninstall removes exactly that. A new version is
npm install -g @prismapp/cli then prism upgrade. Memories, receipts, and
habits stay.
Wiring another MCP host by hand? Use this server entry:
{ "mcpServers": { "prism": { "command": "npx", "args": ["-y", "@prismapp/mcp-server"], "env": { "PRISM_EXTRA_TOOLS": "receipt" } } } }
Then ask your agent in plain language, for example "what breaks if I change
src/index.ts?" or "review my changes". You never type tool names.
What it does
- Prepare, before the agent edits. The files and tests that matter for the task, and the helpers to reuse instead of rewriting.
- Match the code, during the edit. Prism points at a file from your repo to copy, so the new code looks like the rest.
- Lens review, after. Dev, Architect and QA lenses flag the callers the
change left behind and the code no test covers. Add your own with
prism lens. - The receipt, when the agent stops. Prism runs the checks the change
reaches and gives one verdict:
SHIP,NOT PROVEN(with the cheapest check to prove it) orNO-SHIP.
Nine default MCP tools; more are opt-in through extraTools in
~/.prism/config.json. Full list: MCP tools.
| You say | The agent calls |
|---|---|
| "What is this repo?" | repository_overview |
| "I want to change X" | prepare_change |
| "What breaks if I edit this file?" | blast_radius, test_impact |
| "Where is this symbol, who uses it?" | graph |
| "Review my changes" | guard_session (review: true) |
| "Start my day" (a saved routine) | habits |
| "Did I break anything?" | the stop receipt, run by the hook |
CLI
Every command answers from the same local index. Highlights:
| Command | What it answers |
|---|---|
prism prepare <task> | The files to open and the helpers to reuse |
prism review [paths] --lens qa | A lens review of a change |
prism blast <target> | What depends on a file or symbol |
prism test-impact <target> | Which tests reach a file |
prism receipts | The last stop receipts |
prism lens, prism habit | Your review lenses and saved routines |
prism doctor | What is wired, and whether it works |
Full list: CLI reference.
Privacy
Analysis makes no network requests; a trap test suite fails the build if
one appears. The only request Prism makes is a once-a-day update check against
the npm registry, which never relaunches anything and is off with
PRISM_SKIP_SELF_UPDATE=1. → PRIVACY.md · SECURITY.md
Build from source
git clone https://github.com/Shailesh200/prism
cd prism
nvm use # the version in .nvmrc
bun install
bun run build
bun run verify:milestone
See CONTRIBUTING.md and the changelog.