Code Graph Navigator

Stop grepping blind. Query your code graph.

Pre-computed symbols, calls, imports and inheritance — queried in microseconds.
Single binary. No Python, no Docker, no config.

Quick Install
Claude Code ① /plugin marketplace add jrollin/cartog
Claude Code ② /plugin install cartog@cartog-plugins
CLI cargo install cartog
More install options ↓
MIT License · 100% local · 8 languages · Single binary
Cartog demo
Cartog demo — index, search, refs, impact
⚡ 8μs
query latency
🎯 97%
symbol recall
🌐 8
languages supported
🔒 100%
local — your code stays private

One command, then get out of the way.

1
Index
cartog index .

Walks your repo, extracts symbols, calls, imports, inheritance. Stores everything in a local SQLite file.

2
Watch
cartog watch

Keeps the graph fresh as you edit. Debounced, incremental — stays out of your way.

3
Query
cartog refs AuthService

Precise answers in microseconds. References, callers, impact analysis, semantic search.

18 commands for search, navigation, and analysis. See full documentation →

Navigate your codebase, not file contents.

Single binary, zero config, zero dependencies.

Zero dependencies

Single binary + SQLite file. No Docker, no language servers required, no graph databases. cargo install and you're done.

🔄 Live index

cartog watch auto re-indexes on file changes. Debounced, incremental, near-instant. Always query fresh data.

🔍 Dual search

Keyword search (sub-ms, symbol names) + semantic search (natural language). Local embeddings with optional GPU acceleration via Ollama.

🎯 Impact analysis

cartog impact --depth 3 traces callers-of-callers instantly. Know the blast radius before you change anything.

🔬 LSP precision, built in

Auto-detects language servers on PATH. Boosts edge resolution from ~25% to ~42-81%. Works without them, better with them.

🔒 100% local

tree-sitter parsing, SQLite storage, local embeddings. No API keys, no telemetry. Works in air-gapped environments.

8 languages supported — more coming

Python TypeScript JavaScript Rust Go Ruby Java Markdown

Code is a graph. Query it like one.

Pre-compute the structure once, then answer any question in microseconds.

01

Grep can't trace what breaks

Transitive impact analysis is impossible with grep. cartog impact --depth 3 traces callers-of-callers instantly. Know the blast radius before you change anything.

02

Structured answers, not file dumps

One refs call returns every caller, importer, and type reference — with file paths and line numbers. No parsing output, no false positives.

03

Your code stays on your machine

tree-sitter parsing, SQLite storage, local embeddings. No API keys, no telemetry, no cloud. Works in air-gapped environments.

grep / cat / find Language server (LSP) Cartog
Transitive analysis impossible limited impact --depth 3
Query latency multi-step seconds 8-450 μs
Setup none per-language server single binary
Startup time instant seconds to minutes instant
Language coverage any 1 per server 8 languages
Semantic search no no local ONNX / Ollama
Privacy local local 100% local

Measured across 13 scenarios, 5 languages. Benchmark suite →

Why not...

?

grep / ripgrep

Great for string literals and config values. But grep can't trace call chains, can't do transitive impact analysis, and floods your context with raw text. Cartog returns structured, ranked, deduplicated results — one refs call replaces 6+ discovery steps.

?

A language server

LSPs give perfect precision but require per-language setup, take seconds to start, and only cover one language at a time. Cartog covers 8 languages with one binary and answers in microseconds. When you need LSP precision, cartog uses it as an optional layer.

?

Python-based graph tools

They solve a similar problem but require a Python runtime, pip dependencies, and virtual environments. Cartog is a single static binary — download and run. It also queries 10-100x faster thanks to compiled Rust + SQLite.

Supercharge your AI coding agent

83% fewer tokens per query, 97% recall. Your agent queries the graph instead of grepping blind.

01

MCP Server

cartog serve exposes 12 tools over stdio. Plug into Claude Code, Cursor, Windsurf, Zed, or any MCP-compatible agent.

02

Agent Skill

The bundled skill teaches your agent when and how to use Cartog — search routing, refactoring workflows, fallback heuristics.

03

Token efficient

One refs call replaces 6+ grep/cat cycles. Pre-computed graph means structured results — not raw file dumps that burn context window.

Integration Setup What it does
Claude Code plugin /plugin marketplace add jrollin/cartog
/plugin install cartog@cartog-plugins
Skill + MCP + auto-setup, all-in-one
MCP server cartog serve --watch --rag 12 tools over stdio, live index + semantic search
Agent skill npx skills add jrollin/cartog Behavioral rules for any compatible agent
CLI (any agent with bash) cargo install cartog Direct commands — works with any tool-using LLM

See MCP Server docs and Agent Skill docs for per-client setup (Claude Desktop, Cursor, Windsurf, Zed, OpenCode).

Get started in seconds

Claude Code (recommended)

Run each command separately:

/plugin marketplace add jrollin/cartog
/plugin install cartog@cartog-plugins

Installs the agent skill, setup scripts, and MCP server config.

Agent Skill

npx skills add jrollin/cartog

Works with any agent runtime that supports the skills protocol.

From crates.io

cargo install cartog                              # default (includes LSP)
cargo install cartog --no-default-features        # minimal, no LSP
cargo install cartog --features ollama-embedding  # + Ollama support

LSP auto-detects language servers on PATH and is enabled by default. Disable at runtime with --no-lsp, or omit at build time with --no-default-features. The ollama-embedding feature enables Ollama as an embedding provider.

Pre-built binaries

# macOS (Apple Silicon)
curl -L https://github.com/jrollin/cartog/releases/latest/download/cartog-aarch64-apple-darwin.tar.gz | tar xz
sudo mv cartog /usr/local/bin/

# Linux (x86_64)
curl -L https://github.com/jrollin/cartog/releases/latest/download/cartog-x86_64-unknown-linux-gnu.tar.gz | tar xz
sudo mv cartog /usr/local/bin/

All platforms on GitHub Releases.

Start mapping your codebase

Open source, free forever. One command to install.

cargo install cartog

Read the documentation →