Who it is forAn engineer about to modify a function or type who needs to know which callers and dependents may break.
The problemManual searches miss indirect dependents, so a change can break code several hops away.
The outcomeA bounded list of affected nodes, a path between two symbols, and an explanation of the symbol, all tied to graph evidence.
What you need first
- A terminal on macOS, Linux, or Windows
- A local project folder or Git repository to analyze
- Rust 1.97.1 or newer only if you build from source
Steps
- Install the CLI and run
cd your-projectfollowed bycompass init. compass explain <symbol name>(inferred, check the README)compass affected <symbol name> --depth 3(inferred, check the README)compass path <caller symbol> <symbol name>(inferred, check the README)compass export html --impact-graph "$symbol_id"to view the impact neighborhood visually, where symbol_id is the id of your symbol. (inferred, check the README)
Prompt for your agent
In the repository at <project path>, use the crabbuild/compass CLI to run `compass affected <symbol name> --depth 3` and `compass path <caller symbol> <symbol name>`. Expected output: the list of affected nodes and the directed path between the two symbols. Verify that each reported node includes a source location before you treat it as a real dependent.
Caveat. Compass reports evidence limits and ambiguous matches, so treat the affected list as a guide to review rather than a complete proof of impact.
Use this in your AI agent
Ask your agent
Using the Deduped MCP, get the setup steps for crabbuild/compass and "Check what a planned change could affect"
Add Deduped to Claude Code once
claude mcp add --transport http deduped https://dedupedai.com/mcp
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer