Docs / Get started
Install
Install the CLI, let `prism install` wire your agent, and check it with `prism doctor`.
Prism 2.0 is one CLI and one MCP server (prism-mcp) that ship together. You do
not need to clone the Prism repo. Prefer a short path? Use the
install wizard.
1. Prerequisites
Node.js — check with node -v.
A project folder. Git is recommended (the stop receipt and test impact read it) but not required.
2. Install and wire your agent
npm install -g @prismapp/cli
prism install allThe first command puts the prism command and the MCP server on this machine.
Nothing is connected yet. prism install all writes each agent’s config so the
agent starts that local server, and records what it wrote in
~/.prism/install.json. prism uninstall removes exactly that and nothing
else. Codex is skipped when ~/.codex is not there. One agent only: prism install claude, cursor, codex, or opencode. Add --project to write
into this repository instead of your home.
Quit the agent and open it again. The first time you use Prism in a
repository, the index is built under ~/.prism/. The server it starts is the
installed binary, never a download on each launch.
Wiring a host by hand? Use npx -y @prismapp/mcp-server as the server
command, with no version so it stays on the latest release. Set
PRISM_EXTRA_TOOLS to receipt on that same entry. Each agent’s
install page has the snippet.
3. Confirm it works
prism doctorprism doctor checks each host it wired, the binary the hooks will run, and
the index for the current repository. In your agent, ask "what breaks if I
change this file?" — it answers from Prism's graph.
Something off? Troubleshooting.
Upgrade
npm install -g @prismapp/cli
prism upgradeThe first command downloads the new CLI and server. The second rewrites the
agent config from ~/.prism/install.json and stops the daemon. The daemon
starts again the next time an agent uses Prism. prism upgrade by itself does
not download anything.
Memories, receipts, and habits stay in ~/.prism. prism uninstall removes
the agent config and leaves them. prism uninstall --purge deletes that
folder.
Publishing a version does not update machines that already have Prism. Once a
day the running server asks npm which version is latest and, when a newer one
exists, prints update available: run prism upgrade. It does not install that
version.
Prism does not rewrite ~/.claude on its own. If a release changes those
hooks, run prism install claude again. A project file at
.claude/settings.json can update on the next session when Prism wrote it and
nobody edited it by hand. Cursor and Codex have no Prism hooks to refresh.
opencode keeps the plugin file it already has.
What Prism writes
Nothing goes into your checkout. State lives in the machine-wide library:
~/.prism/
install.json what prism install wrote, for prism uninstall
config.json optional: extraTools[] (opt-in MCP tools)
events.jsonl what hooks, the daemon and the snapshot writer did
update.json the daily update check (never relaunches)
workspaces/<key>/
cache/ the index
hooks/snapshot.json what hooks read (under their latency budget)
receipts/ receipts for this repository
memory.json notes saved with prism remember
skills/ habits, one folder eachprism data prune lists empty workspace folders, caches of deleted checkouts,
and untracked worktrees; prism data prune --yes removes them.
Next
Quickstart · Prepare a change · Stop receipt · Usage
Contributing
git clone https://github.com/Shailesh200/prism
cd prism
bun install
bun run verify:milestoneSee CONTRIBUTING.