Skip to content

Install

Every channel installs the same mapdiff command.

macOS and Linux.

Terminal window
brew install avgvi/tap/mapdiff

Check it:

Terminal window
mapdiff --version

You need Rust (1.88 or later) and Node (22 or later).

Terminal window
git clone https://github.com/avgvi/mapdiff && cd mapdiff
cd ui && npm ci && npm run build && cd ..
cargo install --path crates/mapdiff-cli

The second line builds the page. It has to come before the third, because the page is put inside the mapdiff binary: once installed, the binary needs nothing else and runs from any folder.

Out of the box mapdiff finds what uses what by name. To also find methods called on a value (client.send()), install the indexer for your language. mapdiff uses whichever it finds.

Language Indexer Install
Rust rust-analyzer rustup component add rust-analyzer
TypeScript, JavaScript scip-typescript npm install -g @sourcegraph/scip-typescript
Python scip-python npm install -g @sourcegraph/scip-python

Then start mapdiff with mapdiff --index, or press Index above the map. See languages and references.

Remove it the way you installed it: brew uninstall mapdiff, cargo uninstall mapdiff, npm uninstall -g mapdiff-cli or uv tool uninstall mapdiff.

Before that, mapdiff clean removes everything mapdiff has written: its cache folder (~/Library/Caches/mapdiff on macOS, ~/.cache/mapdiff on Linux), and the review marks and fetched pull requests in each repository’s .git.

Next: the quick start.