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
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 repodocs-0.2.0.tar.gz.
File metadata
- Download URL: repodocs-0.2.0.tar.gz
- Upload date:
- Size: 88.9 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2a8478e0a10fec1ecc3e9c11447e3641d7b6ca1b393cdb04e95b9497105a061
|
|
| MD5 |
42cdc1f73a467b4c484a1bd8f41fc236
|
|
| BLAKE2b-256 |
346bcb8d6915ce91a475de912b426b90825a2216d46c042f2867b2b6c1c23812
|
File details
Details for the file repodocs-0.2.0-py3-none-any.whl.
File metadata
- Download URL: repodocs-0.2.0-py3-none-any.whl
- Upload date:
- Size: 57.5 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c8bbb86ce86193c1ba3c7aa84ac7548a83b271a3dd4e78fe82adcd87d734082
|
|
| MD5 |
500f0b5262b3b8a6f19888ab5ab31238
|
|
| BLAKE2b-256 |
2eb6cbf38920ef5ea554d33b53df59b5282bd8261dfe2cc7d4f889b9ed5d98d4
|