llmcc brings multi-depth architecture graphs for code understanding and generation.
Our goal is to build a multi-depth, tree-like context / architecture view of a codebase, so a coding agent can walk up (zoom out) for structure and intent, then walk down (zoom in) to the exact crates/modules/files/symbols it needs—getting a highly comprehensive understanding of any codebase (any programming language).
| Language | Status | Notes |
|---|---|---|
| Rust | ✅ Supported | Full support for crates, modules, and symbols |
| TypeScript | ✅ Supported | Includes TSX, supports ES modules |
| C++ | 🔜 Planned | Coming soon |
| Python | 🔜 Planned | Coming soon |
People (and coding agents) need to understand systems from different dimensions. Sometimes you need the high-level architecture to see boundaries, ownership, and how subsystems connect; other times you need the low-level implementation details to make a safe, precise change. llmcc provides multiple depths so you can choose the right “distance” from the code for the task.
| Depth | Perspective | Best for |
|---|---|---|
| 0 | Project | multi-workspace / repo-to-repo relationships |
| 1 | Library/Crate | ownership boundaries, public API flow |
| 2 | Module | subsystem structure, refactor planning |
| 3 | File + symbol | implementation details, edit planning |
This repo includes many examples under sample. Download and open them in browser for the best viewing experience.
<img src="https://github.com/allenanswerzq/llmcc/raw/v0.2.65/sample/rust/codex-pagerank/depth_1_crate.svg" alt="Codex crate graph (depth 1)" style="max-width: 100%; height: 100%;" />
<img src="https://github.com/allenanswerzq/llmcc/raw/v0.2.65/sample/rust/codex-pagerank/depth_2_module.svg" alt="Codex module graph (depth 2)" style="max-width: 70%; height: auto;" />
<img src="https://github.com/allenanswerzq/llmcc/raw/v0.2.65/sample/rust/codex-pagerank/depth_3_file.svg" alt="Codex file and symbol graph (depth 3)" style="max-width: 100%; height: auto;" />
Here's a small portion of the graph at depth 3, showing the core abstraction layer for prompt handling in Codex. Developers and AI agents can quickly grasp the architecture by examining this view.
<img src="https://github.com/allenanswerzq/llmcc/raw/v0.2.65/doc/codex.jpg" alt="codex core logic" style="max-width: 100%; height: auto;" />
llmcc is designed to be very fast, and we will try to make it faster.
The repo contains benchmark for many famous project output here: sample/benchmark_results_16.md.
Excerpt (PageRank timing, depth=3, top-200):
| Project | Files | LoC | Total |
|---|---|---|---|
| databend | 3130 | 627K | 2.53s |
| ruff | 1661 | 418K | 1.73s |
| codex | 617 | 224K | 0.46s |
The easiest way to use llmcc is via npm. No build required:
# Run directly without installing
npx llmcc-cli --help
# Or install globally
npm install -g llmcc-cli
llmcc --help
cargo install llmcc
git clone https://github.com/allenanswerzq/llmcc.git
cd llmcc
cargo build --release
./target/release/llmcc --help
Generate a crate-level graph for Codex (DOT to stdout):
llmcc \
-d sample/repos/codex/codex-rs \
--graph \
--depth 1
Generate a PageRank-filtered file+symbol graph (write to a file):
llmcc \
-d sample/repos/codex/codex-rs \
--graph \
--depth 3 \
--pagerank-top-k 200 \
-o /tmp/codex_depth3_pagerank.dot
Render DOT to SVG (requires Graphviz):
dot -Tsvg /tmp/codex_depth3_pagerank.dot -o /tmp/codex_depth3_pagerank.svg
For generating sample graphs:
just gen rust
$ claude mcp add llmcc \
-- python -m otcore.mcp_server <graph>