Skip to content
Ary Rabelo edited this page Jul 22, 2026 · 4 revisions

Overview

Relevant source files

  • README.md
  • src/repodocs/init.py
  • pyproject.toml

What RepoDocs is

RepoDocs is a command-line tool that generates a DeepWiki/cubic.dev-style repository wiki by driving a coding-agent CLI (Claude Code, OMP, or Codex) to plan and write feature-level Markdown pages. It scans a codebase deterministically, has the agent plan pages, generates Markdown where every claim cites a file and line, and packages the result into a self-contained wiki.html that opens offline. The project is described as a "DeepWiki / cubic.dev alternative for AI repo documentation." Sources: README.md:L1-L20, pyproject.toml:L7-L7

The package identifies itself the same way in code: the module docstring reads """repodocs -- generate a DeepWiki/cubic.dev-style repository wiki.""", and the current release is VERSION = "0.2.0". Sources: src/repodocs/init.py:L1-L3

Value proposition versus hosted DeepWiki/cubic-style tools

The README states this comparison directly:

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

Sources: README.md:L119-L128

The headline claim frames RepoDocs as producing "a source-cited, always-rebuildable wiki — built by Claude Code, OMP, or Codex," positioning it against services that host the wiki and the analysis remotely. Sources: README.md:L1-L3

Core guarantees

Source citations on every page

Every generated claim is required to cite a file and line, linked to an exact location in the source repository. The README lists this as the first bullet guarantee: "Source citations on every page — linked to exact lines." Sources: README.md:L16-L22

Offline, self-contained output

The pipeline's terminal artifact is repo-docs/wiki.html, described as an "Offline wiki.html, optional translation, guarded publishing." The Quick start instructions confirm the whole flow ends with opening that file directly in a browser — no server or hosting step required. Sources: README.md:L19-L26, README.md:L46-L54

Zero runtime dependencies

Both the README badge and pyproject.toml assert the core has no runtime dependencies: the project declares dependencies = [], with only an optional test extra (pytest>=8) for development. The README distinguishes this "core pipeline" — zero deps beyond Python's stdlib — from an optional diagram-rendering tool under tools/ that additionally requires Bun and Playwright and is explicitly "not part of the zero-dependency core." Sources: pyproject.toml:L9-L23, README.md:L79-L82, README.md:L103-L117

Backend-agnostic, read-only execution

RepoDocs is not an in-process plugin; it is a CLI that an agent or a user invokes, selecting a backend via REPODOCS_BACKEND (claude by default, or omp, codex). Each backend "runs read-only (read/grep/glob only) with no session persistence," meaning the agent used to write the wiki cannot modify the target repository during generation. Sources: README.md:L72-L75, README.md:L130-L138

Explicit non-goals

The project scopes its guarantees narrowly: it does not host generated wikis, does not replace source-code review, does not guarantee output is safe to publish without human review, and does not manage credentials for the agent CLIs it depends on. Sources: README.md:L172-L176

Entry points

The package exposes two console scripts, both defined in pyproject.toml: repodocs (repodocs.cli:cli) for individual pipeline stages, and repodocs-all (repodocs.cli:cli_all) for the full pipeline in one invocation. Sources: pyproject.toml:L17-L19

Pipeline flow

Overview diagram

The README lists these as the stages of repodocs-all: "full pipeline: graphify → scan → plan → generate → html," with individual commands (scan, plan, generate, translate, html, publish) also runnable on their own. Sources: README.md:L140-L150

Clone this wiki locally