@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
@@ -0,0 +1,206 @@
1
+ ---
2
+ title: Wave Workflows
3
+ description: How OAT coordinates a corpus of external plans into waves while preserving project-lifecycle ownership and human judgment.
4
+ ---
5
+
6
+ # Wave Workflows
7
+
8
+ A wave is a program layer above the per-project OAT lifecycle. It groups external implementation plans into an ordered delivery unit, then runs that unit as a wrapper OAT project. The wrapper uses the normal project lifecycle rather than replacing it.
9
+
10
+ Use wave workflows when a plan corpus is too large to execute as one project and needs durable sequencing across multiple projects, worktree groups, and merges.
11
+
12
+ Terms used on this page:
13
+
14
+ - **Wave:** one ordered batch of external implementation plans that is executed and merged together.
15
+ - **Wrapper project:** the ordinary quick-mode OAT project that `oat-wave-execute` creates to run one wave. Its plan points to the wave's source plans.
16
+ - **Worktree:** a separate Git checkout of the same repository on its own branch, so parallel lanes do not overwrite each other's files.
17
+ - **Active project:** the project your checkout currently points to, stored as `activeProject` in `.oat/config.local.json`.
18
+ - **Orchestrator:** the root agent session (with you) that makes the judgment calls the skills leave open.
19
+
20
+ ## The Two Wave Skills
21
+
22
+ The workflow pack provides two complementary skills:
23
+
24
+ - `oat-wave-program` 1.5.3 maintains the durable execution-program artifact over the full plan corpus. Its `new` mode inventories the corpus, verifies the coverage invariant, and records the orchestrator-composed, operator-approved first program; `refresh` adds newly landed plans to the artifact and records the orchestrator's re-composition of waves not yet started; and `wave-close` records a completed wave. Composing waves is the orchestrating agent's judgment; the skill records the result.
25
+ - `oat-wave-execute` 1.9.5 runs one wave. It owns the repeatable mechanical layer: wrapper-project scaffolding, branch conventions, worktree bootstrap, briefs, gates, merge choreography, bookkeeping cadence, and closeout order.
26
+
27
+ `oat-wave-program` records which plans belong to each wave. `oat-wave-execute` consumes that mapping and executes one wave through the project lifecycle.
28
+
29
+ ## Mechanical Work and Judgment
30
+
31
+ The ownership split is load-bearing. The skills automate mechanics, but the orchestrator retains judgment.
32
+
33
+ The skills own:
34
+
35
+ - integration and phase branch naming
36
+ - wrapper-project scaffolding
37
+ - worktree bootstrap
38
+ - merge choreography
39
+ - artifact and ledger bookkeeping
40
+ - repeatable verification and closeout sequencing
41
+
42
+ The orchestrator owns:
43
+
44
+ - wave and parallel-group composition
45
+ - review-finding dispositions
46
+ - verification of load-bearing worker claims
47
+ - merge-order decisions under live drift
48
+ - cross-lane and end-of-run synthesis
49
+ - all user checkpoints
50
+
51
+ Do not treat a generated grouping or a mechanically successful lane as a substitute for these decisions.
52
+
53
+ ## Composition With Project Implementation
54
+
55
+ Each wave is scaffolded as a quick-mode wrapper project. Its plan points to the source plans while preserving their requirements, and `oat-project-implement` remains the lifecycle owner for phase execution, independent review, bounded fixes, checkpoints, and project state.
56
+
57
+ For plan-declared parallel groups, `oat-wave-execute` invokes its bundled `scripts/bootstrap-group.sh` helper. The helper wraps the standard worktree bootstrap flow, creates phase worktrees at an explicit base, initializes each worktree, checks provider-view parity, and reports structured status. `oat-project-implement` then dispatches and verifies each phase in its assigned worktree. The wave layer owns the serialized fan-in and integration gates after those phases pass.
58
+
59
+ This composition keeps the responsibilities separate:
60
+
61
+ 1. `oat-wave-program` records the program and wave membership.
62
+ 2. `oat-wave-execute` scaffolds and coordinates one wrapper project.
63
+ 3. `oat-project-implement` executes that project's phases.
64
+ 4. `oat-wave-program wave-close` updates the durable program after the wave merges.
65
+
66
+ ## Execution-Program Artifact Format
67
+
68
+ The execution-program artifact is durable reference material under `.oat/repo/reference/external-plans/`. It is not an executable plan or an `oat-project-import-plan` target.
69
+
70
+ The current format contains:
71
+
72
+ - **Wave table:** one row per source plan, including its link, source index, assigned wave, ordering or dependency notes, and status (`pending`, `in-wave`, `done`, `deferred`, or `dropped`).
73
+ - **Coverage invariant:** every plan in every source plan index appears in exactly one row. A deferred or dropped plan includes a reason and re-entry trigger; an omitted plan is an error.
74
+ - **Wave sections:** the theme, lane list, intra-wave ordering, and cross-wave prerequisites for each wave.
75
+ - **Status ledger:** each wave advances from composed to in-progress to merged, with the wrapper-project link, PR, merge SHA, and completion-record link recorded as they become available.
76
+
77
+ > **Important:** This format is documented as a description, not a stable contract. Two related pieces of work are planned but not yet done: documenting the execution-program artifact as a stable OAT contract, and adding an `oat wave` family of lifecycle CLI commands.
78
+
79
+ Until that grouped work ships, consumers should follow the bundled skill and template rather than depending on an independently versioned schema.
80
+
81
+ ## oat-wave-program
82
+
83
+ Use program to record which external plans belong in each wave. The
84
+ orchestrator composes the waves and retains dependency, risk, and concurrency
85
+ judgment. The skill maintains the inventory and approved result.
86
+
87
+ **Invocation:** Select `new`, `refresh`, or `wave-close <wave-id>` as the
88
+ situation requires. With no mode, the skill runs `refresh` against the current
89
+ artifact. These are agent-skill requests, not `oat` CLI commands. Providers
90
+ with `$` syntax use `$oat-wave-program` instead of the slash name.
91
+
92
+ ```text
93
+ /oat-wave-program new
94
+ ```
95
+
96
+ ```text
97
+ /oat-wave-program refresh
98
+ ```
99
+
100
+ ```text
101
+ /oat-wave-program wave-close wave-2
102
+ ```
103
+
104
+ **Prerequisites:** Needs an active OAT project: no. New mode needs the external
105
+ plan indexes and their actual plan files.
106
+ Refresh needs the live execution-program artifact and current indexes.
107
+ Wave-close needs the completed wave's merge and completion evidence. Missing
108
+ indexed files stop the flow rather than being guessed from names.
109
+
110
+ **What it does without asking:** every mode writes the execution-program
111
+ artifact and commits it. New mode shows you the proposed wave map and waits
112
+ for your approval before the first wave starts. When the final wave merges,
113
+ the skill stops at one human-gated checkpoint that asks whether to run the
114
+ deferred completion tail (archive, S3 upload, and active-project clear) for
115
+ every wave's wrapper project; autonomous runs never answer that question
116
+ themselves.
117
+
118
+ **Example scenario:** Twelve reviewed external plans include a shared API
119
+ foundation, client changes, and independent documentation work. Use `new` to
120
+ inventory every indexed plan and record an operator-approved sequence. When
121
+ three more plans arrive, use `refresh` to recompose only unstarted waves. After
122
+ wave two merges, use `wave-close wave-2` to record that boundary instead of
123
+ inventing another execution program.
124
+
125
+ **Expected output:** A dated execution-program artifact under
126
+ `.oat/repo/reference/external-plans/`, with exactly one row per indexed plan,
127
+ explicit deferral reasons, ordered waves, dependencies, and a current status
128
+ ledger. Started waves cannot be reshuffled, and merged membership is frozen
129
+ history. Plan rows can become `done`; wave-ledger states are `composed`,
130
+ `in-progress`, and `merged`.
131
+
132
+ At final program close, recap and deferred wrapper completion receive explicit
133
+ dispositions. The completion-tail checkpoint remains human-gated, including
134
+ autonomous runs. Program bookkeeping is not an executable project plan or an
135
+ import target.
136
+
137
+ **Next step:** Invoke `oat-wave-execute` for an approved wave. Record each merge
138
+ through wave-close, and resolve any program-end completion deferral with its
139
+ named owner.
140
+
141
+ ## oat-wave-execute
142
+
143
+ Use execute for one wave, not for composing the whole corpus. It prepares and
144
+ coordinates a quick wrapper project while the normal project lifecycle owns
145
+ phase implementation and review.
146
+
147
+ **Invocation:** Name the wave. Its lanes normally resolve from the live program
148
+ artifact, with plan-index hints used only when no program exists. You can also
149
+ list specific plan names after the wave ID.
150
+
151
+ ```text
152
+ /oat-wave-execute wave-2
153
+ ```
154
+
155
+ **Prerequisites:** Needs an active OAT project: no. The skill creates the
156
+ wrapper project itself and makes it the active project, which replaces any
157
+ project that was active before. Start from an up-to-date `main` with a clean
158
+ working tree. The named source plans must exist, and their drift checks must
159
+ allow the lanes to proceed. You also need worktree tooling, reviewer
160
+ capabilities, and permission for the Git operations listed below. The default
161
+ concurrency ceiling is three worktrees at a time, and the operator can change
162
+ it.
163
+
164
+ **What it does without asking:** running this skill authorizes all of the
165
+ following. It creates the `wave-N-execution` branch from `main`, installs
166
+ dependencies, and runs the repository's build and type checks. It scaffolds
167
+ the wrapper project and commits it. It dispatches a read-only recon subagent,
168
+ creates one worktree per parallel lane on a `wave-N/pNN` branch, and, through
169
+ `oat-project-implement`, dispatches implementer and reviewer subagents in
170
+ those worktrees. It merges passing lane branches into `wave-N-execution` with
171
+ `git merge --no-ff`, then deletes the merged worktrees and their branches. At
172
+ closeout it archives the wave's backlog items with `oat backlog archive` and
173
+ runs the configured closeout sequence (which can open the PR). It then stops
174
+ once at a HiLL (human-in-the-loop) approval checkpoint before running the
175
+ `oat-project-complete` process, including project archive and any configured
176
+ S3 upload. After you merge the wave, it resets the working branch, deletes
177
+ stale phase branches, and runs `oat-wave-program wave-close`. Merging the wave
178
+ into `main` stays your decision.
179
+
180
+ **Example scenario:** The approved second wave contains client changes after
181
+ its API foundation merged. Execute refreshes drift against the current base,
182
+ intersects every plan's write set, and records safe groups in the wrapper plan.
183
+ Overlapping files force separate groups even when the plans looked independent
184
+ when authored. Choose execute rather than program because wave membership is
185
+ already approved and now needs verified delivery.
186
+
187
+ **Expected output:** A `wave-N-execution` wrapper with source-plan pointers,
188
+ drift evidence, a plan, discovery, and an orchestration log. Passing lanes produce
189
+ verified task commits and review dispositions in isolated worktrees. Serialized
190
+ fan-in is followed by integration gates, so individual lane passes are not
191
+ presented as proof the integrated tree passes.
192
+
193
+ Closeout writes end-of-run synthesis before archive work. Autonomous execution
194
+ can defer a wrapper's archive tail to program close only with an explicit
195
+ ledger disposition. That deferral does not satisfy the full completion tail.
196
+ Source-plan requirements remain intact even when live drift changes a mechanism.
197
+
198
+ **Next step:** Follow the wave's reported review and merge boundary. After the
199
+ operator merges, reconcile the result and invoke program wave-close. Do not mark
200
+ an unmerged wave `merged` or treat a deferred archive as completed.
201
+
202
+ ## Related
203
+
204
+ - [Project lifecycle](../projects/lifecycle.md)
205
+ - [Implementation execution](../projects/execution/implementation-execution.md)
206
+ - [Project artifacts](../../reference/project-artifacts.md)
@@ -1,6 +1,6 @@
1
1
  {
2
- "cli": "0.3.12",
3
- "docs-config": "0.3.12",
4
- "docs-theme": "0.3.12",
5
- "docs-transforms": "0.3.12"
2
+ "cli": "0.3.14",
3
+ "docs-config": "0.3.14",
4
+ "docs-theme": "0.3.14",
5
+ "docs-transforms": "0.3.14"
6
6
  }
