RepoDocs
Point RepoDocs at any repo and get a source-cited, always-rebuildable wiki — built by Claude Code, OMP, or Codex.
If RepoDocs is useful to you, please ⭐ the repo — it helps others find it.
RepoDocs is a DeepWiki / cubic.dev alternative for AI repo documentation: it
scans a codebase deterministically, drives your coding-agent CLI to plan
feature-level pages, and writes Markdown where every claim cites a file and
line. Output is a self-contained wiki.html you can open offline. For
maintainers who want docs they can trust — and never hand-write again.
- ✓ Source citations on every page — linked to exact lines
- ✓ Backends: Claude Code (default), OMP, Codex CLI
- ✓ Zero runtime dependencies — Python stdlib only
- ✓ Parallel generation with SHA-256 incremental rebuilds
- ✓ Offline
wiki.html, optional translation, guarded publishing
Contents
- Quick start
- Setup on a new machine
- Why RepoDocs and not the alternatives
- Choose an LLM backend
- Pipeline commands
- Publishing safety
- Upgrading
- Non-goals
- Development
- License
Quick start
Prerequisites: Python 3.10+, uv, and graphify (uv tool install graphifyy) — or pass --no-graph to skip it. No uv yet?
curl -LsSf https://astral.sh/uv/install.sh | sh
Run the full pipeline in any repo — no clone, no install:
cd /path/to/project
uvx --from git+https://github.com/aryrabelo/repodocs repodocs-all .
Open repo-docs/wiki.html in a browser. That's it.
Install persistently
Keep repodocs / repodocs-all on PATH:
uv tool install git+https://github.com/aryrabelo/repodocs
uv tool update-shell
repodocs --version
Using it from a coding agent
In Claude Code / OMP / Codex, just ask the agent to run repodocs-all . and open
the wiki. RepoDocs is a CLI your agent calls — not an in-process plugin.
Setup on a new machine
Everything runs locally. There are two independent parts: the core pipeline (all you need to generate a wiki) and an optional diagram tool. The core has zero runtime dependencies beyond Python's stdlib; the optional tool adds Bun + playwright.
Core pipeline (required)
-
Python 3.10+ — check with
python3 --version. -
uv —
curl -LsSf https://astral.sh/uv/install.sh | sh -
A backend CLI, logged in (this is what writes the pages) — pick one:
- Claude Code (default): install
claude, run it once and/login. - OMP:
export REPODOCS_BACKEND=omp, thenrepodocs setupandomp --profile=repo-docs/login. - Codex:
export REPODOCS_BACKEND=codex, thencodex login.
Details in Choose an LLM backend.
- Claude Code (default): install
-
graphify —
uv tool install graphifyy(sharpens planning). Or skip it by passing--no-graphtorepodocs-all. -
Internet access — for the backend API,
graphify, andgit.
Then, from any repo:
uvx --from git+https://github.com/aryrabelo/repodocs repodocs-all .
(or clone this repo and run uv run repodocs-all /path/to/project). Output lands
in repo-docs/wiki.html.
Optional: diagram posters (tools/)
GitHub's mermaid renderer intermittently fails to load in wikis. To publish a
pre-rendered pastel PNG of a diagram instead, use tools/diagram_poster.ts.
This is not part of the zero-dependency core — it needs:
- Bun —
curl -fsSL https://bun.sh/install | bash - playwright —
cd tools && bun install - A chromium browser —
bunx playwright install chromium(downloads ~150 MB the first time).
Render: bun tools/diagram_poster.ts tools/example-architecture.yaml --png
writes tools/example-architecture.png. Edit the YAML (a mermaid block plus an
editorial shell) for your own diagram. To use it in a GitHub wiki, commit the
PNG into the <repo>.wiki.git repo and reference it with .
Why RepoDocs and not the alternatives
| RepoDocs | Hosted DeepWiki/cubic-style | |
|---|---|---|
| Runs | Locally, on your machine | Uploads your repo to a service |
| Runtime deps | Zero (stdlib only) | N/A (SaaS) |
| Citations | Every claim → file:line | Varies |
| Output | Offline wiki.html you own |
Hosted only |
| Backend | Your Claude Code / OMP / Codex login | Their models |
| Private repos | Never leave your machine | Uploaded |
Choose an LLM backend
Set REPODOCS_BACKEND to claude (default), omp, or codex. REPODOCS_MODEL
overrides the model. Each backend runs read-only (read/grep/glob only) with no
session persistence.
- Claude Code (default): run
claude,/loginonce; thenrepodocs-all .. Default modelclaude-sonnet-5. - OMP:
export REPODOCS_BACKEND=omp,repodocs setup,omp --profile=repo-docs,/loginonce. - Codex CLI:
export REPODOCS_BACKEND=codex,codex login. Ephemeral read-only sandbox.
Pipeline commands
repodocs-all . # full pipeline: graphify → scan → plan → generate → html
repodocs scan . # deterministic inventory
repodocs plan . # write repo-docs/plan.json
repodocs generate . # generate changed Markdown pages
repodocs translate . --lang pt # optional translation
repodocs html . --vendor # build offline wiki.html
repodocs publish . --dry-run # review the public payload (always first)
repodocs <command> --help lists every flag. REPODOCS_JOBS (1–16, default 4)
controls parallelism; REPODOCS_TIMEOUT sets each LLM subprocess timeout. A bare
invocation prints help, not a stack trace.
Publishing safety
Publishing stages files in a temporary worktree, refuses main/master/trunk,
scans output for private-key/token patterns, and requires --allow-public. Always
--dry-run first. Generated docs can still reveal sensitive source detail that
matches no token pattern — review the dry-run file list before publishing a
private repo's wiki. GitHub Wiki export (publish-wiki) is also supported.
Upgrading
uv tool upgrade repodocs # if installed as a tool
# or reinstall from git:
uv tool install --force git+https://github.com/aryrabelo/repodocs
Non-goals
RepoDocs does not host generated wikis, replace source-code review, guarantee output is safe to publish without human review, or manage credentials for the agent CLIs.
Development
Run the checks with uv run --extra test pytest -q. Contributions:
CONTRIBUTING.md · Security: SECURITY.md.
License
MIT © Ary Rabelo
Release files for repodocs 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| repodocs-0.2.0.tar.gz | 88.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| repodocs-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 146.4 kB
Release files / repodocs-0.2.0.tar.gz
| Download URL | repodocs-0.2.0.tar.gz |
|---|---|
| Size | 88.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f2a8478e0a10fec1ecc3e9c11447e3641d7b6ca1b393cdb04e95b9497105a061
|
|
BLAKE2b-256 checksum How to use checksums |
346bcb8d6915ce91a475de912b426b90825a2216d46c042f2867b2b6c1c23812
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / repodocs-0.2.0-py3-none-any.whl
| Download URL | repodocs-0.2.0-py3-none-any.whl |
|---|---|
| Size | 57.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8c8bbb86ce86193c1ba3c7aa84ac7548a83b271a3dd4e78fe82adcd87d734082
|
|
BLAKE2b-256 checksum How to use checksums |
2eb6cbf38920ef5ea554d33b53df59b5282bd8261dfe2cc7d4f889b9ed5d98d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|