@doxbrix/doxloop
v0.1.5
Published
A local-first documentation agent CLI for Codex, Claude Code, and Gemini.
Readme
flowchart LR
A["Source code<br>or OpenAPI"] --> B["Doxloop +<br>your coding agent"]
B --> C["Structured<br>documentation"]
C --> D["Preview, validate,<br>and publish"]Doxloop gives your coding agent a repeatable documentation workflow: inspect the source, identify the audience, plan the content, write generator-native pages, build navigation, and validate the result. Your product source stays separate from the generated documentation project.
Quickstart
1. Install
Requires Node.js 20.12 or later.
npm install --global @doxbrix/doxloop2. Set up the documentation project
Run this from your product directory:
doxloop initDoxloop detects the product repository and guides you through the project location, product evidence, site title, and generator. It shows a complete summary before creating anything. Product code and documentation are kept in separate sibling directories.
Documenting an API without a product checkout? Run the same command in the directory where you want to work, then choose API specification and enter the OpenAPI file or URL when asked.
3. Create the documentation
cd ../my-product-docs
doxloop createcreate asks what readers need and which agent to use, shows all supported
choices, and automatically installs Codex, Claude Code, or Gemini with npm when
you select a missing agent. It shows an authoring summary and starts the agent
only after confirmation. Press Enter at the documentation request to let the
agent recommend a complete, evidence-backed plan.
4. Preview and validate
doxloop preview --open
doxloop testYour source and docs remain separate:
workspace/
├── my-product/ ← read-only source evidence
└── my-product-docs/ ← editable and deployable documentationFrom then on, the everyday workflow is deliberately short:
doxloop update
doxloop deploy
doxloop settingsNo configuration flags are required for interactive use. Advanced flags remain available as optional one-run overrides for scripts and CI.
Real examples
Lodash developer docs from the CLI
From the Lodash source directory:
doxloop init
cd ../lodash-docs
doxloop createAt the create prompt, request developer documentation with a quickstart,
class and function reference, and a simple example for every function. Choose
Claude Code when Doxloop asks which agent to use. If it is missing, Doxloop
installs it before the run. That choice can be remembered for later updates.
Generated documentation: https://apps-lodash-docs.sites.doxbrix.com/
Petstore API docs from VS Code with Codex
First, initialize a documentation project. Use petstore-docs as the project
directory, choose API specification, and enter
https://petstore3.swagger.io/api/v3/openapi.json when asked:
doxloop init
cd petstore-docs
code .Then give Codex this prompt:
Using Doxloop authoring, create API documentation for this OpenAPI document: https://petstore3.swagger.io/api/v3/openapi.json
Because doxloop init installs the Doxloop authoring skills inside the project,
Codex can inspect the OpenAPI document and create the pages, endpoint reference,
examples, and navigation directly in the opened folder.
Generated documentation: https://apps-pet-store.sites.doxbrix.com/
When it finishes:
Run doxloop preview --open and doxloop test when it finishes.
Use Doxloop in VS Code, Codex, or Claude
Prefer working in Visual Studio Code, the Codex app, Claude Code, or another local agent experience? Initialize the project first:
doxloop initThen open the generated folder where you want to work:
| Where | Open the project |
| --- | --- |
| VS Code with Codex | code ../my-product-docs |
| Codex app | Open the generated documentation folder |
| Claude Code | cd ../my-product-docs && claude |
Ask the agent to use Doxloop authoring:
Use Doxloop authoring to create developer documentation for this project.
Start with a five-minute quickstart, then add task guides and API reference.doxloop init installs project-local skills for the supported agent
ecosystems:
| Agent experience | Installed skills |
| --- | --- |
| Codex and Gemini | .agents/skills/ |
| Claude Code | .claude/skills/ |
If an editor does not load project skills automatically, prepare a complete prompt and paste it into the agent session:
doxloop create --print \
"Create developer documentation with a quickstart and API reference."What Doxloop handles
| Capability | What you get | | --- | --- | | 🔎 Source-grounded research | Uses code, public interfaces, tests, examples, and configuration as evidence. | | 🧭 Documentation planning | Identifies readers, important workflows, page coverage, and navigation before writing. | | ✍️ Generator-native output | Creates the right Markdown, MDX, configuration, components, and theme for the selected generator. | | ✅ Built-in quality checks | Validates pages, navigation, links, metadata, code fences, and generator conventions. | | 🔄 Focused updates | Tracks the source revision and directs the agent to documentation affected by product changes. | | 🔐 Local-first control | Keeps authoring, validation, and preview local; publishing is always a separate command. |
Everyday workflow
| Goal | Command |
| --- | --- |
| Create a docs project | doxloop init |
| Generate documentation | doxloop create |
| Update docs after code changes | doxloop update |
| View or change project settings | doxloop settings |
| Run a read-only quality review | doxloop review |
| Preview locally | doxloop preview --open |
| Validate the project | doxloop test |
| Check setup and agent readiness | doxloop doctor |
| See project status | doxloop status |
| Deploy using saved settings | doxloop deploy |
Run doxloop <command> --help for every option.
Change project settings
Use one settings command instead of editing .doxloop/project.json or
remembering configuration flags:
doxloop settingsThe interactive settings menu manages:
- product source directories and OpenAPI specifications;
- the site title and default authoring agent;
- audience, locale, tone, and reader outcomes;
- design references and application screenshot behavior; and
- hosted project name, slug, visibility, and Doxbrix destination.
Generator changes are intentionally not performed in place because changing
frameworks can overwrite generator-native files. Create a new project with
doxloop init when migrating generators.
Optional automation overrides
Interactive users do not need flags. Scripts can still override saved settings for one run:
doxloop create --agent codex --reasoning high
doxloop create --agent claude --model <model-name>
doxloop create --agent geminiAsk for exactly what you need
doxloop create \
"Write for platform engineers. Include installation, Kubernetes deployment, authentication, a production-readiness checklist, and troubleshooting."doxloop update \
"Document webhook retries and remove the legacy import workflow."You can describe the audience, desired outcomes, required pages, tone, priorities, or exclusions in plain language.
Preview, test, and publish
Authoring never publishes automatically.
doxloop status
doxloop test
doxloop preview --openTo deploy through Doxbrix:
doxloop deploydeploy validates the documentation, shows the exact name, slug, destination,
visibility, page count, and warnings, then asks once before uploading. It offers
sign-in after you approve the summary. Deployments are private by default.
Use doxloop settings to change visibility or the hosted address. A public
deployment always shows a default-no warning in an interactive terminal. For
CI, the explicit combination doxloop deploy --public --yes runs without
prompts.
Supported generators
Doxbrix is built in and selected by default. External generators use a separate adapter package, so each documentation project installs only what it needs.
| Generator | Package | Source format | Build output |
| --- | --- | --- | --- |
| Doxbrix | Included | Markdown and Doxbrix MDX | Doxbrix bundle |
| Docusaurus | @doxbrix/doxloop-generator-docusaurus | Markdown and MDX | build/ |
| MkDocs Material | @doxbrix/doxloop-generator-mkdocs | Material Markdown | site/ |
| Sphinx | @doxbrix/doxloop-generator-sphinx | reStructuredText | _build/html/ |
| Hugo | @doxbrix/doxloop-generator-hugo | Markdown | public/ |
| VitePress | @doxbrix/doxloop-generator-vitepress | Markdown | docs/.vitepress/dist/ |
| Markdoc | @doxbrix/doxloop-generator-markdoc | Markdoc | dist/ |
| Nextra | @doxbrix/doxloop-generator-nextra | MDX | out/ |
| Starlight | @doxbrix/doxloop-generator-starlight | Markdown and MDX | dist/ |
| Jekyll | @doxbrix/doxloop-generator-jekyll | Markdown and Liquid | _site/ |
| Static HTML | @doxbrix/doxloop-generator-static | HTML | site/ |
Choose a generator during doxloop init. Doxbrix is the recommended first
choice and needs no extra installation. Selecting another framework opens a
second list and Doxloop offers to install its adapter package. The
public generator guide covers
installation, selection, inspection, removal, and migration.
Guides
| Author and maintain | Configure and extend | Operate safely | | --- | --- | --- | | Create documentation | Project configuration | Troubleshooting | | Update documentation | Generators | Security | | Agent compatibility | CLI reference | CI and automation | | Review documentation | Guide screenshots | Publish documentation |
Browse all documentation at https://doxloop.sites.doxbrix.com/.
License
Doxloop Proprietary Software License. You may download, install, and run unmodified copies for lawful personal or commercial purposes. Copying, modification, incorporation into other products, and redistribution are not permitted without explicit written permission from Doxbrix.