@@ -6,7 +6,7 @@ disable-model-invocation: false
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, AskUserQuestion
8
8
  metadata:
9
- version: 1.0.3
9
+ version: 1.0.4
10
10
  ---
11
11
 
12
12
  # OAT Docs
@@ -91,21 +91,21 @@ Read the user's question from `$ARGUMENTS`. If no question was provided or the q
91
91
 
92
92
  Classify the question into one or more topic areas to guide the search:
93
93
 
94
- | Topic Area | Docs Path | Key Content |
95
- | ---------------- | ------------------------------------------- | -------------------------------------------- |
96
- | Getting started | `quickstart.md`, `guide/getting-started.md` | Installation, first project setup |
97
- | Concepts | `guide/concepts.md` | Core OAT concepts and terminology |
98
- | CLI commands | `guide/cli-reference.md` | Full CLI command reference |
99
- | Tool packs | `guide/tool-packs.md` | Installing and managing skill packs |
100
- | Skills | `guide/skills/` | Skill authoring, SKILL.md format |
101
- | Workflows | `guide/workflow/` | Project lifecycle, state machine, artifacts |
102
- | Ideas | `guide/ideas/` | Idea capture and brainstorming |
103
- | Provider sync | `guide/provider-sync/` | Multi-provider sync, config, commands |
104
- | Documentation | `guide/documentation/` | Docs analysis and apply workflows |
105
- | Contributing | `contributing/` | Code contributions, design principles, hooks |
106
- | File locations | `reference/file-locations.md` | Where OAT puts things |
107
- | Directory layout | `reference/oat-directory-structure.md` | `.oat/` and `.agents/` structure |
108
- | Troubleshooting | `reference/troubleshooting.md` | Common issues and fixes |
94
+ | Topic Area | Docs Path | Key Content |
95
+ | ---------------- | --------------------------------------------------------------- | -------------------------------------------- |
96
+ | Getting started | `getting-started/quickstart.md`, `getting-started/bootstrap.md` | Installation, first project setup |
97
+ | Concepts | `getting-started/concepts.md` | Core OAT concepts and terminology |
98
+ | CLI commands | `reference/cli-reference.md` | Full CLI command reference |
99
+ | Tool packs | `getting-started/tool-packs.md` | Installing and managing skill packs |
100
+ | Skills | `contributing/skills.md` | Skill authoring, SKILL.md format |
101
+ | Workflows | `workflows/projects/` | Project lifecycle, state machine, artifacts |
102
+ | Ideas | `workflows/ideas/` | Idea capture and brainstorming |
103
+ | Provider sync | `provider-sync/` | Multi-provider sync, config, commands |
104
+ | Documentation | `docs-tooling/` | Docs analysis and apply workflows |
105
+ | Contributing | `contributing/` | Code contributions, design principles, hooks |
106
+ | File locations | `reference/file-locations.md` | Where OAT puts things |
107
+ | Directory layout | `reference/oat-directory-structure.md` | `.oat/` and `.agents/` structure |
108
+ | Troubleshooting | `reference/troubleshooting.md` | Common issues and fixes |
109
109
 
