@open-agent-toolkit/cli 0.3.12 → 0.3.14

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.
Files changed (152) hide show
  1. package/README.md +1 -1
  2. package/assets/bundle-metadata.json +1 -1
  3. package/assets/docs/contributing/index.md +14 -1
  4. package/assets/docs/contributing/skills.md +64 -2
  5. package/assets/docs/contributing/smoke-testing.md +3 -3
  6. package/assets/docs/contributing/updating-model-guidance.md +2 -2
  7. package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
  8. package/assets/docs/docs-tooling/add-docs-to-a-repo.md +112 -15
  9. package/assets/docs/docs-tooling/agent-instructions.md +131 -0
  10. package/assets/docs/docs-tooling/commands.md +74 -30
  11. package/assets/docs/docs-tooling/index.md +7 -6
  12. package/assets/docs/docs-tooling/meta.json +1 -1
  13. package/assets/docs/docs-tooling/workflows.md +357 -11
  14. package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
  15. package/assets/docs/{guide → getting-started}/concepts.md +28 -10
  16. package/assets/docs/getting-started/index.md +68 -0
  17. package/assets/docs/getting-started/meta.json +4 -0
  18. package/assets/docs/getting-started/quickstart.md +174 -0
  19. package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +146 -15
  20. package/assets/docs/index.md +47 -48
  21. package/assets/docs/meta.json +6 -7
  22. package/assets/docs/provider-sync/commands.md +26 -3
  23. package/assets/docs/provider-sync/config.md +60 -1
  24. package/assets/docs/provider-sync/index.md +31 -15
  25. package/assets/docs/provider-sync/instruction-sync.md +43 -5
  26. package/assets/docs/provider-sync/manifest-and-drift.md +85 -0
  27. package/assets/docs/provider-sync/meta.json +1 -0
  28. package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
  29. package/assets/docs/provider-sync/scope-and-surface.md +37 -3
  30. package/assets/docs/reference/cli-reference.md +34 -34
  31. package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
  32. package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
  33. package/assets/docs/reference/docs-index-contract.md +19 -4
  34. package/assets/docs/reference/file-locations.md +7 -2
  35. package/assets/docs/reference/index.md +13 -1
  36. package/assets/docs/reference/meta.json +7 -1
  37. package/assets/docs/reference/oat-directory-structure.md +24 -22
  38. package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
  39. package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +1 -1
  40. package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
  41. package/assets/docs/reference/troubleshooting.md +125 -10
  42. package/assets/docs/reference/what-oat-writes.md +410 -0
  43. package/assets/docs/skills/brainstorm.md +77 -0
  44. package/assets/docs/skills/diagnostics.md +56 -0
  45. package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
  46. package/assets/docs/skills/index.md +416 -0
  47. package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
  48. package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
  49. package/assets/docs/skills/repo-improve.md +254 -0
  50. package/assets/docs/skills/research.md +237 -0
  51. package/assets/docs/skills/session-closeout.md +61 -0
  52. package/assets/docs/workflows/advanced/autonomy.md +344 -0
  53. package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
  54. package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
  55. package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +1 -1
  56. package/assets/docs/workflows/advanced/index.md +19 -0
  57. package/assets/docs/workflows/advanced/meta.json +13 -0
  58. package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +63 -4
  59. package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
  60. package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
  61. package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
  62. package/assets/docs/workflows/approvals-and-automation.md +261 -0
  63. package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
  64. package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
  65. package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
  66. package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
  67. package/assets/docs/workflows/choose-workflow.md +114 -0
  68. package/assets/docs/workflows/ideas/index.md +3 -3
  69. package/assets/docs/workflows/ideas/lifecycle.md +218 -1
  70. package/assets/docs/workflows/index.md +11 -62
  71. package/assets/docs/workflows/meta.json +10 -2
  72. package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
  73. package/assets/docs/workflows/projects/closeout/index.md +14 -0
  74. package/assets/docs/workflows/projects/closeout/meta.json +4 -0
  75. package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
  76. package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
  77. package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
  78. package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +8 -8
  79. package/assets/docs/workflows/projects/execution/index.md +15 -0
  80. package/assets/docs/workflows/projects/execution/meta.json +9 -0
  81. package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
  82. package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
  83. package/assets/docs/workflows/projects/index.md +38 -49
  84. package/assets/docs/workflows/projects/lifecycle.md +47 -11
  85. package/assets/docs/workflows/projects/meta.json +2 -23
  86. package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
  87. package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
  88. package/assets/docs/workflows/projects/planning/index.md +16 -0
  89. package/assets/docs/workflows/projects/planning/meta.json +10 -0
  90. package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
  91. package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
  92. package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
  93. package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
  94. package/assets/docs/workflows/projects/reviews/meta.json +4 -0
  95. package/assets/docs/workflows/projects/reviews/review-flavors.md +643 -0
  96. package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
  97. package/assets/docs/workflows/waves/index.md +12 -0
  98. package/assets/docs/workflows/waves/meta.json +4 -0
  99. package/assets/docs/workflows/waves/wave-workflows.md +206 -0
  100. package/assets/public-package-versions.json +4 -4
  101. package/assets/skills/oat-docs/SKILL.md +19 -19
  102. package/assets/skills/oat-docs-analyze/SKILL.md +27 -7
  103. package/assets/skills/oat-docs-analyze/references/quality-checklist.md +16 -3
  104. package/assets/skills/oat-docs-apply/SKILL.md +20 -3
  105. package/assets/skills/oat-docs-authoring/SKILL.md +11 -7
  106. package/assets/skills/oat-docs-authoring/references/docs-root-resolution.md +12 -5
  107. package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +7 -7
  108. package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +13 -3
  109. package/assets/skills/oat-docs-authoring/references/targeted-authoring-workflow.md +5 -4
  110. package/assets/skills/oat-docs-authoring/references/validation.md +11 -1
  111. package/assets/skills/oat-docs-bootstrap/SKILL.md +31 -8
  112. package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +2 -1
  113. package/assets/skills/oat-doctor/SKILL.md +25 -25
  114. package/assets/skills/oat-project-document/SKILL.md +21 -2
  115. package/assets/templates/docs-markdown/contributing.md +35 -0
  116. package/assets/templates/docs-markdown/index.md +18 -0
  117. package/dist/commands/docs/index-generate/index.d.ts.map +1 -1
  118. package/dist/commands/docs/index-generate/index.js +41 -8
  119. package/dist/commands/docs/init/index.d.ts +17 -2
  120. package/dist/commands/docs/init/index.d.ts.map +1 -1
  121. package/dist/commands/docs/init/index.js +194 -14
  122. package/dist/commands/docs/init/markdown.d.ts +39 -0
  123. package/dist/commands/docs/init/markdown.d.ts.map +1 -0
  124. package/dist/commands/docs/init/markdown.js +317 -0
  125. package/dist/commands/docs/init/resolve-options.d.ts +3 -1
  126. package/dist/commands/docs/init/resolve-options.d.ts.map +1 -1
  127. package/dist/commands/docs/init/resolve-options.js +36 -0
  128. package/dist/commands/docs/init/scaffold.d.ts.map +1 -1
  129. package/dist/commands/docs/init/scaffold.js +11 -0
  130. package/dist/commands/shared/agents-md.d.ts +7 -0
  131. package/dist/commands/shared/agents-md.d.ts.map +1 -1
  132. package/dist/commands/shared/agents-md.js +131 -91
  133. package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
  134. package/dist/commands/tools/shared/pack-manifest.js +1 -0
  135. package/dist/config/oat-config.d.ts +2 -1
  136. package/dist/config/oat-config.d.ts.map +1 -1
  137. package/dist/config/oat-config.js +4 -2
  138. package/package.json +2 -2
  139. package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
  140. package/assets/docs/cli-utilities/index.md +0 -74
  141. package/assets/docs/cli-utilities/meta.json +0 -13
  142. package/assets/docs/cli-utilities/remote-project-management.md +0 -191
  143. package/assets/docs/guide/index.md +0 -31
  144. package/assets/docs/guide/meta.json +0 -4
  145. package/assets/docs/quickstart.md +0 -88
  146. package/assets/docs/workflows/projects/autonomy.md +0 -196
  147. package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
  148. package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
  149. package/assets/docs/workflows/projects/review-flavors.md +0 -138
  150. package/assets/docs/workflows/skills/index.md +0 -184
  151. package/assets/docs/workflows/skills/repo-improve.md +0 -89
  152. package/assets/docs/workflows/wave-workflows.md +0 -77
