Skip to main content

CLI for managing .rhidoc/ specification workspaces

Project description

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-codex -- Codex
│   ├── 00-index -- Codex
│   ├── 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.md into 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 rhidoc commands.
  • Finally, the agent rhidoc regenerate updates MANIFEST.md for 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rhidoc-0.6.0.tar.gz (340.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rhidoc-0.6.0-py3-none-any.whl (99.6 kB view details)

Uploaded Python 3

File details

Details for the file rhidoc-0.6.0.tar.gz.

File metadata

  • Download URL: rhidoc-0.6.0.tar.gz
  • Upload date:
  • Size: 340.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rhidoc-0.6.0.tar.gz
Algorithm Hash digest
SHA256 1102f96a618fce36afc7a9ae6effb199e64ecaa7c9e9445fb04a6d8c8012cd1a
MD5 836c4101460b7cd47e9061cb92b6e975
BLAKE2b-256 f1899033ea3ecd8942cc35fa2996676f1d37919bc1dfdc73a7c7eaaab8939d63

See more details on using hashes here.

Provenance

The following attestation bundles were made for rhidoc-0.6.0.tar.gz:

Publisher: publish.yml on saxonthune/rhidoc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rhidoc-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: rhidoc-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 99.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rhidoc-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6971d984c82b989441916e40674c45e7c68d45a12dee20e78a225081a63af0b0
MD5 9e9d7028dea2dd79ec5e5538be288ac9
BLAKE2b-256 1571bcee194e3fc7fee455c392e54f642b7de8d67c7755dd02c0bfdf2806dd81

See more details on using hashes here.

Provenance

The following attestation bundles were made for rhidoc-0.6.0-py3-none-any.whl:

Publisher: publish.yml on saxonthune/rhidoc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page