110
110
  ### Step 3: Search and Read Documentation
111
111
 
@@ -143,7 +143,7 @@ Frame these as suggestions, not automatic actions. Let the user decide.
143
143
  ```
144
144
  Based on the docs, here's how OAT project workflows work: [answer]
145
145
 
146
- You can read more in `guide/workflow/lifecycle.md`.
146
+ You can read more in `workflows/projects/lifecycle.md`.
147
147
 
148
148
  Would you like me to:
149
149
  - Start a new project? (I'd invoke oat-project-lite for single-sitting work, or oat-project-quick-start for a larger quick workflow)
@@ -181,7 +181,7 @@ Both create a project directory under your projects root
181
181
  state.md, plan.md, and implementation.md; quick and spec-driven modes also use
182
182
  discovery.md.
183
183
 
184
- See: guide/workflow/lifecycle.md, guide/getting-started.md
184
+ See: workflows/projects/lifecycle.md, getting-started/quickstart.md
185
185
 
186
186
  Would you like me to create a project for you?
187
187
  ```
@@ -207,7 +207,7 @@ There are four packs:
207
207
  Install with: oat init tools
208
208
  Manage with: oat tools list, oat tools update, oat tools outdated
209
209
 
210
- See: guide/tool-packs.md
210
+ See: getting-started/tool-packs.md
211
211
 
212
212
  Would you like me to check which packs you have installed? (I'd run /oat-doctor --summary)
213
213
  ```
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: oat-docs-analyze
3
- description: Run when you need to evaluate documentation structure, navigation, and coverage against the OAT docs app contract. Produces a severity-rated analysis artifact for oat-docs-apply.
3
+ description: Run when you need to evaluate documentation structure, navigation, and coverage against the OAT documentation contract. Produces a severity-rated analysis artifact for oat-docs-apply.
4
4
  disable-model-invocation: true
5
5
  user-invocable: true
6
6
  allowed-tools: Read, Write, Bash(git:*), Bash(oat docs nav sync --check:*), Glob, Grep, AskUserQuestion, Task
7
7
  metadata:
8
- version: 1.6.0
8
+ version: '1.6.2'
9
9
  ---
10
10
 
11
11
  # Docs Analysis
@@ -93,7 +93,11 @@ repo fallbacks:
93
93
  1. `.oat/config.json` `documentation.root` / `documentation.tooling`.
94
94
  - When `documentation.tooling` is `fumadocs`, record the surface type as
95
95
  `oat-fumadocs-app`.
96
- - Treat `documentation.root` as the docs app root. Resolve the authored docs
96
+ - When tooling is `markdown`, record `docs-tree`; `documentation.root` is
97
+ the literal authored content root, even with a child named `docs`. The
98
+ configured `documentation.index` is authored, not a generated manifest.
99
+ Honor configured excludes and existing local instructions.
100
+ - For framework tooling, treat `documentation.root` as the docs app root. Resolve the authored docs
97
101
  source root and generated index path from `documentation.index`, app config,
98
102
  package scripts, generator scripts, or local guidance.
99
103
  2. OAT/Fumadocs app candidates under `apps/*`, before root `docs/` fallback:
@@ -121,6 +125,12 @@ TRACKING=$(bash "$TRACKING_SCRIPT" read docs 2>/dev/null || true)
121
125
  - If the stored commit exists, run in `delta` mode and scope drift checks to changed docs directories.
122
126
  - Otherwise run in `full` mode.
123
127
 
128
+ Configured tooling/root take precedence over discovery. Markdown needs no app
129
+ package, site config, docs-root AGENTS, site build, or generated manifest. Read
130
+ managed root guidance, contributing pages, and any existing local AGENTS files;
131
+ do not mark their absence as a missing app shell. A successful adoption only
132
+ establishes config/baseline/guidance; audit incomplete authored content normally.
133
+
124
134
  ### Step 1: Inventory the Docs Surface
125
135
 
126
136
  Build a complete inventory of:
@@ -155,7 +165,7 @@ Capture the evidence sources that will justify later findings and recommendation
155
165
  Do **not** infer docs structure conventions from a tiny sample of pages when the broader
156
166
  tree or config disagrees.
157
167
 
158
- For OAT/Fumadocs docs apps, check whether local guidance covers:
168
+ For configured Markdown and OAT/Fumadocs docs apps, check whether local guidance covers:
159
169
 
160
170
  - authored docs source location
161
171
  - generated root indexes or manifests and their no-hand-edit boundary
@@ -174,7 +184,7 @@ the current analyze/apply flow.
174
184
 
175
185
  Use `references/quality-checklist.md` and `references/directory-assessment-criteria.md`.
176
186
 
177
- For every documentation directory:
187
+ For every non-excluded Markdown-bearing documentation directory:
178
188
 
179
189
  1. Verify `index.md` exists.
180
190
  2. Verify `index.md` includes a `## Contents` section.
@@ -190,6 +200,13 @@ For every documentation directory:
190
200
  9. Exempt asset-only directories that contain no Markdown content and are not
191
201
  linked as navigable docs sections.
192
202
 
203
+ For Markdown, assess useful audience/scope context, nonempty title/description
204
+ metadata, populated Contents, and relative `.md` links. Do not overwrite or
205
+ recommend replacing existing context just to satisfy structure. Optional external
206
+ manifests are separate derived artifacts: assess them only when local guidance
207
+ actually declares one. Never require default generation or repoint an authored
208
+ `documentation.index` to a manifest.
209
+
193
210
  For OAT/Fumadocs docs apps, also distinguish authored source maps from generated
194
211
  root indexes:
195
212
 
@@ -240,7 +257,7 @@ For each evaluated page or directory:
240
257
 
241
258
  1. Read the docs file plus the local evidence needed to validate its claims.
242
259
  2. Resolve every local relative Markdown link from the page where it appears.
243
- Flag broken targets. In OAT/Fumadocs docs apps, flag extensionless local
260
+ Flag broken targets. In configured Markdown and OAT/Fumadocs docs apps, flag extensionless local
244
261
  Markdown links and prefer `.md`-suffixed targets, including
245
262
  `subdir/index.md`.
246
263
  3. Accept anchors on `.md` links, such as `page.md#section`, and do not flag
@@ -419,7 +436,10 @@ If `mkdocs.yml` exists:
419
436
  4. Flag directories whose `index.md` `## Contents` section appears inconsistent with nav structure.
420
437
  5. Flag docs guidance that claims structure, plugin support, or workflow rules not backed by current repo evidence.
421
438
 
422
- If neither `mkdocs.yml` nor a Fumadocs app exists, record whether the repo should be migrated to an OAT docs app.
439
+ For Markdown, verify the authored Contents graph and file/link contract without
440
+ site nav generation or builds. Lack of `mkdocs.yml`, a generated manifest, or an
441
+ app package is expected, not a migration finding. For other unconfigured surfaces,
442
+ record whether app migration is relevant only when evidence or user intent supports it.
423
443
 
424
444
  ### Step 7: Severity-Rate Findings
425
445
 
@@ -4,7 +4,10 @@ Use this checklist when evaluating a docs surface.
4
4
 
5
5
  ## Structure
6
6
 
7
- - Every docs directory has an `index.md`.
7
+ - Every non-excluded Markdown-bearing docs directory has an authored `index.md`.
8
+ - Authored entrypoints preserve useful audience, scope, ownership, and context.
9
+ - Authored pages have nonempty `title` and `description` metadata.
10
+ - Configured excludes and existing local instructions are respected.
8
11
  - Every `index.md` includes a `## Contents` section.
9
12
  - `## Contents` is useful content, not a placeholder comment, empty list, or
10
13
  generic "add links here" scaffold.
@@ -22,7 +25,7 @@ Use this checklist when evaluating a docs surface.
22
25
  ## Links
23
26
 
24
27
  - Local relative Markdown links resolve from the page where they appear.
25
- - OAT/Fumadocs docs apps use `.md`-suffixed local links for docs pages,
28
+ - Configured Markdown and OAT/Fumadocs docs apps use `.md`-suffixed local links for docs pages,
26
29
  including `subdir/index.md` for child directory maps.
27
30
  - Anchors on `.md` links are allowed, such as `page.md#section`.
28
31
  - Extensionless local docs links are flagged when local guidance follows the
@@ -58,7 +61,17 @@ Use this checklist when evaluating a docs surface.
58
61
  - Topic names are specific enough for agents to select the right page quickly.
59
62
  - Large sections summarize what each child page covers.
60
63
 
61
- ## Docs App Contract
64
+ ## Documentation Surface Contract
65
+
66
+ - For configured Markdown, `documentation.root` is the literal content root,
67
+ including when it contains a nested `docs` directory.
68
+ - For Markdown, `documentation.index` is authored; optional generated manifests
69
+ live outside the full configured content tree and do not replace its entrypoint.
70
+ - Markdown needs no app package, framework config, docs-root AGENTS, default
71
+ manifest, nav generation, installation, or site build. Use applicable existing
72
+ file/link/lint checks. Adoption alone is not proof of complete content conformity.
73
+ - Managed root guidance, contributing guidance, and preserved local instructions
74
+ identify the root and authoring/audit/apply workflow.
62
75
 
63
76
  - For `mkdocs-app`, `mkdocs.yml` exists.
64
77
  - For `mkdocs-app`, navigation is consistent with the docs tree.
@@ -5,7 +5,7 @@ disable-model-invocation: true
5
5
  user-invocable: true
6
6
  allowed-tools: Read, Write, Edit, Bash(git:*), Bash(gh:*), Glob, Grep, AskUserQuestion
7
7
  metadata:
8
- version: 1.3.2
8
+ version: '1.4.2'
9
9
  ---
10
10
 
11
11
  # Docs Apply
@@ -106,6 +106,12 @@ Validate that each recommendation in the artifact includes:
106
106
 
107
107
  If the artifact is missing that detail, stop and tell the user to re-run `oat-docs-analyze`.
108
108
 
109
+ Resolve the artifact target against `.oat/config.json` and cited local guidance.
110
+ With `documentation.tooling: markdown`, the configured root is the literal
111
+ content tree even when it contains a child `docs`; the configured index is
112
+ authored. Preserve excludes, useful audience/context/ownership prose and existing
113
+ local AGENTS files. A changed or incompatible target requires fresh analysis.
114
+
109
115
  ### Step 1: Build the Recommendation Plan
110
116
 
111
117
  Read the analysis artifact and build the plan from its recommendations.
@@ -117,7 +123,8 @@ Common docs actions:
117
123
  - Add or repair `## Contents`
118
124
  - Convert `overview.md` usage to the `index.md` contract
119
125
  - Add or update `docs/contributing.md` plugin guidance
120
- - Scaffold an OAT docs app when no docs app exists
126
+ - Route approved setup/adoption to `oat-docs-bootstrap`; a Markdown tree does
127
+ not require app scaffolding
121
128
  - Run `oat docs nav sync` after approved structural changes
122
129
 
123
130
  Carry forward the artifact's evidence refs, confidence, disclosure mode, and link targets into the apply plan.
@@ -214,7 +221,17 @@ Negative rules:
214
221
 
215
222
  ### Step 5: Verify and Sync Navigation
216
223
 
217
- Run the smallest relevant verification set based on what changed:
224
+ For configured Markdown, check touched authored indexes/context, nonempty
225
+ title/description metadata, Contents reachability, sibling `.md` and child
226
+ `section/index.md` destinations, configured excludes and local instructions.
227
+ Keep existing context while applying only approved repairs. Run documented
228
+ existing file/link/lint/format checks; no install or site build is required.
229
+ Do not invoke default `generate-index` or site `nav sync`. Regenerate an optional
230
+ external manifest only when locally declared, with explicit output outside the
231
+ full configured content tree; keep the authored config index unchanged.
232
+
233
+ For framework apps, discover actual scripts and run the smallest relevant
234
+ verification set based on what changed; these examples apply only when present:
218
235
 
219
236
  - `oat docs nav sync`
220
237
  - `pnpm --dir <docs-app> docs:lint` (no-op when no linter is configured)
@@ -1,28 +1,28 @@
1
1
  ---
2
2
  name: oat-docs-authoring
3
- description: Use when authoring or restructuring targeted content inside an existing OAT/Fumadocs docs app. Preserves OAT docs navigation, generated indexes, and validation boundaries.
3
+ description: Use when authoring or restructuring targeted content inside an existing OAT Markdown surface or OAT/Fumadocs docs app. Preserves OAT docs navigation, generated indexes, and validation boundaries.
4
4
  argument-hint: '[docs task or target path]'
5
5
  disable-model-invocation: false
6
6
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
7
7
  user-invocable: true
8
8
  metadata:
9
- version: 1.0.2
9
+ version: '1.1.2'
10
10
  ---
11
11
 
12
12
  # OAT Docs Authoring
13
13
 
14
14
  Use this skill for targeted documentation authoring and small structural edits
15
- inside an existing OAT/Fumadocs docs app.
15
+ inside an existing OAT Markdown surface or OAT/Fumadocs docs app.
16
16
 
17
17
  This is a thin wrapper over `authoring-docs`. Load `authoring-docs` for
18
18
  universal evidence gathering, page-type selection, writing style, templates,
19
- and review standards. Keep this wrapper focused on OAT/Fumadocs placement,
19
+ and review standards. Keep this wrapper focused on OAT Markdown/Fumadocs placement,
20
20
  navigation, generated artifacts, validation, and lifecycle boundaries.
21
21
 
22
22
  ## Prerequisites
23
23
 
24
- - The repository already has an OAT/Fumadocs docs app or a clearly identified
25
- target docs app that follows OAT conventions.
24
+ - The repository already has an OAT Markdown surface, OAT/Fumadocs docs app,
25
+ or clearly identified documentation target that follows OAT conventions.
26
26
  - The task is a targeted authoring, restructuring, repair, or review task, not
27
27
  a new docs-app bootstrap, broad audit, or approved bulk-apply workflow.
28
28
 
@@ -31,7 +31,7 @@ navigation, generated artifacts, validation, and lifecycle boundaries.
31
31
  **OAT MODE: Docs Authoring Wrapper**
32
32
 
33
33
  **Purpose:** Author or restructure focused docs content while preserving the
34
- OAT/Fumadocs source-of-truth contract.
34
+ OAT authored-source contract.
35
35
 
36
36
  **BLOCKED Activities:**
37
37
 
@@ -135,6 +135,10 @@ defaults, and asset-only exceptions.
135
135
  Prefer plain Markdown for content pages. Use MDX only when local guidance and
136
136
  the task require JSX or custom components.
137
137
 
138
+ Markdown uses its literal configured root and authored index; preserve context,
139
+ excludes, and local instructions even with a nested `docs` directory. No app
140
+ package or docs-root AGENTS creation is needed.
141
+
138
142
  ### Step 4: Check Generated Artifacts and Validation
139
143
 
140
144
  Regenerate or freshness-check derived docs artifacts using local scripts when
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: OAT docs root resolution
3
- description: How to resolve OAT/Fumadocs app roots, authored docs roots, generated index outputs, and local instruction surfaces before editing.
3
+ description: How to resolve Markdown content roots and OAT/Fumadocs app roots, authored docs roots, generated index outputs, and local instruction surfaces before editing.
4
4
  ---
5
5
 
6
6
  # OAT Docs Root Resolution
@@ -15,9 +15,15 @@ roots before editing.
15
15
  index file.
16
16
  - A docs-app `AGENTS.md` may override or narrow the repo-level guidance.
17
17
  2. Inspect `.oat/config.json`.
18
- - Prefer documented `documentation.root` values for the docs app root.
19
- - Treat `documentation.index` as the generated root index when present; it
20
- may not be the same as the authored docs root.
18
+ - Declared tooling is authoritative. For `markdown`, `documentation.root`
19
+ is the literal authored content root, even with a child named `docs`, and
20
+ `documentation.index` is authored (normally `<root>/index.md`). Honor excludes.
21
+ - For framework tooling, prefer `documentation.root` as the docs app root.
22
+ Resolve authored source and generated ownership from app/local evidence;
23
+ a configured index alone is not proof that it is generated.
24
+ - Markdown requires no app package, framework config, site build, or manifest;
25
+ skip app-only discovery. An optional manifest must be external to the full
26
+ configured content tree and never replace the authored config index.
21
27
  - If config is incomplete, keep resolving from local files instead of
22
28
  guessing.
23
29
  3. Inspect package scripts in likely docs app directories.
@@ -34,7 +40,8 @@ roots before editing.
34
40
  paths can be wired separately. Preserve local customizations unless the
35
41
  user explicitly asked for app-shell work.
36
42
  5. Resolve the authored docs root.
37
- - The common root is `<docs-app>/docs`, but local guidance is authoritative.
43
+ - Markdown uses the configured root itself. Framework apps commonly use
44
+ `<docs-app>/docs`, but local guidance is authoritative.
38
45
  - Find the top-level authored `index.md`, then follow `## Contents` maps to
39
46
  the target area.
40
47
 
@@ -10,13 +10,13 @@ Route larger lifecycle work to its owner.
10
10
 
11
11
  ## Routing Rules
12
12
 
13
- | Request shape | Owner | Why |
14
- | ----------------------------------------------------------------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
15
- | New docs app setup, scaffold repair, package/app shell bootstrap | `oat-docs-bootstrap` | Bootstrap owns preflight, inputs, `oat docs init`, post-scaffold checks, config inspection, and walkthrough. |
16
- | Read-only docs audit, structure analysis, coverage review, drift report | `oat-docs-analyze` | Analyze owns inventory, evidence gathering, severity-rated findings, and analysis artifacts. |
17
- | Applying approved analysis recommendations or batch docs changes | `oat-docs-apply` | Apply owns branch creation, approved changes, deterministic nav sync, verification, commit, and optional PR. |
18
- | Docs updates derived from an active OAT project | `oat-project-document` | Project-document owns artifact/code scanning, docs delta planning, approval, and project provenance. |
19
- | Existing MkDocs app to OAT/Fumadocs migration | Standalone migration guide | Migration needs inventory, syntax conversion, app-shell work, render checks, config/CI changes, and owner-review handling. |
13
+ | Request shape | Owner | Why |
14
+ | ----------------------------------------------------------------------------------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
15
+ | New Markdown setup/adoption, docs app setup, scaffold repair, package/app shell bootstrap | `oat-docs-bootstrap` | Bootstrap owns preflight, inputs, `oat docs init`, post-scaffold checks, config inspection, and walkthrough. |
16
+ | Read-only docs audit, structure analysis, coverage review, drift report | `oat-docs-analyze` | Analyze owns inventory, evidence gathering, severity-rated findings, and analysis artifacts. |
17
+ | Applying approved analysis recommendations or batch docs changes | `oat-docs-apply` | Apply owns branch creation, approved changes, deterministic nav sync, verification, commit, and optional PR. |
18
+ | Docs updates derived from an active OAT project | `oat-project-document` | Project-document owns artifact/code scanning, docs delta planning, approval, and project provenance. |
19
+ | Existing MkDocs app to OAT/Fumadocs migration | Standalone migration guide | Migration needs inventory, syntax conversion, app-shell work, render checks, config/CI changes, and owner-review handling. |
20
20
 
21
21
  If a request mixes targeted authoring with lifecycle work, split it:
22
22
 
@@ -5,13 +5,15 @@ description: Authored source, navigation, link, file-type, generated-index, and
5
5
 
6
6
  # OAT Fumadocs Authoring Contract
7
7
 
8
- The OAT/Fumadocs contract is tooling-critical. It is not just style.
8
+ The authored-source rules below also apply to configured plain Markdown.
9
+ Framework-specific generated output and metadata controls remain conditional.
9
10
 
10
11
  ## Authored Source of Truth
11
12
 
12
13
  - Author content under the authored docs root, usually `docs/` inside the docs
13
- app.
14
- - Every Markdown-bearing content directory has an authored `index.md`.
14
+ app; configured Markdown uses `documentation.root` literally.
15
+ - Every non-excluded Markdown-bearing content directory has an authored `index.md`.
16
+ - Preserve useful audience/scope context, ownership notes, and local instructions.
15
17
  - Every authored `index.md` that represents a content directory has a
16
18
  `## Contents` section.
17
19
  - `## Contents` lists sibling pages and immediate child directories for that
@@ -42,6 +44,14 @@ the task scope or an approved recommendation covers that change.
42
44
  - Add or preserve at least `title` and `description` frontmatter on touched
43
45
  pages unless local guidance defines a stricter schema.
44
46
 
47
+ ## Markdown Authored Index Ownership
48
+
49
+ With `documentation.tooling: markdown`, `documentation.index` is authored.
50
+ Edit its context and Contents directly within approved scope. No manifest is
51
+ required. Optional generation needs explicit output outside the full configured
52
+ content tree and cannot overwrite the authored index, even with narrowed source
53
+ flags. Never repoint the config index to generated output.
54
+
45
55
  ## Generated Root Indexes
46
56
 
47
57
  Many OAT/Fumadocs apps have an app-root generated `index.md` that rolls up the