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 all

The 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 doctor

prism 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 upgrade

The 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 each

prism 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:milestone

See CONTRIBUTING.