llmcc brings multi-depth architecture graphs for code understanding and generation.
Project description
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 |
CLI: generate graphs
Build the binary:
cargo build --release
Generate a crate-level graph for Codex (DOT to stdout):
./target/release/llmcc \
-d sample/repos/codex/codex-rs \
--graph \
--depth 1
Generate a PageRank-filtered file+symbol graph (write to a file):
./target/release/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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llmcc-0.2.62.tar.gz.
File metadata
- Download URL: llmcc-0.2.62.tar.gz
- Upload date:
- Size: 192.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
365734318ff4ce33fbae74c044147222d9a0faa985698200091437a24ec747d3
|
|
| MD5 |
3f3833614b898f69b3982badce834ac1
|
|
| BLAKE2b-256 |
932875886d20797a0d7daf711eb140ce4223ec674b4eeabeae8bdf4f52cfc3ed
|
File details
Details for the file llmcc-0.2.62-cp38-abi3-win_amd64.whl.
File metadata
- Download URL: llmcc-0.2.62-cp38-abi3-win_amd64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.8+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd79a40f4750b37be8faec1f2114e7d817601fad29157941b57933eddf816f2d
|
|
| MD5 |
47c5cb01746100254e3f31de91270d53
|
|
| BLAKE2b-256 |
84b8c35ca6356576500c22a0e6f0514e48d2305a92f54484b1d3edd667473e0c
|
File details
Details for the file llmcc-0.2.62-cp38-abi3-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: llmcc-0.2.62-cp38-abi3-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.8+, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02dfe2ef4b577a71350a56fec544262a35a735102bcb7bf8a70e6653f834e813
|
|
| MD5 |
62f3f0de70385e6289c4a15a29ee32c0
|
|
| BLAKE2b-256 |
254657fb8e9aae56e34f00aaba8097d698a13be9d38cc48cc5ad13d654a830e2
|
File details
Details for the file llmcc-0.2.62-cp38-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: llmcc-0.2.62-cp38-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.8+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e385039a1dce8d023537ab655308485f05801c188b38388fec8aa9f836b1fc5
|
|
| MD5 |
cfffcaef1e110257333e9e8234cf35dd
|
|
| BLAKE2b-256 |
430db9d49434ab52b1dcd18b471e2e898b85f3007a9da4b0e7da11d133f0eb4a
|