Rhidoc
Rhidoc is a CLI for agentic documentation management. Rhidoc is short for rhizomatic documentation, a single body of context growing in all directions. A docs workspace managed by rhidoc can accelerate spec-driven development and eliminate the ambiguity between project requirements and source code that leads to hallucinations.
Quick start
pip install rhidoc
rhidoc init
rhidoc init creates the docs workspace structure, with instructions for agents provided by the docs themselves as well as optional skills.
Rhidoc at a Glance
Here's a snippet of rhidoc's own docs structure:
$ rhidoc tree
.rhidoc
├── 00-handbook -- Handbook
│ ├── 00-index -- Handbook
│ ├── 01-about -- About This Workspace
│ ├── 02-maintenance -- Maintenance
│ ├── 03-conventions -- Conventions
│ ├── 04-plain-language -- Plain Language
│ └── 05-controlled-vocabulary -- Controlled Vocabulary
├── 02-architecture -- Architecture
│ ├── 00-index -- Architecture
│ ├── 01-script-pipeline -- Reconciliation Architecture
│ └── 02-design-patterns -- Design Patterns
│ ├── 00-index -- Design Patterns
│ └── 01-python-for-ai -- Python for AI Agents
├── 03-product-design -- Product Design
│ ├── 00-index -- Product Design
│ ├── 01-workspace-scripts -- Workspace Scripts
│ │ ├── 00-index -- Workspace Scripts
│ │ ├── 01-workspace-scripts -- Rhidoc Docs API — Design
│ │ ├── 02-invariants -- Workspace Invariants
│ │ ├── 03-properties -- Property Catalog
│ │ └── 04-errors -- Error Catalog
│ ├── 02-cli-user-flow -- CLI User Flow
The key part is a DocRef; for example, doc03.01.03 resolves to the path .rhidoc/03-product-design/01-workspace-scripts/03-properties.md. The format is readable for humans, gives context to an LLM, and enables deterministic operations.
Doc development loop
- Ahead of code generation, a human starts a session with a coding agent to make necessary docs.
- The agent loads rhidoc skills and
MANIFEST.mdinto its context, which lets it cheaply locate relevant docs. - The agent briefs the human on the status of relevant docs.
- The human inputs design decisions in natural language to the agent.
- The agent updates the docs with deterministic
rhidoccommands. - Finally, the agent
rhidoc regenerateupdatesMANIFEST.mdfor the next session.
Sidecars
Some context is highly structured and is an awkward fit in a prosaic markdown file. Rhidoc provides sidecars. You can write scripts that verify your sidecar specs. For example, you can write inventory of screens in a mobile app in doc02.01-screens, a concept inventory in doc01.03-concepts, and then a script that verifies that every concept-action has an affordance somewhere in your app. Through this, design flaws are surfaced early, and coding agents have access to verified, unambiguous context.
More information at WORKSPACE.md (WIP).
Installation
Requires Python 3.10+. Install via pip:
pip install rhidoc
Or install for development:
pip install -e .
Usage
rhidoc init # create a new .rhidoc/ workspace
rhidoc create doc01.03 # add a doc entry
rhidoc move doc01.03 doc02.01
rhidoc regenerate # rebuild MANIFEST.md
rhidoc tree # print workspace structure
rhidoc ai-skill # print full command reference for AI agents
Run rhidoc --help for the complete command list.
Tests
just test
License
AGPL-3.0
Metadata
Release files for rhidoc 0.7.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 | |
|---|---|---|---|
| rhidoc-0.7.0.tar.gz | 369.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rhidoc-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 482.9 kB
Release files / rhidoc-0.7.0.tar.gz
| Download URL | rhidoc-0.7.0.tar.gz |
|---|---|
| Size | 369.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
77060c1c500a6071106dd4001d48d6ac8386c8fde899cd76e8c9dfdc923ad809
|
|
BLAKE2b-256 checksum How to use checksums |
cb19371677ef03be5e4b0d0ecf53ebe2128c5b4051a49c790dde2d7ed8073b84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 23, 2026.
Transparency logRelease files / rhidoc-0.7.0-py3-none-any.whl
| Download URL | rhidoc-0.7.0-py3-none-any.whl |
|---|---|
| Size | 113.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
938e5c57137f8468d53372cde310d22de1f61a7cf2c62b91ba8a620e1c2e0a4b
|
|
BLAKE2b-256 checksum How to use checksums |
93859e18961e4c0cb8e726a76dac2fb3ac2e5cfab649d576a098615d67e9fce9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 23, 2026.
Transparency log