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-ai-retrieval -- AI Retrieval Patterns
├── 01-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
├── 02-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, doc02.01.03 resolves to the path .rhidoc/02-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

make 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.5.0.tar.gz (328.4 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.5.0-py3-none-any.whl (94.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rhidoc-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f6d7ddded40f4679cf6a3e524a5ce639a6ead52fb67065ceda4de19b4c9d036f
MD5 14fdbc1411b740676bdaa36247f4e772
BLAKE2b-256 7307d0acde45fa7b6f1ecc354c9c2fe38c6d151f80873dd5a7dac5855ac75ebc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rhidoc-0.5.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.5.0-py3-none-any.whl.

File metadata

  • Download URL: rhidoc-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 94.7 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 49b0c3ad601529902aa7892aae01575566251191019a0c58e064d1b37d744bac
MD5 4da19053a572088139decf6f0ecd0d1e
BLAKE2b-256 173ea41e6aed7a00f9e10c580607d927e1fe3d2d810d1deda9cd8a987c3c17c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rhidoc-0.5.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