Prism

Prism gives coding agents semantic change intelligence before they edit. It combines repository text search with a typed code graph and returns task-shaped answers: the complete method family, resolved callers, edit-ready source, and every known site a diff missed.

It runs locally as one binary, embeds Grove, and exposes both a CLI and a focused MCP interface.

Start in one command

brew install provasign/shale/prism
cd your-repo
prism init .

You can also use the installer:

curl -fsSL https://raw.githubusercontent.com/provasign/prism/main/install.sh | bash

# Pin the current release
VERSION=v0.80.2 curl -fsSL https://raw.githubusercontent.com/provasign/prism/main/install.sh | bash

prism init creates the local configuration, registers MCP for detected clients, and writes concise agent instructions. Indexing happens automatically on first use and updates incrementally.

One route for each question

Question Route
Where is this name or text? prism search
What source does this task need? prism query
What must change with this method? prism change-impact
What are the exact rename edits? prism rename-plan
Which types lack a new interface member? prism missing-implementations
Did this diff miss a required site? prism verify
Did this diff cross a forbidden boundary? prism arch
prism search QueryData --scope text --exhaustive --files-only
prism change-impact 'QueryDataHandler.QueryData' --format text
prism verify --base main --format text

Exhaustive search returns a compact inventory of exact files and enclosing symbols. change-impact returns the declaration, override and implementation family, sibling contracts, and resolved callers. verify turns that semantic set into a diff completeness gate.

Current measured result

In the latest nine-task paired Sonnet release-gate sample, Prism improved mean recall from 0.683 to 0.998 and mean precision from 0.770 to 0.955. Total estimated cost fell from $3.23 to $1.28, or 0.40× the native-tool total.

Aggregate across nine tasks Native tools Prism
Mean recall 0.683 0.998
Mean precision 0.770 0.955
Total estimated cost $3.23 $1.28

Each cell is one fresh run. Repeated trials are reported separately. Three paired Jackson JsonNode.get trials moved recall from 0.625 to 1.000 while reducing mean turns from 30.0 to 8.3 and mean cost from $0.404 to $0.205.

The hardest current case is Grafana’s QueryData interface, declared in an external Go SDK and implemented implicitly by many unrelated local types. The audited oracle contains 70 sites. One deterministic Prism operation returns the full local family, and three fresh agent trials each reached 1.0 recall.

See the full table, methods, raw evidence, and limitations.

Designed for reliable use

Language support

Prism indexes Go, TypeScript/TSX, JavaScript/JSX, Python, Java, Rust, C/C++, C#, PHP, Swift, Kotlin, Objective-C, COBOL, and JCL (via the embedded Grove engine). Semantic depth depends on language support and the native toolchain available in the repository; COBOL and JCL are structural/heuristic only, with no published accuracy oracle yet. grove doctor . reports the full per-language resolution tier and limitations breakdown.

Learn more