@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.
- package/README.md +1 -1
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/contributing/index.md +14 -1
- package/assets/docs/contributing/skills.md +64 -2
- package/assets/docs/contributing/smoke-testing.md +3 -3
- package/assets/docs/contributing/updating-model-guidance.md +2 -2
- package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
- package/assets/docs/docs-tooling/add-docs-to-a-repo.md +112 -15
- package/assets/docs/docs-tooling/agent-instructions.md +131 -0
- package/assets/docs/docs-tooling/commands.md +74 -30
- package/assets/docs/docs-tooling/index.md +7 -6
- package/assets/docs/docs-tooling/meta.json +1 -1
- package/assets/docs/docs-tooling/workflows.md +357 -11
- package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
- package/assets/docs/{guide → getting-started}/concepts.md +28 -10
- package/assets/docs/getting-started/index.md +68 -0
- package/assets/docs/getting-started/meta.json +4 -0
- package/assets/docs/getting-started/quickstart.md +174 -0
- package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +146 -15
- package/assets/docs/index.md +47 -48
- package/assets/docs/meta.json +6 -7
- package/assets/docs/provider-sync/commands.md +26 -3
- package/assets/docs/provider-sync/config.md +60 -1
- package/assets/docs/provider-sync/index.md +31 -15
- package/assets/docs/provider-sync/instruction-sync.md +43 -5
- package/assets/docs/provider-sync/manifest-and-drift.md +85 -0
- package/assets/docs/provider-sync/meta.json +1 -0
- package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
- package/assets/docs/provider-sync/scope-and-surface.md +37 -3
- package/assets/docs/reference/cli-reference.md +34 -34
- package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
- package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
- package/assets/docs/reference/docs-index-contract.md +19 -4
- package/assets/docs/reference/file-locations.md +7 -2
- package/assets/docs/reference/index.md +13 -1
- package/assets/docs/reference/meta.json +7 -1
- package/assets/docs/reference/oat-directory-structure.md +24 -22
- package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
- package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +1 -1
- package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
- package/assets/docs/reference/troubleshooting.md +125 -10
- package/assets/docs/reference/what-oat-writes.md +410 -0
- package/assets/docs/skills/brainstorm.md +77 -0
- package/assets/docs/skills/diagnostics.md +56 -0
- package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
- package/assets/docs/skills/index.md +416 -0
- package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
- package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
- package/assets/docs/skills/repo-improve.md +254 -0
- package/assets/docs/skills/research.md +237 -0
- package/assets/docs/skills/session-closeout.md +61 -0
- package/assets/docs/workflows/advanced/autonomy.md +344 -0
- package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
- package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
- package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +1 -1
- package/assets/docs/workflows/advanced/index.md +19 -0
- package/assets/docs/workflows/advanced/meta.json +13 -0
- package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +63 -4
- package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
- package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
- package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
- package/assets/docs/workflows/approvals-and-automation.md +261 -0
- package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
- package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
- package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
- package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
- package/assets/docs/workflows/choose-workflow.md +114 -0
- package/assets/docs/workflows/ideas/index.md +3 -3
- package/assets/docs/workflows/ideas/lifecycle.md +218 -1
- package/assets/docs/workflows/index.md +11 -62
- package/assets/docs/workflows/meta.json +10 -2
- package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
- package/assets/docs/workflows/projects/closeout/index.md +14 -0
- package/assets/docs/workflows/projects/closeout/meta.json +4 -0
- package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
- package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
- package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
- package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +8 -8
- package/assets/docs/workflows/projects/execution/index.md +15 -0
- package/assets/docs/workflows/projects/execution/meta.json +9 -0
- package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
- package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
- package/assets/docs/workflows/projects/index.md +38 -49
- package/assets/docs/workflows/projects/lifecycle.md +47 -11
- package/assets/docs/workflows/projects/meta.json +2 -23
- package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
- package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
- package/assets/docs/workflows/projects/planning/index.md +16 -0
- package/assets/docs/workflows/projects/planning/meta.json +10 -0
- package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
- package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
- package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
- package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
- package/assets/docs/workflows/projects/reviews/meta.json +4 -0
- package/assets/docs/workflows/projects/reviews/review-flavors.md +643 -0
- package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
- package/assets/docs/workflows/waves/index.md +12 -0
- package/assets/docs/workflows/waves/meta.json +4 -0
- package/assets/docs/workflows/waves/wave-workflows.md +206 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-docs/SKILL.md +19 -19
- package/assets/skills/oat-docs-analyze/SKILL.md +27 -7
- package/assets/skills/oat-docs-analyze/references/quality-checklist.md +16 -3
- package/assets/skills/oat-docs-apply/SKILL.md +20 -3
- package/assets/skills/oat-docs-authoring/SKILL.md +11 -7
- package/assets/skills/oat-docs-authoring/references/docs-root-resolution.md +12 -5
- package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +7 -7
- package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +13 -3
- package/assets/skills/oat-docs-authoring/references/targeted-authoring-workflow.md +5 -4
- package/assets/skills/oat-docs-authoring/references/validation.md +11 -1
- package/assets/skills/oat-docs-bootstrap/SKILL.md +31 -8
- package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +2 -1
- package/assets/skills/oat-doctor/SKILL.md +25 -25
- package/assets/skills/oat-project-document/SKILL.md +21 -2
- package/assets/templates/docs-markdown/contributing.md +35 -0
- package/assets/templates/docs-markdown/index.md +18 -0
- package/dist/commands/docs/index-generate/index.d.ts.map +1 -1
- package/dist/commands/docs/index-generate/index.js +41 -8
- package/dist/commands/docs/init/index.d.ts +17 -2
- package/dist/commands/docs/init/index.d.ts.map +1 -1
- package/dist/commands/docs/init/index.js +194 -14
- package/dist/commands/docs/init/markdown.d.ts +39 -0
- package/dist/commands/docs/init/markdown.d.ts.map +1 -0
- package/dist/commands/docs/init/markdown.js +317 -0
- package/dist/commands/docs/init/resolve-options.d.ts +3 -1
- package/dist/commands/docs/init/resolve-options.d.ts.map +1 -1
- package/dist/commands/docs/init/resolve-options.js +36 -0
- package/dist/commands/docs/init/scaffold.d.ts.map +1 -1
- package/dist/commands/docs/init/scaffold.js +11 -0
- package/dist/commands/shared/agents-md.d.ts +7 -0
- package/dist/commands/shared/agents-md.d.ts.map +1 -1
- package/dist/commands/shared/agents-md.js +131 -91
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.js +1 -0
- package/dist/config/oat-config.d.ts +2 -1
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +4 -2
- package/package.json +2 -2
- package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
- package/assets/docs/cli-utilities/index.md +0 -74
- package/assets/docs/cli-utilities/meta.json +0 -13
- package/assets/docs/cli-utilities/remote-project-management.md +0 -191
- package/assets/docs/guide/index.md +0 -31
- package/assets/docs/guide/meta.json +0 -4
- package/assets/docs/quickstart.md +0 -88
- package/assets/docs/workflows/projects/autonomy.md +0 -196
- package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
- package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
- package/assets/docs/workflows/projects/review-flavors.md +0 -138
- package/assets/docs/workflows/skills/index.md +0 -184
- package/assets/docs/workflows/skills/repo-improve.md +0 -89
- 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)
|
|
@@ -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.
|
|
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
|
|
95
|
-
| ---------------- |
|
|
96
|
-
| Getting started | `quickstart.md`, `
|
|
97
|
-
| Concepts | `
|
|
98
|
-
| CLI commands | `
|
|
99
|
-
| Tool packs | `
|
|
100
|
-
| Skills | `
|
|
101
|
-
| Workflows | `
|
|
102
|
-
| Ideas | `
|
|
103
|
-
| Provider sync | `
|
|
104
|
-
| Documentation | `
|
|
105
|
-
| Contributing | `contributing/`
|
|
106
|
-
| File locations | `reference/file-locations.md`
|
|
107
|
-
| Directory layout | `reference/oat-directory-structure.md`
|
|
108
|
-
| Troubleshooting | `reference/troubleshooting.md`
|
|
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 `
|
|
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:
|
|
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:
|
|
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
|
|
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.
|
|
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
|
-
-
|
|
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
|
-
|
|
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
|
-
##
|
|
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.
|
|
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
|
-
-
|
|
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
|
-
|
|
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.
|
|
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
|
|
25
|
-
|
|
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
|
|
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
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
-
|
|
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
|
|
14
|
-
|
|
|
15
|
-
| New docs app setup, scaffold repair, package/app shell bootstrap
|
|
16
|
-
| Read-only docs audit, structure analysis, coverage review, drift report
|
|
17
|
-
| Applying approved analysis recommendations or batch docs changes
|
|
18
|
-
| Docs updates derived from an active OAT project
|
|
19
|
-
| Existing MkDocs app to OAT/Fumadocs migration
|
|
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
|
|
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
|