@@ -1,13 +1,13 @@
1
1
  ---
2
- title: Docs App Commands
3
- description: 'Docs scaffolding CLI surface for Fumadocs/MkDocs, migration helpers, Fumadocs index generation, and nav sync for both frameworks.'
2
+ title: Documentation Commands
3
+ description: 'Markdown bootstrap/adoption, framework scaffolding, external manifests, and navigation helpers for both frameworks.'
4
4
  ---
5
5
 
6
- # Docs App Commands
6
+ # Documentation Commands
7
7
 
8
8
  OAT includes a dedicated docs command family for bootstrapping and maintaining
9
- documentation apps. Two frameworks are supported: **Fumadocs** (Next.js-based)
10
- and **MkDocs Material**.
9
+ plain Markdown documentation and apps using **Fumadocs** (Next.js-based)
10
+ or **MkDocs Material**.
11
11
 
12
12
  ## Quick Look
13
13
 
@@ -17,14 +17,14 @@ and **MkDocs Material**.
17
17
 
18
18
  ## Command surface
19
19
 
20
- | Command | Purpose |
21
- | ------------------------- | ----------------------------------------------------------------------------- |
22
- | `oat docs init` | Scaffold a new docs app (Fumadocs or MkDocs). |
23
- | `oat docs migrate` | Convert MkDocs admonitions to GFM callouts and inject frontmatter. |
24
- | `oat docs generate-index` | Generate a Fumadocs app-root docs index manifest from the Markdown file tree. |
25
- | `oat docs nav sync` | Regenerate `mkdocs.yml` nav or Fumadocs `meta.json` from `index.md` maps. |
26
- | `oat docs analyze` | CLI entrypoint that points users to the `oat-docs-analyze` skill. |
27
- | `oat docs apply` | CLI entrypoint that points users to the `oat-docs-apply` skill. |
20
+ | Command | Purpose |
21
+ | ------------------------- | ------------------------------------------------------------------------- |
22
+ | `oat docs init` | Set up Markdown files or a docs app; additively adopt Markdown. |
23
+ | `oat docs migrate` | Convert MkDocs admonitions to GFM callouts and inject frontmatter. |
24
+ | `oat docs generate-index` | Generate a manifest from Markdown files, outside authored content. |
25
+ | `oat docs nav sync` | Regenerate `mkdocs.yml` nav or Fumadocs `meta.json` from `index.md` maps. |
26
+ | `oat docs analyze` | CLI entrypoint that points users to the `oat-docs-analyze` skill. |
27
+ | `oat docs apply` | CLI entrypoint that points users to the `oat-docs-apply` skill. |
28
28
 
29
29
  ## Which Generation Command To Run
30
30
 
@@ -33,24 +33,59 @@ Use the framework-specific generated-artifact command:
33
33
  - Fumadocs apps run `fumadocs-mdx` and `oat docs generate-index`. In this repo, `predev` and `prebuild` regenerate `apps/oat-docs/index.md` from `apps/oat-docs/docs`. Run `oat docs nav sync` yourself after structural changes to rewrite the committed `meta.json` sidebar files from authored directory `index.md` `## Contents` sections; the hooks never write them. `prebuild` runs `oat docs nav sync --check`, so a build fails when those files are stale or a page is unlisted.
34
34
  - MkDocs apps use `oat docs nav sync` to regenerate the `nav:` block in `mkdocs.yml` from authored directory `index.md` `## Contents` sections.
35
35
 
36
- Both frameworks keep authored `## Contents` sections as the source of local discovery. The generated artifact differs by framework.
36
+ Markdown needs no generation command or site build; optional inventories require
37
+ explicit external output and retain the authored config index. Both frameworks keep authored `## Contents` sections as the source of local discovery. The generated artifact differs by framework.
37
38
 
38
39
  ## `oat docs init`
39
40
 
40
- Use `oat docs init` to scaffold a docs app that follows the OAT docs contract.
41
+ Use `oat docs init` to bootstrap Markdown documentation or scaffold a framework app.
41
42
 
42
43
  > **Consider the `oat-docs-bootstrap` skill instead.** The skill wraps `oat docs init` with preflight detection, richer input gathering (site name distinct from package name), capability-gated post-patches that close open CLI gaps (site-title metadata, Turbopack root, template-content fixes, docs-app `AGENTS.md` bridge, `## Contents` link extensions, `contributing.md` three-surfaces cleanup), build verification, config inspection, and a seven-section educational walkthrough. See [Add Docs to a Repo §3a](add-docs-to-a-repo.md#3a-preferred-the-oat-docs-bootstrap-skill-guided) for the full flow. The CLI documented here remains the authoritative surface for flags and is the right choice when you need a deterministic, non-interactive scaffold (CI, automation).
43
44
 
44
45
  Key behavior:
45
46
 
46
- - prompts for framework choice (Fumadocs or MkDocs) in interactive mode
47
+ - prompts for Markdown, Fumadocs, or MkDocs in interactive mode
47
48
  - detects monorepo vs single-package repo shape
48
- - defaults to `apps/<app-name>` for monorepos
49
- - defaults to `<app-name>/` at repo root for single-package repos
49
+ - Markdown defaults to literal `docs` in every repo shape; framework apps default
50
+ to `apps/<app-name>` for monorepos
51
+ - framework apps default to `<app-name>/` at repo root for single-package repos
50
52
  - sets `documentation.tooling`, `documentation.root`, and `documentation.index` in `.oat/config.json`
51
- - when the repo root exposes a compatible Turbo `scripts.build`, patches it to exclude the new docs app from the default root build and adds a root-level `build:docs` script
53
+ - for framework apps, when the repo root exposes a compatible Turbo `scripts.build`, patches it to exclude the new docs app from the default root build and adds a root-level `build:docs` script
52
54
  - prints a unified diff before writing the root `package.json` change and returns a manual snippet when the patch is skipped because the build script is missing, non-Turbo, or ambiguous
53
55
 
56
+ Markdown setup:
57
+
58
+ - Creates only authored root `index.md` and `contributing.md` baseline pages,
59
+ with metadata, context and real relative `.md` Contents links.
60
+ - Records literal root/tooling/authored index and managed root guidance; no
61
+ docs-root AGENTS, app package, dependencies, package/Turbo patch or site build.
62
+ - Populated targets require `--adopt` even with `--yes`. Adoption only adds missing
63
+ baseline files; existing malformed indexes and local instructions are preserved
64
+ with audit advice. It does not claim full OAT conformity.
65
+ - When the root `index.md` is missing, its initial Contents map includes existing
66
+ sibling pages and usable immediate child indexes. Readable child-index symlinks
67
+ resolving inside the repository are supported. Unusable child indexes are
68
+ preserved and omitted from the map with audit advice. An existing root index
69
+ is preserved rather than rebuilt.
70
+ - During this discovery, directories containing only `AGENTS.md` or `CLAUDE.md`
71
+ do not trigger missing-index advice. If permissions prevent inspection of a
72
+ nested directory, bootstrap preserves it, reports that it was not inspected,
73
+ and continues checking readable siblings. Required root-baseline and target
74
+ safety checks remain strict; use analyze/apply for approved content repairs.
75
+ - Unsafe roots and incompatible documentation config fail before writes.
76
+ Explicit framework selection retains its existing replacement behavior over
77
+ Markdown config, without migrating or deleting old Markdown content.
78
+ - `--dry-run` reports planned changes without writes. Manual-required/blocked
79
+ guidance yields `partial`/exit `1`; a real partial may already have written
80
+ files/config. Converged adoption is `ok`/exit `0` with no changes.
81
+ - Lint/format defaults are `none`; selecting existing tools never installs them.
82
+
83
+ ```bash
84
+ oat docs init --framework markdown --site-name "Project Docs" --yes
85
+ oat docs init --framework markdown --target-dir handbook --adopt --dry-run --yes
86
+ oat docs init --framework markdown --target-dir handbook --adopt --yes
87
+ ```
88
+
54
89
  Fumadocs scaffold:
55
90
 
56
91
  - thin Next.js app importing from `@open-agent-toolkit/docs-config`, `@open-agent-toolkit/docs-theme`, `@open-agent-toolkit/docs-transforms`
@@ -67,11 +102,14 @@ Supported flags:
67
102
 
68
103
  - `--app-name <name>`
69
104
  - `--target-dir <path>`
70
- - `--framework <fumadocs|mkdocs>` (default: `fumadocs` in non-interactive mode)
71
- - `--description <text>` (site description, optional)
105
+ - `--framework <markdown|fumadocs|mkdocs>` (default: `fumadocs` in non-interactive mode)
106
+ - `--site-name <name>` (site display title or Markdown documentation title)
107
+ - `--description <text>` (documentation description, optional)
72
108
  - `--lint <none|markdownlint-cli2>`
73
109
  - `--format <oxfmt|none>`
74
- - `--no-root-patch`
110
+ - `--adopt` (Markdown only; add missing baseline files, preserve existing bytes)
111
+ - `--dry-run` (Markdown only; nonmutating files/config/guidance preview)
112
+ - `--no-root-patch` (inapplicable to Markdown, as is `--app-name`)
75
113
  - `--yes`
76
114
 
77
115
  Examples:
@@ -128,12 +166,12 @@ Key behavior:
128
166
  - recursively walks the docs directory
129
167
  - extracts page titles from frontmatter (falls back to first `# heading`, then filename title-case)
130
168
  - includes descriptions from frontmatter when present
131
- - resolves omitted paths from `.oat/config.json` rather than the current directory: `--docs-dir` defaults to `<documentation.root>/docs` when that directory exists and to `<documentation.root>` otherwise, and `--output` defaults to the app-root manifest `<documentation.root>/index.md`
169
+ - resolves omitted paths from `.oat/config.json` rather than the current directory: configured Markdown uses the literal `documentation.root` for `--docs-dir` and requires explicit `--output`; other tooling defaults to `<documentation.root>/docs` when present or `<documentation.root>` otherwise, with app-root manifest output `<documentation.root>/index.md`
132
170
  - treats explicitly supplied `--docs-dir` / `--output` paths as overrides resolved from the current directory
133
171
  - fails with exit code `2` before generating or writing anything when an omitted path has no non-empty `documentation.root` to resolve against, or when the configured root is not a directory
134
- - refuses unsafe output targets with exit code `1` before generation, for derived and explicit paths alike, comparing symlink-resolved paths: inside the docs directory it indexes, equal to `documentation.config`, or ending in `.yml` / `.yaml` in any case. A derived output whose existing file lacks the `AUTOGENERATED` header is refused too; naming that path with `--output` overwrites it explicitly. A refused target is an actionable flag error (`1`); unusable path configuration is a separate condition and exits `2`, so scripts can branch on the two
172
+ - refuses unsafe output targets with exit code `1` before generation, for derived and explicit paths alike, comparing symlink-resolved paths: inside the docs directory it indexes, equal to `documentation.config`, or ending in `.yml` / `.yaml` in any case. A derived output whose existing file lacks the `AUTOGENERATED` header is refused too; naming that path with `--output` overwrites it explicitly only when no other output guard applies. Configured Markdown additionally protects its full canonical content root and authored `documentation.index`, independently of selected source; narrowed sources and symlink aliases cannot bypass that guard. A refused target is an actionable flag error (`1`); unusable path configuration is a separate condition and exits `2`, so scripts can branch on the two
135
173
  - refuses a symlink chain that exceeds its own 32-hop cap, naming the path you supplied or the CLI derived rather than an intermediate link, and addressing the flag that owns it: an unusable **output** chain names `--output` and exits `1`; an unusable **docs directory** chain names `--docs-dir` and, when the directory was derived from `documentation.root` rather than passed explicitly, also names the `oat config set documentation.root <path>` repair and exits `2` as unusable path configuration. That cap governs the dangling links the command walks itself; a chain the operating system refuses first surfaces as its own `ELOOP` error with exit `1`, which is what a too-deep chain reports on a platform whose own limit is 32 or lower
136
- - writes configuration only for the Fumadocs manifest transition — recording the manifest it just wrote inside `documentation.root` in `documentation.index`, when `documentation.tooling` is `fumadocs` or the config declares neither `tooling` nor `config`. MkDocs configurations are never written, and `documentation.root` and `documentation.config` are never modified
174
+ - writes configuration only for the Fumadocs manifest transition — recording the manifest it just wrote inside `documentation.root` in `documentation.index`, when `documentation.tooling` is `fumadocs` or the config declares neither `tooling` nor `config`. Markdown and MkDocs configurations are never written, and `documentation.root` and `documentation.config` are never modified
137
175
  - prepends an `AUTOGENERATED` warning comment to the output and rewrites the file on every run; do not hand-edit the generated `index.md`
138
176
  - should be freshness-checked against authored `docs/**/index.md` `## Contents` maps before treating it as navigation evidence
139
177
  - sorting: `index.md` first, then directories before files, then lexical
@@ -143,8 +181,8 @@ Key behavior:
143
181
 
144
182
  Supported flags:
145
183
 
146
- - `--docs-dir <path>` (default: `<documentation.root>/docs`, falling back to `<documentation.root>`)
147
- - `--output <path>` (default: `<documentation.root>/index.md`)
184
+ - `--docs-dir <path>` (Markdown: literal configured root; others: `<root>/docs`, falling back to `<root>`)
185
+ - `--output <path>` (required external output for configured Markdown; otherwise defaults to `<root>/index.md`)
148
186
  - `--exclude <glob>` (repeatable; additive to `documentation.excludes`)
149
187
 
150
188
  ### Exclusion patterns
@@ -165,10 +203,13 @@ A trailing `/` restricts a pattern to directories and never matches a file; with
165
203
  Example:
166
204
 
167
205
  ```bash
168
- # Resolve both paths from .oat/config.json
206
+ # Framework defaults from .oat/config.json
169
207
  oat docs generate-index
170
208
 
171
- # Portable explicit form, resolved from the current directory
209
+ # Optional Markdown manifest: output outside the entire configured content root
210
+ oat docs generate-index --docs-dir handbook --output .oat/docs-manifest.md
211
+
212
+ # Portable explicit framework form, resolved from the current directory
172
213
  oat docs generate-index --docs-dir apps/oat-docs/docs --output apps/oat-docs/index.md
173
214
 
174
215
  # Persist the repository's own exclusions, then add a one-off
@@ -176,7 +217,7 @@ oat config set documentation.excludes "**/CLAUDE.md,**/AGENTS.md"
176
217
  oat docs generate-index --exclude 'drafts/'
177
218
  ```
178
219
 
179
- See [Documentation path resolution](../reference/oat-directory-structure.md#documentation-path-resolution) for the app-root meaning of `documentation.root` and the legacy source-root compatibility rule.
220
+ See [Documentation path resolution](../reference/oat-directory-structure.md#documentation-path-resolution) for Markdown literal roots, framework app roots, and legacy source-root compatibility.
180
221
 
181
222
  The Fumadocs scaffold runs this automatically via `predev`/`prebuild` npm
182
223
  script hooks.
@@ -188,6 +229,9 @@ Use nav sync after adding, removing, renaming, or reordering docs pages.
188
229
  The command reads only the reserved `## Contents` section from each directory
189
230
  `index.md`. It detects the framework from the app directory:
190
231
 
232
+ Plain Markdown needs file/link checks and authored Contents maintenance, without
233
+ site nav generation. Framework apps generate navigation as follows:
234
+
191
235
  - **MkDocs** (`mkdocs.yml`): regenerates the `nav:` block in `mkdocs.yml`.
192
236
  - **Fumadocs** (`source.config.ts`): writes one `meta.json` per docs directory
193
237
  that has an `index.md`. `pages` follows the `## Contents` order with no
@@ -1,19 +1,20 @@
1
1
  ---
2
2
  title: Docs Tooling
3
- description: Standalone adoption lane for docs app setup, docs commands, and docs maintenance workflows.
3
+ description: Standalone adoption lane for Markdown and docs app setup, docs commands, and docs maintenance workflows.
4
4
  ---
5
5
 
6
6
  # Docs Tooling
7
7
 
8
8
  Docs Tooling is the OAT lane for setting up, maintaining, and restructuring a documentation surface with OAT.
9
9
 
10
- Use this section when you are adopting the docs app workflow in a repo, maintaining generated navigation, or using the analyze/apply docs workflows. OAT supports both Fumadocs and MkDocs: the site framework changes the surrounding app setup and generated artifacts, but the underlying documentation contract stays centered on `index.md` and `## Contents`.
10
+ Use this section when you are adopting the docs app workflow in a repo, maintaining generated navigation, or using the analyze/apply docs workflows. OAT supports Markdown, Fumadocs, and MkDocs. Plain Markdown keeps authored files without a site build; the site framework changes the surrounding app setup and generated artifacts, but the underlying documentation contract stays centered on `index.md` and `## Contents`.
11
11
 
12
12
  ## Contents
13
13
 
14
- - [Add Docs to a New Repo](add-docs-to-a-repo.md) - Bootstrap a docs app and adopt the docs workflow in a repo.
15
- - [Docs App Commands](commands.md) - Docs CLI surface for init, migration, index generation, and nav sync.
14
+ - [Add or Adopt Docs in a Repo](add-docs-to-a-repo.md) - Set up Markdown or a docs app and safely adopt existing Markdown.
15
+ - [Documentation Commands](commands.md) - Docs CLI surface for init, migration, index generation, and nav sync.
16
16
  - [Docs Workflows](workflows.md) - How the docs CLI helpers pair with analyze/apply workflows.
17
+ - [Improve Agent Instructions](agent-instructions.md) - Analyze instruction gaps and apply approved evidence-backed changes.
17
18
 
18
19
  ## What This Section Is
19
20
 
@@ -21,7 +22,7 @@ This section explains how OAT supports docs surfaces, how the index contract wor
21
22
 
22
23
  ## Who It's For
23
24
 
24
- - Repos adding a docs app for the first time
25
+ - Repos setting up or adopting Markdown documentation or a docs app
25
26
  - Teams maintaining directory indexes and generated navigation
26
27
  - Users who want a controlled analyze/apply flow for docs changes
27
28
 
@@ -40,7 +41,7 @@ This section explains how OAT supports docs surfaces, how the index contract wor
40
41
 
41
42
  ## Go Deeper
42
43
 
43
- - [Add Docs to a Repo](add-docs-to-a-repo.md) - Bootstrap a docs app and adopt the docs workflow in a repo.
44
+ - [Add Docs to a Repo](add-docs-to-a-repo.md) - Set up Markdown or a docs app and safely adopt existing Markdown.
44
45
  - [Commands](commands.md) - Docs CLI surface for init, migration, index generation, and nav sync.
45
46
  - [Workflows](workflows.md) - How the docs CLI helpers pair with analyze/apply workflows.
46
47
  - [Docs Index Contract](../reference/docs-index-contract.md) - Framework-neutral `index.md` rules plus Fumadocs and MkDocs generation notes.
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "title": "Docs Tooling",
3
- "pages": ["add-docs-to-a-repo", "commands", "workflows"]
3
+ "pages": ["add-docs-to-a-repo", "commands", "workflows", "agent-instructions"]
4
4
  }