llmcc
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).
Supported Languages
| 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 |
Why multi-depth graphs?
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 |
Walkthrough: Codex (midterm size multi-crate rust project)
This repo includes many examples under sample. Download and open them in browser for the best viewing experience.
Depth 1: crate graph
Depth 2: module graph
Depth 3: file + symbol graph
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.
Performance
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 |
Installation
npm / npx (Recommended)
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 (Rust)
cargo install llmcc
From Source
git clone https://github.com/allenanswerzq/llmcc.git
cd llmcc
cargo build --release
./target/release/llmcc --help
CLI: generate graphs
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
Metadata
Release files for llmcc 0.2.65
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llmcc-0.2.65.tar.gz | 192.7 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llmcc-0.2.65-cp38-abi3-win_amd64.whl | CPython 3.8 | abi3 | Windows x86-64 | Details |
| llmcc-0.2.65-cp38-abi3-manylinux_2_34_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.34+ x86-64 | Details |
| llmcc-0.2.65-cp38-abi3-macosx_11_0_arm64.whl | CPython 3.8 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 4.0 MB
Release files / llmcc-0.2.65.tar.gz
| Download URL | llmcc-0.2.65.tar.gz |
|---|---|
| Size | 192.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
453aed43fc96c5715ea951781d2cd99a94e72cca4fb689e3c7eb2168671e9fcc
|
|
BLAKE2b-256 checksum How to use checksums |
b99e438028a532056bf246a2947a002d9059334c8e486ef6d202c8df820bf487
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / llmcc-0.2.65-cp38-abi3-win_amd64.whl
| Download URL | llmcc-0.2.65-cp38-abi3-win_amd64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.8 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
b9c86d576e169f295a40a60cbfcbc12ed67a5edd40bf2683b92f4d6c52ca1b1c
|
|
BLAKE2b-256 checksum How to use checksums |
7b814a0385361bde0bd050a3bafe09d0f364fb4bcde6bb1a1c64eec26961a572
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / llmcc-0.2.65-cp38-abi3-manylinux_2_34_x86_64.whl
| Download URL | llmcc-0.2.65-cp38-abi3-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.8 Linux glibc 2.34+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
9dbe4728ab0da4716735692424b167d1311509f6fccb46de7379b27bc8aa5c11
|
|
BLAKE2b-256 checksum How to use checksums |
492656db70098c0e2e5c5991089c328ff1e4f5f7f5de8f2aa49144b2aa6ee803
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / llmcc-0.2.65-cp38-abi3-macosx_11_0_arm64.whl
| Download URL | llmcc-0.2.65-cp38-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.8 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6268940102b95969d039b1ddd79b87c610f842b1120e3aea22b017fff275dea7
|
|
BLAKE2b-256 checksum How to use checksums |
95594bab310d822163c60f1b0fbb9f998c188136fd04dbc043ab8c74b32df2c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|