Codemble
Explore the code AI left behind.
Codemble reads a project on your machine and turns its real structure into a galaxy you can explore or a diagram you can follow. Study any file, see what a change reaches, and light only what you prove you understand.
Start here · See the loop · Trust boundary · Website · Docs
Codemble v0.17.0 · every module is represented before the first lesson · related systems and proven routes share a subtle colour cue · visiting charts a route; passing checks lights a system amber
[!IMPORTANT] The screen above and the packaged app are both v0.17.0. The PyPI release maps Python, JavaScript, TypeScript, Go, Java, Rust, C#, and mixed projects; it includes First Flight, the local project-brief export, proven import-cycle facts, the explorer trail, parser-owned Impact, and automatic Home selection. The pinned command and direct downloads below resolve to the same verified release.
Start here
Run v0.17.0 — recommended
Install uv once, then open Codemble whenever you need it:
| Step | Command | |
|---|---|---|
| Install uv — a clean Python app runner | brew install uv |
|
| Open this release — pick a project in the browser | uvx --from codemble==0.17.0 codemble |
No Homebrew? Use uv's official installer,
or install permanently with pipx install codemble==0.17.0 and run codemble.
Pass a folder to skip the project picker:
uvx --from codemble==0.17.0 codemble ./my-project.
Use the shorter uvx codemble when you intentionally want whatever release is
newest on PyPI.
Wheel ·
Source archive ·
SHA256SUMS ·
PyPI files ·
Release notes
Build the same v0.17.0 app from source
Use this route when you want an editable checkout:
git clone --branch v0.17.0 --depth 1 https://github.com/udhawan97/Codemble.git
cd Codemble
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
codemble
Read the full build guide for the verification commands.
What Codemble does
| Plain-English answer | |
|---|---|
| Explore first. Every module is represented on the first frame. Subtle colour joins systems inside the same import community, while proven bridges stay neutral and possible routes stay dashed. First Flight gives Home a short, repeatable orientation path. | |
| See how it fits together. Switch between a 3D galaxy, an import architecture map, and the call workflow from Home. | |
| Know what a change touches. Impact traces what depends on a structure and what it depends on, with real file locations and certainty labels. | |
| Prove what you understand. Graph-derived checks—not a narrator—are the only way to light a system amber. | |
| Keep the project local. Parsing, maps, source, Impact, checks, and progress stay on your machine. | |
| Read mixed projects. Python, JavaScript, TypeScript, Go, Java, Rust, and C# share one graph and one honesty contract. |
Codemble reads supported source. It does not run your app, package scripts, compilers, or tests.
See the learning loop
| 01 · Explore | 02 · Map |
|---|---|
| Follow a colour corridor or take First Flight; keyboard focus keeps the active system and its neighbours on the current route mesh named. | Follow real imports from Home; unreachable modules are counted, not erased. |
| 03 · Inspect | 04 · Prove |
|---|---|
| See what a structure controls and what can break it—no model needed. | Pass checks drawn from the graph; only then does the system turn amber. |
One graph, two useful views
| View | What it shows | When it helps |
|---|---|---|
| Galaxy | Modules as systems and structures as worlds | Learn the shape of the whole project |
| Map · Architecture | Modules grouped by folder and layered by proven imports from Home | See how parts fit together |
| Map · Workflow | Certain calls from the selected entrypoint, depth by depth | See what runs first |
| Star chart | Project overview, proven import cycles, progress, and a local Markdown export | Carry parser-owned facts into a handoff |
| Study | Real source, Impact, relationships, Lens notes, and optional narration | Understand one structure in context |
The Map is plain SVG, so it remains usable on a machine that cannot render the WebGL galaxy. Easy mode uses plainer labels and lower density; Expert mode shows more graph detail. Neither changes the underlying evidence or scoring.
What Codemble can prove
Codemble is built for readers who may not yet spot a confident mistake, so its limits are part of the interface:
- Nodes, routes, language concepts, and Home candidates come from parsers.
- Unproven relationships are labelled possible and drawn differently on both the galaxy and the map; colour never upgrades their certainty.
- Impact and check answers come from the graph and need no API key.
- Unsupported or broken source is counted and named instead of silently hidden.
- Charting records where you went. Only a passed check records understanding.
- Changing a file re-dims only that file's proof; the rest of your progress stays.
Read the correctness contract. A wrong node, edge, citation, Lens note, or check answer is a highest-severity bug—report it.
Local-first, with an explicit AI boundary
| Stays on your machine | Leaves only when Study opens with a configured narrator |
|---|---|
| Project discovery and parsing | A bounded Study excerpt sent to your configured narrator |
| Graph, maps, source, structural summary, Impact, Lens, and checks | A request triggered when you open Study |
Progress and narration cache in ~/.codemble/ |
No background requests |
| Narration too, when you choose local Ollama | No accounts, telemetry, or Codemble cloud |
No model? Everything except optional prose narration remains available. To add
cloud narration, set ANTHROPIC_API_KEY or OPENAI_API_KEY. To keep narration
local as well:
ollama pull gemma4:12b
export CODEMBLE_PROVIDER=ollama
export CODEMBLE_OLLAMA_MODEL=gemma4:12b
Project and rendering limits
- Supported languages:
.py,.js,.jsx,.mjs,.cjs,.ts,.tsx,.mts,.cts,.go,.java,.rs, and.cs. - Scale: above roughly 1,000 supported files, choose a subdirectory in the
picker or pass
--path ./project/src. - Ambiguous Home: choose a parser-ranked candidate in the app or pass
--entrypoint NODE_ID. - Broken source: safe partial evidence stays visible; Codemble never invents the missing structure.
- Rendering: the galaxy needs WebGL; the flat Map does not.
Develop and verify
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest && ruff check .
(cd web && npm install && npm run check)
(cd docs-site && npm install && npm run check && npm run build)
The architecture, contributing guide, design system, and agent operating guide keep the load-bearing decisions explicit.
Help test the loop
The most useful contribution is a ten-minute first run on a real AI-built project:
- Follow the privacy-safe tester guide.
- Light one system without maintainer help.
- Report the first confusing moment in your own words—never paste private code, project names, credentials, or API keys.
Roadmap
| Horizon | Work |
|---|---|
| Now | Collect unaided learner evidence and correctness reports on v0.17.0 |
| Next | Level-of-detail rendering and clustering for larger repositories |
| Later | Read-only sharing, new quest types, and a coordinated public launch |
Milestones move only when their acceptance evidence exists. See the public roadmap.
License and acknowledgements
Codemble is released under the Apache License 2.0. It is built with tree-sitter, FastAPI, React, and 3d-force-graph. The flat-map approach draws inspiration from dagre, Eclipse ELK, and archify; the community constellations were inspired by Graphify.
Built for the moment after “AI made it work” and before “I know how it works.”
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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 codemble-0.17.0.tar.gz.
File metadata
- Download URL: codemble-0.17.0.tar.gz
- Upload date:
- Size: 1.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97000d11932240fb4d3cae0a6707564390912f801606339bc5d7bbe234dae203
|
|
| MD5 |
2f752707b834429ddc7c5461316e77e9
|
|
| BLAKE2b-256 |
a352908cc40789af0f2c7f336c23511d1b9f1cb9aba8718ee49f90e2452dfc61
|
Provenance
The following attestation bundles were made for codemble-0.17.0.tar.gz:
Publisher:
publish-pypi.yml on udhawan97/Codemble
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codemble-0.17.0.tar.gz -
Subject digest:
97000d11932240fb4d3cae0a6707564390912f801606339bc5d7bbe234dae203 - Sigstore transparency entry: 2449010559
- Sigstore integration time:
-
Permalink:
udhawan97/Codemble@e9a56d66ed5f211e341c9a1f0e3244c81aafb72a -
Branch / Tag:
refs/tags/v0.17.0 - Owner: https://github.com/udhawan97
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e9a56d66ed5f211e341c9a1f0e3244c81aafb72a -
Trigger Event:
release
-
Statement type:
File details
Details for the file codemble-0.17.0-py3-none-any.whl.
File metadata
- Download URL: codemble-0.17.0-py3-none-any.whl
- Upload date:
- Size: 885.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc02fad6e4ec20635ebce338bef7abbcaed3a3ed6925a6d4db8e58641eeecab5
|
|
| MD5 |
9cf2f346801bb03b18592d7ade12b4c2
|
|
| BLAKE2b-256 |
ada2a98f7151702dedf94eb06c231fce7336e5650dfab10dbf61962106c2f9f1
|
Provenance
The following attestation bundles were made for codemble-0.17.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on udhawan97/Codemble
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codemble-0.17.0-py3-none-any.whl -
Subject digest:
cc02fad6e4ec20635ebce338bef7abbcaed3a3ed6925a6d4db8e58641eeecab5 - Sigstore transparency entry: 2449010618
- Sigstore integration time:
-
Permalink:
udhawan97/Codemble@e9a56d66ed5f211e341c9a1f0e3244c81aafb72a -
Branch / Tag:
refs/tags/v0.17.0 - Owner: https://github.com/udhawan97
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e9a56d66ed5f211e341c9a1f0e3244c81aafb72a -
Trigger Event:
release
-
Statement type: