@doxbrix/doxloop 0.1.4 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1153 -0
- package/README.md +422 -226
- package/assets/doxbrix-preview.css +77 -15
- package/contracts/agent-events-v1.schema.json +1 -0
- package/contracts/coverage-v1.schema.json +59 -0
- package/contracts/drift-v1.schema.json +1 -0
- package/contracts/evaluation-v1.schema.json +62 -0
- package/contracts/quality-codes-v1.json +1 -0
- package/contracts/quality-report-v1.schema.json +1 -0
- package/contracts/validation-v1.schema.json +1 -0
- package/dist/agent-failure.d.ts +36 -0
- package/dist/agent-failure.js +98 -0
- package/dist/agent-isolation.d.ts +17 -0
- package/dist/agent-isolation.js +94 -0
- package/dist/agent-log.d.ts +197 -0
- package/dist/agent-log.js +1094 -0
- package/dist/agent-process.d.ts +63 -0
- package/dist/agent-process.js +128 -0
- package/dist/agent-reply.d.ts +47 -0
- package/dist/agent-reply.js +315 -0
- package/dist/agents.d.ts +40 -4
- package/dist/agents.js +115 -11
- package/dist/api-coverage.d.ts +11 -0
- package/dist/api-coverage.js +72 -0
- package/dist/application-probe.d.ts +28 -0
- package/dist/application-probe.js +93 -0
- package/dist/application-url.d.ts +14 -0
- package/dist/application-url.js +26 -0
- package/dist/args.js +15 -0
- package/dist/artifact-deploy.d.ts +9 -0
- package/dist/artifact-deploy.js +28 -8
- package/dist/assets.d.ts +72 -0
- package/dist/assets.js +382 -0
- package/dist/auth.d.ts +10 -0
- package/dist/auth.js +38 -9
- package/dist/author.d.ts +206 -4
- package/dist/author.js +1650 -52
- package/dist/authoring-batches.d.ts +190 -0
- package/dist/authoring-batches.js +489 -0
- package/dist/authoring-postpass.d.ts +79 -0
- package/dist/authoring-postpass.js +1289 -0
- package/dist/authoring-progress.d.ts +95 -0
- package/dist/authoring-progress.js +269 -0
- package/dist/autosync.d.ts +56 -0
- package/dist/autosync.js +442 -0
- package/dist/batch-artifacts.d.ts +81 -0
- package/dist/batch-artifacts.js +412 -0
- package/dist/batch-limits.d.ts +37 -0
- package/dist/batch-limits.js +80 -0
- package/dist/branding.d.ts +41 -0
- package/dist/branding.js +229 -0
- package/dist/bundle-upload.d.ts +26 -0
- package/dist/bundle-upload.js +99 -0
- package/dist/capture-auth.d.ts +95 -0
- package/dist/capture-auth.js +204 -0
- package/dist/capture.d.ts +48 -0
- package/dist/capture.js +20 -1
- package/dist/cli.js +839 -32
- package/dist/content-links.d.ts +10 -0
- package/dist/content-links.js +49 -0
- package/dist/contract-validation.d.ts +4 -0
- package/dist/contract-validation.js +25 -0
- package/dist/coverage-actions.d.ts +8 -0
- package/dist/coverage-actions.js +71 -0
- package/dist/coverage-resolutions.d.ts +16 -0
- package/dist/coverage-resolutions.js +58 -0
- package/dist/db.d.ts +37 -0
- package/dist/db.js +288 -0
- package/dist/demo.d.ts +12 -0
- package/dist/demo.js +122 -0
- package/dist/deploy-credentials.d.ts +7 -0
- package/dist/deploy-credentials.js +76 -0
- package/dist/deploy-targets/github-pages.d.ts +3 -0
- package/dist/deploy-targets/github-pages.js +100 -0
- package/dist/deploy-targets/index.d.ts +8 -0
- package/dist/deploy-targets/index.js +78 -0
- package/dist/deploy-targets/netlify.d.ts +3 -0
- package/dist/deploy-targets/netlify.js +49 -0
- package/dist/deploy-targets/types.d.ts +32 -0
- package/dist/deploy-targets/types.js +2 -0
- package/dist/deploy-targets/vercel.d.ts +3 -0
- package/dist/deploy-targets/vercel.js +95 -0
- package/dist/deploy.d.ts +9 -0
- package/dist/deploy.js +87 -13
- package/dist/deterministic-capture.d.ts +90 -0
- package/dist/deterministic-capture.js +435 -0
- package/dist/direct-edit.d.ts +40 -0
- package/dist/direct-edit.js +159 -0
- package/dist/docs-crawl.d.ts +86 -0
- package/dist/docs-crawl.js +536 -0
- package/dist/docs-site.d.ts +49 -0
- package/dist/docs-site.js +233 -0
- package/dist/doctor.js +8 -0
- package/dist/documentation-collections.d.ts +23 -0
- package/dist/documentation-collections.js +191 -0
- package/dist/documentation-plan.d.ts +253 -0
- package/dist/documentation-plan.js +2563 -0
- package/dist/doxbrix-build.d.ts +19 -0
- package/dist/doxbrix-build.js +167 -0
- package/dist/doxbrix-markdown.d.ts +9 -0
- package/dist/doxbrix-markdown.js +115 -14
- package/dist/drift.d.ts +10 -0
- package/dist/drift.js +164 -0
- package/dist/evaluation.d.ts +46 -0
- package/dist/evaluation.js +113 -0
- package/dist/evidence-pack.d.ts +47 -0
- package/dist/evidence-pack.js +358 -0
- package/dist/evidence.d.ts +25 -0
- package/dist/evidence.js +175 -0
- package/dist/fs.d.ts +8 -2
- package/dist/fs.js +41 -11
- package/dist/generator-api.d.ts +89 -0
- package/dist/generator-preflight.d.ts +27 -0
- package/dist/generator-preflight.js +105 -0
- package/dist/generator-runtime.d.ts +7 -0
- package/dist/generator-runtime.js +17 -1
- package/dist/generators.d.ts +24 -2
- package/dist/generators.js +54 -1
- package/dist/git-delivery.d.ts +17 -0
- package/dist/git-delivery.js +123 -0
- package/dist/globs.d.ts +16 -0
- package/dist/globs.js +65 -0
- package/dist/glossary.d.ts +26 -0
- package/dist/glossary.js +179 -0
- package/dist/history.d.ts +106 -0
- package/dist/history.js +600 -0
- package/dist/html-markdown.d.ts +46 -0
- package/dist/html-markdown.js +423 -0
- package/dist/interactive.js +16 -15
- package/dist/job-events.d.ts +74 -0
- package/dist/job-events.js +377 -0
- package/dist/keep-awake.d.ts +50 -0
- package/dist/keep-awake.js +123 -0
- package/dist/local-source-snapshot.d.ts +20 -0
- package/dist/local-source-snapshot.js +61 -0
- package/dist/mintlify-detect.d.ts +3 -0
- package/dist/mintlify-detect.js +18 -0
- package/dist/mintlify-import.d.ts +75 -0
- package/dist/mintlify-import.js +190 -0
- package/dist/navigation.d.ts +98 -0
- package/dist/navigation.js +310 -0
- package/dist/openapi.d.ts +60 -0
- package/dist/openapi.js +439 -0
- package/dist/page-editor-bridge.d.ts +3 -0
- package/dist/page-editor-bridge.js +109 -0
- package/dist/page-editor-preview.d.ts +10 -0
- package/dist/page-editor-preview.js +55 -0
- package/dist/page-extension.d.ts +9 -0
- package/dist/page-extension.js +15 -0
- package/dist/page-metadata.d.ts +28 -0
- package/dist/page-metadata.js +166 -0
- package/dist/page-operations.d.ts +34 -0
- package/dist/page-operations.js +215 -0
- package/dist/page-routes.d.ts +4 -0
- package/dist/page-routes.js +61 -0
- package/dist/pages.d.ts +20 -0
- package/dist/pages.js +184 -0
- package/dist/plan-generator.d.ts +3 -0
- package/dist/plan-generator.js +21 -0
- package/dist/plan-navigation.d.ts +11 -0
- package/dist/plan-navigation.js +30 -0
- package/dist/planning-captures.d.ts +20 -0
- package/dist/planning-captures.js +143 -0
- package/dist/planning-research.d.ts +135 -0
- package/dist/planning-research.js +472 -0
- package/dist/planning-triage.d.ts +23 -0
- package/dist/planning-triage.js +131 -0
- package/dist/preview.d.ts +24 -0
- package/dist/preview.js +280 -29
- package/dist/project-detect.d.ts +36 -0
- package/dist/project-detect.js +251 -0
- package/dist/project-import.d.ts +54 -0
- package/dist/project-import.js +157 -0
- package/dist/project-lock.d.ts +6 -0
- package/dist/project-lock.js +96 -0
- package/dist/project-registry.d.ts +25 -0
- package/dist/project-registry.js +79 -0
- package/dist/project.d.ts +35 -3
- package/dist/project.js +388 -38
- package/dist/prompts.d.ts +9 -0
- package/dist/prompts.js +33 -4
- package/dist/proposal-replay.d.ts +32 -0
- package/dist/proposal-replay.js +99 -0
- package/dist/quality-claims.d.ts +8 -0
- package/dist/quality-claims.js +168 -0
- package/dist/quality-config.d.ts +5 -0
- package/dist/quality-config.js +84 -0
- package/dist/quality-contract.d.ts +37 -0
- package/dist/quality-contract.js +46 -0
- package/dist/quality-examples.d.ts +4 -0
- package/dist/quality-examples.js +233 -0
- package/dist/quality-gates.d.ts +16 -0
- package/dist/quality-gates.js +192 -0
- package/dist/quality-links.d.ts +7 -0
- package/dist/quality-links.js +149 -0
- package/dist/quality-lint.d.ts +6 -0
- package/dist/quality-lint.js +124 -0
- package/dist/quality-rendered.d.ts +11 -0
- package/dist/quality-rendered.js +222 -0
- package/dist/quality-schema.d.ts +3 -0
- package/dist/quality-schema.js +71 -0
- package/dist/release-notes.d.ts +44 -0
- package/dist/release-notes.js +183 -0
- package/dist/remote-monitor.d.ts +16 -0
- package/dist/remote-monitor.js +74 -0
- package/dist/remote-source.d.ts +34 -0
- package/dist/remote-source.js +426 -0
- package/dist/review-diff.d.ts +82 -0
- package/dist/review-diff.js +400 -0
- package/dist/review-learning.d.ts +11 -0
- package/dist/review-learning.js +60 -0
- package/dist/review-render.d.ts +38 -0
- package/dist/review-render.js +224 -0
- package/dist/review-report.d.ts +9 -0
- package/dist/review-report.js +89 -0
- package/dist/review-ui.d.ts +14 -0
- package/dist/review-ui.js +1248 -0
- package/dist/schedule.d.ts +78 -0
- package/dist/schedule.js +480 -0
- package/dist/screen-capture-provider.d.ts +52 -0
- package/dist/screen-capture-provider.js +218 -0
- package/dist/screenshot-workflow.d.ts +167 -0
- package/dist/screenshot-workflow.js +1237 -0
- package/dist/settings.d.ts +1 -1
- package/dist/settings.js +95 -7
- package/dist/site-export.d.ts +18 -0
- package/dist/site-export.js +87 -0
- package/dist/source-connectors.d.ts +33 -0
- package/dist/source-connectors.js +268 -0
- package/dist/source-discovery.d.ts +132 -0
- package/dist/source-discovery.js +823 -0
- package/dist/source-intelligence.d.ts +9 -0
- package/dist/source-intelligence.js +306 -0
- package/dist/sync-review.d.ts +28 -0
- package/dist/sync-review.js +264 -0
- package/dist/sync-runs.d.ts +192 -0
- package/dist/sync-runs.js +2244 -0
- package/dist/sync.d.ts +35 -0
- package/dist/sync.js +298 -32
- package/dist/text-diff.d.ts +9 -0
- package/dist/text-diff.js +59 -0
- package/dist/types.d.ts +946 -1
- package/dist/ui/assets/doxloop-logo-light-De7Nx7j7.png +0 -0
- package/dist/ui/assets/index-BHBYU2aG.css +1 -0
- package/dist/ui/assets/index-Cq3RPQiC.js +33 -0
- package/dist/ui/index.html +18 -0
- package/dist/ui-server.d.ts +83 -0
- package/dist/ui-server.js +3532 -0
- package/dist/usage-budget.d.ts +28 -0
- package/dist/usage-budget.js +90 -0
- package/dist/validation.d.ts +25 -1
- package/dist/validation.js +312 -26
- package/dist/workspace-tools.d.ts +54 -0
- package/dist/workspace-tools.js +123 -0
- package/docs/agent-compatibility.md +50 -28
- package/docs/ci-and-automation.md +105 -66
- package/docs/doxbrix-http-api.md +8 -1
- package/docs/existing-documentation.md +80 -0
- package/docs/generation-performance.md +108 -0
- package/docs/generator-authoring.md +68 -5
- package/docs/generator-selection.md +50 -13
- package/docs/mintlify-import.md +71 -0
- package/docs/openapi-security.md +25 -0
- package/docs/project-format.md +331 -36
- package/docs/release-quality.md +158 -0
- package/docs/releasing.md +72 -0
- package/docs/review-workflows.md +51 -0
- package/docs/security-model.md +102 -39
- package/docs/troubleshooting.md +226 -93
- package/package.json +46 -15
- package/scripts/test-auto-screenshot.mjs +172 -0
- package/skills/doxloop-authoring/SKILL.md +242 -361
- package/skills/doxloop-authoring/references/existing-documentation.md +94 -0
- package/skills/doxloop-authoring/references/navigation-architecture.md +18 -7
- package/skills/doxloop-authoring/references/page-depth.md +169 -0
- package/skills/doxloop-authoring/references/project-format.md +106 -7
- package/skills/doxloop-authoring/references/quality.md +10 -0
- package/skills/doxloop-authoring/references/screenshot-manifest.md +113 -0
- package/skills/doxloop-authoring/references/screenshots.md +149 -235
- package/skills/doxloop-authoring/references/workflows.md +76 -0
- package/skills/doxloop-doxbrix/SKILL.md +38 -22
- package/skills/doxloop-doxbrix/references/api-endpoints.md +15 -14
- package/skills/doxloop-doxbrix/references/components.md +30 -3
- package/skills/doxloop-doxbrix/references/manifest.md +3 -2
- package/vendor/doxbrix-import/LICENSE +202 -0
- package/vendor/doxbrix-import/README.md +17 -0
- package/vendor/doxbrix-import/UPSTREAM.json +47 -0
- package/vendor/doxbrix-import/dist/docs/frontmatter.d.ts +13 -0
- package/vendor/doxbrix-import/dist/docs/frontmatter.js +83 -0
- package/vendor/doxbrix-import/dist/docs/import.d.ts +21 -0
- package/vendor/doxbrix-import/dist/docs/import.js +147 -0
- package/vendor/doxbrix-import/dist/docs/manifest.d.ts +163 -0
- package/vendor/doxbrix-import/dist/docs/manifest.js +64 -0
- package/vendor/doxbrix-import/dist/docs/project.d.ts +25 -0
- package/vendor/doxbrix-import/dist/docs/project.js +77 -0
- package/vendor/doxbrix-import/dist/docs/starter.d.ts +4 -0
- package/vendor/doxbrix-import/dist/docs/starter.js +11 -0
- package/vendor/doxbrix-import/dist/importer.d.ts +227 -0
- package/vendor/doxbrix-import/dist/importer.js +1567 -0
- package/vendor/doxbrix-import/dist/mintlify-openapi.d.ts +37 -0
- package/vendor/doxbrix-import/dist/mintlify-openapi.js +305 -0
- package/vendor/doxbrix-import/dist/safe-path.d.ts +9 -0
- package/vendor/doxbrix-import/dist/safe-path.js +47 -0
- package/dist/agents.d.ts.map +0 -1
- package/dist/agents.js.map +0 -1
- package/dist/args.d.ts.map +0 -1
- package/dist/args.js.map +0 -1
- package/dist/artifact-deploy.d.ts.map +0 -1
- package/dist/artifact-deploy.js.map +0 -1
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js.map +0 -1
- package/dist/author.d.ts.map +0 -1
- package/dist/author.js.map +0 -1
- package/dist/capture.d.ts.map +0 -1
- package/dist/capture.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/deploy.d.ts.map +0 -1
- package/dist/deploy.js.map +0 -1
- package/dist/deployment-visibility.d.ts.map +0 -1
- package/dist/deployment-visibility.js.map +0 -1
- package/dist/doctor.d.ts.map +0 -1
- package/dist/doctor.js.map +0 -1
- package/dist/doxbrix-markdown.d.ts.map +0 -1
- package/dist/doxbrix-markdown.js.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js.map +0 -1
- package/dist/fs.d.ts.map +0 -1
- package/dist/fs.js.map +0 -1
- package/dist/generator-api.d.ts.map +0 -1
- package/dist/generator-api.js.map +0 -1
- package/dist/generator-manager.d.ts.map +0 -1
- package/dist/generator-manager.js.map +0 -1
- package/dist/generator-runtime.d.ts.map +0 -1
- package/dist/generator-runtime.js.map +0 -1
- package/dist/generators.d.ts.map +0 -1
- package/dist/generators.js.map +0 -1
- package/dist/interactive.d.ts.map +0 -1
- package/dist/interactive.js.map +0 -1
- package/dist/preview.d.ts.map +0 -1
- package/dist/preview.js.map +0 -1
- package/dist/progress.d.ts.map +0 -1
- package/dist/progress.js.map +0 -1
- package/dist/project.d.ts.map +0 -1
- package/dist/project.js.map +0 -1
- package/dist/prompts.d.ts.map +0 -1
- package/dist/prompts.js.map +0 -1
- package/dist/settings.d.ts.map +0 -1
- package/dist/settings.js.map +0 -1
- package/dist/sync.d.ts.map +0 -1
- package/dist/sync.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/validation.d.ts.map +0 -1
- package/dist/validation.js.map +0 -1
- package/dist/version.d.ts.map +0 -1
- package/dist/version.js.map +0 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
12
|
Turn source code or an API specification into a polished, validated documentation site<br>
|
|
13
|
-
with Codex, Claude Code, or Gemini.
|
|
13
|
+
with Codex, Claude Code, or Gemini, from one local control center.
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
16
|
<p align="center">
|
|
@@ -22,69 +22,128 @@
|
|
|
22
22
|
<p align="center">
|
|
23
23
|
<a href="#quickstart">Quickstart</a> ·
|
|
24
24
|
<a href="#real-examples">Real examples</a> ·
|
|
25
|
-
<a href="#
|
|
26
|
-
<a href="#
|
|
25
|
+
<a href="#the-workspace">The workspace</a> ·
|
|
26
|
+
<a href="#keep-documentation-current">Monitoring</a> ·
|
|
27
|
+
<a href="#review-what-changed-and-why">Review</a> ·
|
|
27
28
|
<a href="#guides">Guides</a>
|
|
28
29
|
</p>
|
|
29
30
|
|
|
31
|
+
https://github.com/user-attachments/assets/2949f435-538d-40eb-9d3d-b226664b724d
|
|
32
|
+
|
|
30
33
|
```mermaid
|
|
31
34
|
flowchart LR
|
|
32
35
|
A["Source code<br>or OpenAPI"] --> B["Doxloop +<br>your coding agent"]
|
|
33
|
-
B --> C["
|
|
34
|
-
C --> D["Preview, validate,<br>and
|
|
36
|
+
B --> C["Plan, write,<br>and review"]
|
|
37
|
+
C --> D["Preview, validate,<br>and deploy"]
|
|
35
38
|
```
|
|
36
39
|
|
|
37
|
-
Doxloop
|
|
38
|
-
the
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
Doxloop is a local, browser-based control center for documentation. You connect
|
|
41
|
+
the sources that describe your product, describe what readers should be able to
|
|
42
|
+
do, and approve a documentation plan. Your coding agent researches the evidence
|
|
43
|
+
and writes generator-native pages into an isolated proposal. You review every
|
|
44
|
+
change, accept what is right, preview the site, and deploy it, all from the same
|
|
45
|
+
window. Product source stays read-only and separate from the documentation
|
|
46
|
+
project.
|
|
41
47
|
|
|
42
48
|
## Quickstart
|
|
43
49
|
|
|
44
50
|
### 1. Install
|
|
45
51
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
npm install --global @doxbrix/doxloop
|
|
50
|
-
```
|
|
52
|
+
Doxloop requires Node.js 22.13 or later. Install Google Chrome for application screenshots and sign-in capture; text-only authoring does not need a browser.
|
|
51
53
|
|
|
52
|
-
|
|
54
|
+
Try the bundled demo first, without an agent or a model charge:
|
|
53
55
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
doxloop init
|
|
56
|
+
```sh
|
|
57
|
+
npx @doxbrix/doxloop demo
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
location, product evidence, site title, and generator. It shows a complete
|
|
62
|
-
summary before creating anything. Product code and documentation are kept in
|
|
63
|
-
separate sibling directories.
|
|
64
|
-
|
|
65
|
-
Documenting an API without a product checkout? Run the same command in the
|
|
66
|
-
directory where you want to work, then choose **API specification** and enter
|
|
67
|
-
the OpenAPI file or URL when asked.
|
|
68
|
-
|
|
69
|
-
### 3. Create the documentation
|
|
60
|
+
Then adopt an existing documentation folder in the setup wizard, or create a new project. Run the read-only documentation audit before requesting an update. Start with the five-page preset: review the plan and its page, screenshot, and time caps before generation. Planning and writing are separate agent runs; each may take several minutes and uses your agent subscription or billing. Doxloop reports observed durations when comparable completed runs exist; a time cap is not a price quote.
|
|
70
61
|
|
|
71
62
|
```bash
|
|
72
|
-
|
|
73
|
-
doxloop create
|
|
63
|
+
npm install --global @doxbrix/doxloop
|
|
74
64
|
```
|
|
75
65
|
|
|
76
|
-
|
|
77
|
-
authoring summary, and starts the agent only after confirmation. Press Enter
|
|
78
|
-
at the documentation request to let the agent recommend a complete,
|
|
79
|
-
evidence-backed plan.
|
|
66
|
+
### 2. Open the control center
|
|
80
67
|
|
|
81
|
-
|
|
68
|
+
Open a terminal in the folder where you want the documentation project to be
|
|
69
|
+
created. That is usually the parent folder of your product checkout, so the
|
|
70
|
+
product and its documentation become sibling directories. Then start Doxloop:
|
|
82
71
|
|
|
83
72
|
```bash
|
|
84
|
-
doxloop
|
|
85
|
-
doxloop test
|
|
73
|
+
doxloop ui
|
|
86
74
|
```
|
|
87
75
|
|
|
76
|
+
This is the only command you need. It starts a loopback-only server on
|
|
77
|
+
`http://127.0.0.1:4317` and opens your browser. Everything else happens in the
|
|
78
|
+
browser. When no documentation project exists yet, Doxloop opens the setup
|
|
79
|
+
wizard. When one exists, it opens the workspace for that project.
|
|
80
|
+
|
|
81
|
+
Already have a documentation site? The wizard's first step offers **Use
|
|
82
|
+
existing documentation folder**, which adopts a Docusaurus, MkDocs, Hugo,
|
|
83
|
+
Sphinx, VitePress, Starlight, Nextra, Markdoc, Jekyll, or Doxbrix site as it
|
|
84
|
+
is: Doxloop reads the site's configuration, lists its pages, and changes none
|
|
85
|
+
of them. Every project you open is remembered, and the project switcher in the
|
|
86
|
+
sidebar moves between them.
|
|
87
|
+
|
|
88
|
+
For **Mintlify**, choose **Use existing documentation folder → Mintlify to
|
|
89
|
+
Doxbrix**. Select a local folder or enter a GitHub repository, review the
|
|
90
|
+
conversion, and create a new Doxbrix project. Doxloop uses the tested Doxbrix
|
|
91
|
+
conversion engine and preserves the original Mintlify project. See
|
|
92
|
+
[Import Mintlify documentation](docs/mintlify-import.md).
|
|
93
|
+
|
|
94
|
+
### 3. Set up the workspace
|
|
95
|
+
|
|
96
|
+
The wizard walks through five steps and creates nothing until the last one.
|
|
97
|
+
|
|
98
|
+
1. **Workspace.** Choose **Start new** and enter a folder name for the
|
|
99
|
+
documentation project and the title readers will see, or choose **Use
|
|
100
|
+
existing documentation folder** to adopt a site you already have.
|
|
101
|
+
2. **Sources.** Choose **Add source**, then **Source code** for a local folder
|
|
102
|
+
or a Git repository, **OpenAPI spec** to upload a file or paste a public
|
|
103
|
+
URL, or **Existing documentation** to crawl the docs site you publish today
|
|
104
|
+
so the agent can audit it and rewrite it (see
|
|
105
|
+
[Rewrite existing documentation](docs/existing-documentation.md)). Private
|
|
106
|
+
repositories accept a username and a personal access token that is held in
|
|
107
|
+
memory for the session and never written to the project.
|
|
108
|
+
3. **Tools.** Pick the documentation generator (Doxbrix is recommended and
|
|
109
|
+
needs no installation), the coding assistant (Codex, Claude Code, or
|
|
110
|
+
Gemini), and optionally the model. If the assistant is not installed,
|
|
111
|
+
Doxloop installs it for you. Answer **Add product screenshots?** to let
|
|
112
|
+
Doxloop capture images from a running local or test application.
|
|
113
|
+
4. **Guidance.** Describe what readers should be able to do, choose the
|
|
114
|
+
documentation depth (Comprehensive is recommended; the page count comes
|
|
115
|
+
from your sources, not from the depth), add audiences, and open **Advanced
|
|
116
|
+
planning preferences** for examples, locale, terminology, exclusions,
|
|
117
|
+
accessibility target, and how the planner should handle questions.
|
|
118
|
+
5. **Review.** Check the summary and choose **Create documentation plan**.
|
|
119
|
+
|
|
120
|
+
Doxloop then downloads read-only snapshots of any remote sources, installs the
|
|
121
|
+
project-local authoring skills for the selected assistant, and starts a
|
|
122
|
+
read-only planning run. The planner researches your sources and proposes a
|
|
123
|
+
page structure. Nothing is written until you approve it.
|
|
124
|
+
|
|
125
|
+
### 4. Approve the plan and generate
|
|
126
|
+
|
|
127
|
+
The plan opens on the **Create** page. Answer anything under **Needs your
|
|
128
|
+
decision**, adjust the **Documentation brief**, and edit the **Documentation
|
|
129
|
+
structure**: add, reorder, remove, or defer pages, and open any page to change
|
|
130
|
+
its purpose, priority, section, or screenshot treatment. Ask for changes in
|
|
131
|
+
plain language under **Want to change the plan?** and a new plan version comes
|
|
132
|
+
back. When it looks right, choose **Approve & generate**.
|
|
133
|
+
|
|
134
|
+
Generation runs in an isolated workspace while **Live activity** shows each
|
|
135
|
+
stage. You can stop it at any time. When it finishes, the result is a proposal
|
|
136
|
+
and the documentation project is still unchanged.
|
|
137
|
+
|
|
138
|
+
### 5. Review, preview, and deploy
|
|
139
|
+
|
|
140
|
+
1. Open **Review** to compare the current and proposed versions of every file.
|
|
141
|
+
Accept one change, one file, or everything, or ask the agent to revise a
|
|
142
|
+
specific file.
|
|
143
|
+
2. Choose **Preview docs** in the top bar to open the rendered site locally.
|
|
144
|
+
3. Open **Publish**, sign in to Doxbrix once from your browser, choose who can
|
|
145
|
+
read the site, and choose **Publish to Doxbrix**.
|
|
146
|
+
|
|
88
147
|
Your source and docs remain separate:
|
|
89
148
|
|
|
90
149
|
```text
|
|
@@ -93,230 +152,322 @@ workspace/
|
|
|
93
152
|
└── my-product-docs/ ← editable and deployable documentation
|
|
94
153
|
```
|
|
95
154
|
|
|
96
|
-
From then on, the
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
doxloop update
|
|
100
|
-
doxloop deploy
|
|
101
|
-
doxloop settings
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
No configuration flags are required for interactive use. Advanced flags remain
|
|
105
|
-
available as optional one-run overrides for scripts and CI.
|
|
155
|
+
From then on, every update follows the same loop: describe the change on the
|
|
156
|
+
**Update** page, approve the plan, review the proposal, preview, and deploy.
|
|
106
157
|
|
|
107
158
|
## Real examples
|
|
108
159
|
|
|
109
|
-
### Lodash developer docs from
|
|
110
|
-
|
|
111
|
-
From the [Lodash](https://github.com/lodash/lodash) source directory:
|
|
160
|
+
### Lodash developer docs from a local checkout
|
|
112
161
|
|
|
113
|
-
|
|
114
|
-
doxloop
|
|
115
|
-
cd ../lodash-docs
|
|
116
|
-
doxloop create
|
|
117
|
-
```
|
|
162
|
+
With the [Lodash](https://github.com/lodash/lodash) repository checked out,
|
|
163
|
+
open a terminal in its parent folder and run `doxloop ui`. In the wizard:
|
|
118
164
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
165
|
+
1. Name the workspace `lodash-docs`.
|
|
166
|
+
2. Add a **Source code** source, choose **Local folder**, and browse to the
|
|
167
|
+
Lodash checkout.
|
|
168
|
+
3. Choose **Doxbrix** as the generator and **Claude Code** as the coding
|
|
169
|
+
assistant. Doxloop installs it if it is missing.
|
|
170
|
+
4. Under **Guidance**, ask for developer documentation with a quickstart, a
|
|
171
|
+
class and function reference, and a simple example for every function.
|
|
172
|
+
5. Choose **Create documentation plan**, approve the plan, and review the
|
|
173
|
+
proposal.
|
|
123
174
|
|
|
124
175
|
**Generated documentation:** <https://apps-lodash-docs.sites.doxbrix.com/>
|
|
125
176
|
|
|
126
|
-
### Petstore API docs from
|
|
177
|
+
### Petstore API docs from an OpenAPI URL
|
|
127
178
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
`https://petstore3.swagger.io/api/v3/openapi.json` when asked:
|
|
179
|
+
No product checkout is needed. Run `doxloop ui` in any folder and, in the
|
|
180
|
+
wizard:
|
|
131
181
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
> Using Doxloop authoring, create API documentation for this OpenAPI document:
|
|
141
|
-
> https://petstore3.swagger.io/api/v3/openapi.json
|
|
142
|
-
|
|
143
|
-
Because `doxloop init` installs the Doxloop authoring skills inside the project,
|
|
144
|
-
Codex can inspect the OpenAPI document and create the pages, endpoint reference,
|
|
145
|
-
examples, and navigation directly in the opened folder.
|
|
182
|
+
1. Name the workspace `petstore-docs`.
|
|
183
|
+
2. Add an **OpenAPI spec** source, choose **From URL**, and enter
|
|
184
|
+
`https://petstore3.swagger.io/api/v3/openapi.json`.
|
|
185
|
+
3. Choose **Codex** as the coding assistant.
|
|
186
|
+
4. Under **Guidance**, ask for API documentation with an endpoint reference and
|
|
187
|
+
request examples.
|
|
188
|
+
5. Choose **Create documentation plan**, approve the plan, review the proposal,
|
|
189
|
+
and open **Preview docs**.
|
|
146
190
|
|
|
147
191
|
**Generated documentation:** <https://apps-pet-store.sites.doxbrix.com/>
|
|
148
192
|
|
|
149
|
-
When it finishes:
|
|
150
|
-
|
|
151
|
-
Run `doxloop preview --open` and `doxloop test` when it finishes.
|
|
152
|
-
|
|
153
|
-
## Use Doxloop in VS Code, Codex, or Claude
|
|
154
|
-
|
|
155
|
-
Prefer working in Visual Studio Code, the Codex app, Claude Code, or another
|
|
156
|
-
local agent experience? Initialize the project first:
|
|
157
|
-
|
|
158
|
-
```bash
|
|
159
|
-
doxloop init
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
Then open the generated folder where you want to work:
|
|
163
|
-
|
|
164
|
-
| Where | Open the project |
|
|
165
|
-
| --- | --- |
|
|
166
|
-
| VS Code with Codex | `code ../my-product-docs` |
|
|
167
|
-
| Codex app | Open the generated documentation folder |
|
|
168
|
-
| Claude Code | `cd ../my-product-docs && claude` |
|
|
169
|
-
|
|
170
|
-
Ask the agent to use Doxloop authoring:
|
|
171
|
-
|
|
172
|
-
```text
|
|
173
|
-
Use Doxloop authoring to create developer documentation for this project.
|
|
174
|
-
Start with a five-minute quickstart, then add task guides and API reference.
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
`doxloop init` installs project-local skills for the supported agent
|
|
178
|
-
ecosystems:
|
|
179
|
-
|
|
180
|
-
| Agent experience | Installed skills |
|
|
181
|
-
| --- | --- |
|
|
182
|
-
| Codex and Gemini | `.agents/skills/` |
|
|
183
|
-
| Claude Code | `.claude/skills/` |
|
|
184
|
-
|
|
185
|
-
If an editor does not load project skills automatically, prepare a complete
|
|
186
|
-
prompt and paste it into the agent session:
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
|
-
doxloop create --print \
|
|
190
|
-
"Create developer documentation with a quickstart and API reference."
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
> `--print` cannot record when the external agent finishes. Use a
|
|
194
|
-
> Doxloop-launched CLI agent when automatic source-change tracking is important.
|
|
195
|
-
|
|
196
193
|
## What Doxloop handles
|
|
197
194
|
|
|
198
195
|
| Capability | What you get |
|
|
199
196
|
| --- | --- |
|
|
200
|
-
| 🔎 **Source-grounded research** | Uses code, public interfaces, tests, examples, and
|
|
201
|
-
|
|
|
197
|
+
| 🔎 **Source-grounded research** | Uses code, public interfaces, tests, examples, configuration, and OpenAPI documents as evidence. |
|
|
198
|
+
| 🔁 **Rewrite existing docs** | Crawls the documentation you publish today, reports coverage gaps, contradicted claims, and obsolete pages against your sources, and rewrites it with redirects from every old page. |
|
|
199
|
+
| 🧭 **Plan before writing** | Proposes readers, page coverage, and navigation as an editable plan that you approve before anything is written. |
|
|
202
200
|
| ✍️ **Generator-native output** | Creates the right Markdown, MDX, configuration, components, and theme for the selected generator. |
|
|
203
|
-
| ✅ **Built-in quality checks** | Validates pages, navigation, links, metadata, code fences, and generator conventions. |
|
|
204
|
-
|
|
|
205
|
-
|
|
|
201
|
+
| ✅ **Built-in quality checks** | Validates pages, navigation, links, metadata, code fences, page depth, and generator conventions on every proposal and before every deploy. |
|
|
202
|
+
| 🔍 **Reviewable proposals** | Every run lands in an isolated proposal with rendered and source comparisons, per-change acceptance, rationale, and evidence. |
|
|
203
|
+
| 📊 **Coverage by surface** | Shows which discovered product surfaces have documentation evidence and lets you resolve gaps. |
|
|
204
|
+
| ⚙️ **Monitoring** | Polls the source repository on a local schedule and drafts a proposal when documentation goes stale. |
|
|
205
|
+
| 📸 **Guide screenshots** | Gives the agent a scoped browser, verifies every PNG, and embeds images beside the steps they explain. |
|
|
206
|
+
| 🔐 **Local-first control** | Keeps authoring, validation, and preview on your machine. Deploying is a separate confirmed action and credentials never reach the browser. |
|
|
207
|
+
|
|
208
|
+
## The workspace
|
|
206
209
|
|
|
207
|
-
|
|
210
|
+
Every page has a stable URL, so browser back and forward work as expected. The
|
|
211
|
+
left navigation shows:
|
|
208
212
|
|
|
209
|
-
|
|
|
213
|
+
| Page | What you do there |
|
|
210
214
|
| --- | --- |
|
|
211
|
-
|
|
|
212
|
-
|
|
|
213
|
-
|
|
|
214
|
-
|
|
|
215
|
-
|
|
|
216
|
-
|
|
|
217
|
-
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
215
|
+
| **Home** | Follow the loop from sources through plan, write, review, and publish. See what needs your review, overall coverage, the published address, and recent activity. Press ⌘K to search pages, screens, and actions from anywhere. |
|
|
216
|
+
| **Sources** | Connect and test local folders, Git repositories, OpenAPI specifications, and existing documentation sites. Set documentation ownership per source, review coverage by surface, resolve gaps, and configure **Monitoring**. |
|
|
217
|
+
| **Plan** | Describe what readers need, choose the planning agent, model, and screenshot behaviour, review and edit the plan, and approve generation. The page also keeps the **Update history** of every request. |
|
|
218
|
+
| **Docs** | Browse every page by navigation section, preview it, edit its metadata, and describe a focused agent edit. Review the rendered and source changes before accepting, rejecting, refining, or undoing them. The **Navigation** view arranges the sidebar and **Images & files** manages uploads and alt text. |
|
|
219
|
+
| **Review** | Inspect each proposal file by file, read why each change was made, accept changes at any granularity, ask the agent to revise, and optionally prepare a pull request branch. |
|
|
220
|
+
| **Publish** | Publish to Doxbrix: a pre-publish checklist, public or private access, the live site with its address, changes waiting since the last publish, and **History**. |
|
|
221
|
+
| **Settings** | Change the site title, default agent, audience and voice, terminology and the generated glossary, application screenshot settings, branding (logo, colours, fonts), and see the active generator. |
|
|
222
|
+
|
|
223
|
+
**Preview docs** in the top bar starts a local preview of the current
|
|
224
|
+
documentation and opens it in a new tab. The project name at the top of the
|
|
225
|
+
sidebar is the **project switcher**: it lists the projects you opened recently,
|
|
226
|
+
opens any folder, imports an existing documentation site, or starts the setup
|
|
227
|
+
wizard for a new project. **New documentation project** at the bottom of the
|
|
228
|
+
sidebar opens the same wizard.
|
|
229
|
+
|
|
230
|
+
### Work with more than one project
|
|
231
|
+
|
|
232
|
+
Doxloop shows one project at a time and remembers every project it has opened.
|
|
233
|
+
Open the project switcher and pick a recent project to move to it in one click;
|
|
234
|
+
both stay in the list. **Open folder…** opens a folder that is already a
|
|
235
|
+
Doxloop project, or offers to import it when it only holds a documentation
|
|
236
|
+
site. **Import existing documentation…** asks for the folder, shows the
|
|
237
|
+
detected generator, content directory, page count, and the first pages, lets
|
|
238
|
+
you correct any of them, and then adopts the folder: Doxloop writes its own
|
|
239
|
+
project file, an evidence map that marks every page as not yet verified, and
|
|
240
|
+
the agent skills, and runs a read-only discovery pass. No page is modified.
|
|
241
|
+
Sites built with a generator other than Doxbrix need that generator's Doxloop
|
|
242
|
+
package; the import dialog offers to add it to the folder's `package.json`.
|
|
243
|
+
|
|
244
|
+
Switching is refused while a plan, generation, edit, or deployment is running
|
|
245
|
+
in the current project; a local preview is stopped, because it serves the
|
|
246
|
+
project that started it.
|
|
247
|
+
|
|
248
|
+
### Edit a page
|
|
249
|
+
|
|
250
|
+
Run `doxloop ui`, open **Pages**, and select one or more existing pages. Tell
|
|
251
|
+
the agent what should change, optionally allow related navigation or image
|
|
252
|
+
updates, and wait for the isolated proposal. The live documentation remains
|
|
253
|
+
unchanged until you compare the rendered and source versions and choose
|
|
254
|
+
**Accept**; you can also **Reject**, **Refine**, or **Undo** the edit.
|
|
255
|
+
|
|
256
|
+
Some changes need no agent at all. **Page metadata** under the page header
|
|
257
|
+
edits the title, description, sidebar icon, canonical URL, and social image
|
|
258
|
+
directly, with validation and rollback. **Insert an image…** in the composer
|
|
259
|
+
picks or uploads an image and adds it to the instruction.
|
|
260
|
+
|
|
261
|
+
### Arrange the navigation
|
|
262
|
+
|
|
263
|
+
Open **Pages → Navigation**. Drag rows to reorder pages, drop them into a
|
|
264
|
+
section to group them, or use Alt with the arrow keys; select a row to rename
|
|
265
|
+
its label, choose an icon, or hide it. Pages that exist but are not in the
|
|
266
|
+
sidebar are listed under **Add page**. **Save navigation** validates the tree,
|
|
267
|
+
writes it to the generator's own file (`docs.json` for Doxbrix, the `nav` list
|
|
268
|
+
in `mkdocs.yml` for MkDocs), and reloads the preview beside the editor.
|
|
269
|
+
Generators whose navigation lives in code are named instead of edited. The
|
|
270
|
+
same editor appears in plan review, where it arranges the sections of a
|
|
271
|
+
proposed plan.
|
|
272
|
+
|
|
273
|
+
### Brand the site
|
|
274
|
+
|
|
275
|
+
Open **Settings → Branding**. For Doxbrix sites, choose the logo and favicon
|
|
276
|
+
from the project's images (or upload them), set the primary colour and the
|
|
277
|
+
light and dark accents and backgrounds, pick the colour mode and code theme,
|
|
278
|
+
and name the body, heading, and code fonts. The preview below reloads on save.
|
|
279
|
+
Other generators keep their theme in their own configuration file, which the
|
|
280
|
+
panel names.
|
|
281
|
+
|
|
282
|
+
### Manage images and files
|
|
283
|
+
|
|
284
|
+
Open **Pages → Images & files**. Upload or drop images and files into the
|
|
285
|
+
generator's asset directory, see which pages embed each one, edit the alt text
|
|
286
|
+
across all of them at once, replace a file in place, or delete one that no page
|
|
287
|
+
uses. Screenshots in a proposal that is still under review can be replaced from
|
|
288
|
+
the capture gallery before you accept it.
|
|
289
|
+
|
|
290
|
+
### Write release notes
|
|
291
|
+
|
|
292
|
+
When a connected source is a Git checkout, the **Update** page offers
|
|
293
|
+
**Release notes** beside the usual documentation request. Choose the
|
|
294
|
+
repository, the version label, and the two refs that bound the release;
|
|
295
|
+
Doxloop reads the commits, changed files, and the matching changelog section
|
|
296
|
+
between them and gives the planner that inventory as the only evidence for the
|
|
297
|
+
release page.
|
|
298
|
+
|
|
299
|
+
### Generate a glossary
|
|
300
|
+
|
|
301
|
+
Under **Settings → Audience and voice**, terminology is edited as term and
|
|
302
|
+
definition rows. **Generate glossary page** writes a glossary page from those
|
|
303
|
+
rows in the generator's format, adds it to the navigation, and records it in
|
|
304
|
+
the evidence map, so the vocabulary the team curates is visible to readers
|
|
305
|
+
without an agent run.
|
|
223
306
|
|
|
224
307
|
### Change project settings
|
|
225
308
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
-
|
|
236
|
-
|
|
237
|
-
-
|
|
238
|
-
|
|
239
|
-
|
|
309
|
+
Open **Settings** instead of editing `.doxloop/project.json` by hand. Its five
|
|
310
|
+
sections manage:
|
|
311
|
+
|
|
312
|
+
- **General**: site title and the default documentation agent;
|
|
313
|
+
- **Audience and voice**: primary audience, audiences, experience level,
|
|
314
|
+
locale, accessibility target, tone, priority outcomes, preferred examples,
|
|
315
|
+
design direction, terminology and the generated glossary page, exclusions,
|
|
316
|
+
and standing instructions;
|
|
317
|
+
- **Visual evidence**: the safe application URL, ready path, starting route,
|
|
318
|
+
sign-in route, screenshot policy, viewport, capture workflow guidance, a
|
|
319
|
+
**Test application** check, and **Application sign-in** for login-protected
|
|
320
|
+
apps: record a signed-in browser session from a Chrome window Doxloop opens,
|
|
321
|
+
or save a test account's credentials that the capture server types for the
|
|
322
|
+
agent;
|
|
323
|
+
- **Branding**: logo, favicon, colours, colour mode, and fonts for Doxbrix
|
|
324
|
+
sites, or the theme file to edit for other generators; and
|
|
325
|
+
- **Generator**: the generator selected for this workspace.
|
|
240
326
|
|
|
241
327
|
Generator changes are intentionally not performed in place because changing
|
|
242
|
-
frameworks can overwrite generator-native files.
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
### Optional automation overrides
|
|
246
|
-
|
|
247
|
-
Interactive users do not need flags. Scripts can still override saved settings
|
|
248
|
-
for one run:
|
|
249
|
-
|
|
250
|
-
```bash
|
|
251
|
-
doxloop create --agent codex --reasoning high
|
|
252
|
-
doxloop create --agent claude --model <model-name>
|
|
253
|
-
doxloop create --agent gemini
|
|
254
|
-
```
|
|
328
|
+
frameworks can overwrite generator-native files. Start a new documentation
|
|
329
|
+
project when migrating generators.
|
|
255
330
|
|
|
256
331
|
### Ask for exactly what you need
|
|
257
332
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
333
|
+
The request box on the **Create** and **Update** pages accepts plain language.
|
|
334
|
+
Describe the audience, desired outcomes, required pages, tone, priorities, or
|
|
335
|
+
exclusions, for example:
|
|
336
|
+
|
|
337
|
+
> Write for platform engineers. Include installation, Kubernetes deployment,
|
|
338
|
+
> authentication, a production-readiness checklist, and troubleshooting.
|
|
339
|
+
|
|
340
|
+
> Document webhook retries and remove the legacy import workflow.
|
|
341
|
+
|
|
342
|
+
Choose a starting scope, optionally set **Minimum pages to write** when the
|
|
343
|
+
existing documentation is thin, and decide whether the planner should ask you
|
|
344
|
+
questions in review, use recommendations, or always wait for answers.
|
|
345
|
+
|
|
346
|
+
## Keep documentation current
|
|
347
|
+
|
|
348
|
+
Documentation goes stale because nothing reports it. Doxloop records the
|
|
349
|
+
sources behind every page in `.doxloop/evidence-map.json`, so it can name the
|
|
350
|
+
individual pages a later change made stale rather than only reporting that a
|
|
351
|
+
source changed.
|
|
352
|
+
|
|
353
|
+
Open **Sources** and choose **Monitoring** to configure it:
|
|
354
|
+
|
|
355
|
+
1. Enter the **Product branch** to follow.
|
|
356
|
+
2. Choose a **Schedule**: daily, weekdays, weekly, monthly, or a custom
|
|
357
|
+
interval in minutes or hours. Times use your device timezone.
|
|
358
|
+
3. Optionally open **Advanced watch scope and budgets** to set watched and
|
|
359
|
+
ignored paths, the maximum agent minutes and runs per day, a maximum
|
|
360
|
+
Claude spend per run, and how old verified evidence may become before it
|
|
361
|
+
is re-verified.
|
|
362
|
+
4. Choose **Save and install**.
|
|
363
|
+
|
|
364
|
+
Doxloop installs a local scheduled job that checks every connected source. A
|
|
365
|
+
Git repository source is checked through the provider's read-only API; when
|
|
366
|
+
the commit changed, that exact commit is downloaded as isolated evidence. A
|
|
367
|
+
local folder is checked in place: a Git checkout by its HEAD commit and
|
|
368
|
+
working tree, any other folder by comparing its files with the content
|
|
369
|
+
recorded at the last sync. When documentation went stale, the job drafts a
|
|
370
|
+
proposal under **Review**. Monitoring never modifies the product source, never
|
|
371
|
+
fetches or pulls into a checkout, never installs repository hooks, never needs
|
|
372
|
+
a model API key, and never publishes. Choose **Check now** to run a cycle
|
|
373
|
+
immediately; the result appears as a notice in the control center and under
|
|
374
|
+
**Recent activity**. **Disable** removes the schedule while keeping the
|
|
375
|
+
settings.
|
|
376
|
+
|
|
377
|
+
Lock files and snapshots are ignored by default. Test files are not, because
|
|
378
|
+
the authoring workflow reads tests as evidence of supported behaviour.
|
|
379
|
+
|
|
380
|
+
## Review what changed and why
|
|
381
|
+
|
|
382
|
+
The **Review** page keeps the full review in one place:
|
|
383
|
+
|
|
384
|
+
1. The proposal list shows what is waiting, why it was drafted, and its status.
|
|
385
|
+
2. **Changed files** switches between every documentation and supporting-file
|
|
386
|
+
change, with search.
|
|
387
|
+
3. **Diff layout** switches between side-by-side and stacked comparisons of the
|
|
388
|
+
rendered pages, and the source view shows line-level context with an
|
|
389
|
+
**Accept change** button on each individual change.
|
|
390
|
+
4. **Why this change** shows the supporting evidence, reader-facing claims,
|
|
391
|
+
affected public interfaces, assumptions to verify, and validation results.
|
|
392
|
+
5. **Accept change**, **Accept file**, and **Accept all** apply the selection.
|
|
393
|
+
**Ask agent to revise** regenerates only the selected scope and supersedes
|
|
394
|
+
the earlier proposal. Applied page files link back to **Pages** for a new
|
|
395
|
+
agent-driven edit.
|
|
396
|
+
6. **Preview documentation** renders the proposal, **Prepare PR branch**
|
|
397
|
+
stages the accepted result in a Git branch, and **Push & create PR** opens
|
|
398
|
+
a pull request.
|
|
399
|
+
|
|
400
|
+
Every accepted selection is checked against the original file fingerprint and
|
|
401
|
+
validated before it is written. A local edit made while review is pending
|
|
402
|
+
causes a visible conflict instead of an overwrite. Partial acceptance applies
|
|
403
|
+
only the selected changes and keeps the proposal pending. Rejected proposals
|
|
404
|
+
never change the documentation.
|
|
405
|
+
|
|
406
|
+
Doxloop also keeps a local record of what it was asked to do and what happened.
|
|
407
|
+
**Update history** on the Plan page lists each request, its
|
|
408
|
+
outcome, and the pages it touched. **Deployment history** on the Publish page
|
|
409
|
+
lists every deployment, including the ones that failed. The record lives in
|
|
410
|
+
`.doxloop/doxloop.db`, which is added to `.gitignore` automatically and is
|
|
411
|
+
readable only by its owner. Agent transcripts are not recorded.
|
|
412
|
+
|
|
413
|
+
## Preview, validate, and deploy
|
|
414
|
+
|
|
415
|
+
Doxloop validates pages, navigation, links, metadata, code fences, and page
|
|
416
|
+
depth every time it creates a proposal, and again before every dry run and
|
|
417
|
+
deployment. Validation errors stop a deployment; warnings are reported.
|
|
418
|
+
|
|
419
|
+
Choose **Preview docs** at any time to open the local site. Then open
|
|
420
|
+
**Publish**:
|
|
421
|
+
|
|
422
|
+
1. Sign in to Doxbrix once. Doxloop opens your browser, you approve the code it
|
|
423
|
+
shows, and the session stays on this computer.
|
|
424
|
+
2. Check **Ready to publish**: validation, and whether changes still wait in
|
|
425
|
+
**Review**. A check that fails keeps the publish button disabled.
|
|
426
|
+
3. Choose who can read the site, **Public** or **Private**, and choose
|
|
427
|
+
**Publish to Doxbrix**. Doxloop validates, builds, and uploads; the site is
|
|
428
|
+
usually live in under a minute, and **Publish changes** sends later edits.
|
|
429
|
+
|
|
430
|
+
To self-host instead of using Doxbrix, export a static site from the command line:
|
|
262
431
|
|
|
263
432
|
```bash
|
|
264
|
-
doxloop
|
|
265
|
-
|
|
433
|
+
doxloop export --out ./site-export --zip
|
|
434
|
+
doxloop deploy --target github-pages --base-path /my-repository
|
|
266
435
|
```
|
|
267
436
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
## Preview, test, and publish
|
|
272
|
-
|
|
273
|
-
Authoring never publishes automatically.
|
|
274
|
-
|
|
275
|
-
```bash
|
|
276
|
-
doxloop status
|
|
277
|
-
doxloop test
|
|
278
|
-
doxloop preview --open
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
To deploy through [Doxbrix](https://www.doxbrix.com/):
|
|
282
|
-
|
|
283
|
-
```bash
|
|
284
|
-
doxloop deploy
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
`deploy` validates the documentation, shows the exact name, slug, destination,
|
|
288
|
-
visibility, page count, and warnings, then asks once before uploading. It offers
|
|
289
|
-
sign-in after you approve the summary. Deployments are private by default.
|
|
290
|
-
|
|
291
|
-
Use `doxloop settings` to change visibility or the hosted address. A public
|
|
292
|
-
deployment always shows a default-no warning in an interactive terminal. For
|
|
293
|
-
CI, the explicit combination `doxloop deploy --public --yes` runs without
|
|
294
|
-
prompts.
|
|
437
|
+
Authoring never publishes automatically, and configured product sources are
|
|
438
|
+
never included in a deployment.
|
|
295
439
|
|
|
296
440
|
## Supported generators
|
|
297
441
|
|
|
298
442
|
Doxbrix is built in and selected by default. External generators use a separate
|
|
299
|
-
adapter package
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
|
303
|
-
|
|
|
304
|
-
|
|
|
305
|
-
|
|
|
306
|
-
|
|
|
307
|
-
|
|
|
308
|
-
|
|
|
309
|
-
|
|
|
310
|
-
|
|
|
311
|
-
|
|
|
312
|
-
|
|
|
313
|
-
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
443
|
+
adapter package that Doxloop installs into the documentation project when you
|
|
444
|
+
choose the generator in the setup wizard.
|
|
445
|
+
|
|
446
|
+
| Generator | Tier | Needs | Package | Source format | Build output |
|
|
447
|
+
| --- | --- | --- | --- | --- | --- |
|
|
448
|
+
| **Doxbrix** | Full | Nothing extra | Included | Markdown and Doxbrix MDX | Static `build/` plus Doxbrix bundle |
|
|
449
|
+
| Docusaurus | Full | Node.js 22.13+ | `@doxbrix/doxloop-generator-docusaurus` | Markdown and MDX | `build/` |
|
|
450
|
+
| MkDocs Material | Full | Python 3.9+ | `@doxbrix/doxloop-generator-mkdocs` | Material Markdown | `site/` |
|
|
451
|
+
| Sphinx | Supported | Python 3.9+ | `@doxbrix/doxloop-generator-sphinx` | reStructuredText | `_build/html/` |
|
|
452
|
+
| Hugo | Supported | Hugo | `@doxbrix/doxloop-generator-hugo` | Markdown | `public/` |
|
|
453
|
+
| VitePress | Supported | Node.js 22.13+ | `@doxbrix/doxloop-generator-vitepress` | Markdown | `docs/.vitepress/dist/` |
|
|
454
|
+
| Starlight | Supported | Node.js 22.13+ | `@doxbrix/doxloop-generator-starlight` | Markdown and MDX | `dist/` |
|
|
455
|
+
| Markdoc | Basic | Node.js 22.13+ | `@doxbrix/doxloop-generator-markdoc` | Markdoc | `dist/` |
|
|
456
|
+
| Nextra | Basic | Node.js 22.13+ | `@doxbrix/doxloop-generator-nextra` | MDX | `out/` |
|
|
457
|
+
| Jekyll | Basic | Ruby + Bundler | `@doxbrix/doxloop-generator-jekyll` | Markdown and Liquid | `_site/` |
|
|
458
|
+
| Static HTML | Basic | Node.js 22.13+ | `@doxbrix/doxloop-generator-static` | HTML | `site/` |
|
|
459
|
+
|
|
460
|
+
The tier describes Doxloop's adapter, not the framework. **Full** generators
|
|
461
|
+
have their navigation, components, and diagrams validated and documented and
|
|
462
|
+
are built end to end in CI. **Supported** generators validate nested
|
|
463
|
+
navigation wherever the configuration can be read and report "navigation not
|
|
464
|
+
verified" instead of guessing when it cannot. **Basic** generators scaffold,
|
|
465
|
+
preview, and build, with navigation checks limited to the files the scaffold
|
|
466
|
+
owns. The wizard's **Tools** step shows the tier beside each generator and
|
|
467
|
+
checks that the required toolchain is installed before the project is created.
|
|
468
|
+
Doxbrix is the recommended first choice. The
|
|
318
469
|
[public generator guide](https://doxloop.sites.doxbrix.com/generators) covers
|
|
319
|
-
|
|
470
|
+
selection, native build requirements, and migration.
|
|
320
471
|
|
|
321
472
|
## Guides
|
|
322
473
|
|
|
@@ -324,8 +475,8 @@ installation, selection, inspection, removal, and migration.
|
|
|
324
475
|
| --- | --- | --- |
|
|
325
476
|
| [Create documentation](https://doxloop.sites.doxbrix.com/create) | [Project configuration](https://doxloop.sites.doxbrix.com/project-configuration) | [Troubleshooting](https://doxloop.sites.doxbrix.com/troubleshooting) |
|
|
326
477
|
| [Update documentation](https://doxloop.sites.doxbrix.com/update) | [Generators](https://doxloop.sites.doxbrix.com/generators) | [Security](https://doxloop.sites.doxbrix.com/security) |
|
|
327
|
-
| [
|
|
328
|
-
| [
|
|
478
|
+
| [Review documentation](https://doxloop.sites.doxbrix.com/review) | [Agent compatibility](https://doxloop.sites.doxbrix.com/agent-compatibility) | [Automation and CI](https://doxloop.sites.doxbrix.com/ci-automation) |
|
|
479
|
+
| [Guide screenshots](https://doxloop.sites.doxbrix.com/guide-screenshots) | [Publish documentation](https://doxloop.sites.doxbrix.com/publish) | |
|
|
329
480
|
|
|
330
481
|
Browse all documentation at <https://doxloop.sites.doxbrix.com/>.
|
|
331
482
|
|
|
@@ -335,3 +486,48 @@ Browse all documentation at <https://doxloop.sites.doxbrix.com/>.
|
|
|
335
486
|
and run unmodified copies for lawful personal or commercial purposes. Copying,
|
|
336
487
|
modification, incorporation into other products, and redistribution are not
|
|
337
488
|
permitted without explicit written permission from Doxbrix.
|
|
489
|
+
|
|
490
|
+
### Direct page editing and bounded runs
|
|
491
|
+
|
|
492
|
+
In **Pages**, open **Edit text directly** to edit Markdown/MDX, preview a draft,
|
|
493
|
+
compare it with the saved version, and save without an agent. Browser drafts
|
|
494
|
+
survive reloads. A fingerprint conflict keeps your draft and prevents an
|
|
495
|
+
overwrite. Saves normally mark evidence for review; preserve verification only
|
|
496
|
+
when the change is wording alone. Direct edits have persistent undo in
|
|
497
|
+
**Manage pages → Recent direct edits**. Undo refuses to replace newer changes.
|
|
498
|
+
|
|
499
|
+
**Manage pages** creates, moves and deletes pages while updating navigation,
|
|
500
|
+
links and evidence in one validated transaction. Moves preserve or redirect
|
|
501
|
+
old URLs; deletion requires a replacement when other pages link to the target.
|
|
502
|
+
Doxbrix, MkDocs and autogenerated Docusaurus navigation are supported directly;
|
|
503
|
+
custom coded navigation requires a reviewed agent proposal. Unsupported native
|
|
504
|
+
formats are reported before any files change.
|
|
505
|
+
|
|
506
|
+
Proposal review supports direct text edits, per-file and per-change rejection
|
|
507
|
+
with reasons, and mixed accept/reject decisions. Rejecting remaining changes
|
|
508
|
+
keeps already accepted work. A fully decided mixed proposal can be undone;
|
|
509
|
+
rejected changes do not advance the source freshness baseline.
|
|
510
|
+
|
|
511
|
+
A new plan's batch follows the documentation depth you choose: Starter allows
|
|
512
|
+
five pages and 15 minutes per authoring attempt; Standard twelve pages and
|
|
513
|
+
45 minutes; Comprehensive forty pages and 120 minutes. Each batch allows three
|
|
514
|
+
screenshots per page it may write. **Run limits** and the plan review expose
|
|
515
|
+
maximum pages, screenshot artifacts and minutes. Approval refuses oversized
|
|
516
|
+
plans; mark extra pages **Later** or raise the limits explicitly. Generated
|
|
517
|
+
proposals outside the approved page scope or artifact limits remain in the
|
|
518
|
+
recovery workspace. The timer bounds each attempt; retries consume another
|
|
519
|
+
attempt. Planned coverage earns no documented-page credit.
|
|
520
|
+
|
|
521
|
+
Monitoring coordinates scheduled and manual authoring across processes,
|
|
522
|
+
reserves daily starts in a persistent ledger, and pauses while a proposal
|
|
523
|
+
needs review. Scheduled authoring requires verified agent sign-in. Monitoring
|
|
524
|
+
logs rotate at 1 MiB, retaining one previous file; rotation does not reset the
|
|
525
|
+
budget.
|
|
526
|
+
|
|
527
|
+
GitHub Pages publishing permits `gh-pages` or `doxloop-pages/<name>`, rejects
|
|
528
|
+
the checked-out source branch, and only updates existing branches marked as
|
|
529
|
+
Doxloop deployments. Each update preserves deployment history and protects
|
|
530
|
+
against concurrent remote changes. Use a fresh `doxloop-pages/<name>` for a
|
|
531
|
+
legacy branch without the ownership marker.
|
|
532
|
+
|
|
533
|
+
See [editing, auditing, versions, and review workflows](docs/review-workflows.md) for comments, bulk operations, read-only imports, reader verification, and the hosted pull-request impact check.
|