@open-agent-toolkit/cli 0.3.13 → 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 (119) 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 +32 -0
  9. package/assets/docs/docs-tooling/agent-instructions.md +131 -0
  10. package/assets/docs/docs-tooling/index.md +1 -0
  11. package/assets/docs/docs-tooling/meta.json +1 -1
  12. package/assets/docs/docs-tooling/workflows.md +331 -2
  13. package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
  14. package/assets/docs/{guide → getting-started}/concepts.md +28 -10
  15. package/assets/docs/getting-started/index.md +68 -0
  16. package/assets/docs/getting-started/meta.json +4 -0
  17. package/assets/docs/getting-started/quickstart.md +174 -0
  18. package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +142 -14
  19. package/assets/docs/index.md +47 -48
  20. package/assets/docs/meta.json +6 -7
  21. package/assets/docs/provider-sync/commands.md +25 -2
  22. package/assets/docs/provider-sync/config.md +60 -1
  23. package/assets/docs/provider-sync/index.md +31 -15
  24. package/assets/docs/provider-sync/instruction-sync.md +32 -1
  25. package/assets/docs/provider-sync/manifest-and-drift.md +85 -0
  26. package/assets/docs/provider-sync/meta.json +1 -0
  27. package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
  28. package/assets/docs/provider-sync/scope-and-surface.md +37 -3
  29. package/assets/docs/reference/cli-reference.md +33 -33
  30. package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
  31. package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
  32. package/assets/docs/reference/file-locations.md +4 -1
  33. package/assets/docs/reference/index.md +13 -1
  34. package/assets/docs/reference/meta.json +7 -1
  35. package/assets/docs/reference/oat-directory-structure.md +1 -1
  36. package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
  37. package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +1 -1
  38. package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
  39. package/assets/docs/reference/troubleshooting.md +125 -10
  40. package/assets/docs/reference/what-oat-writes.md +410 -0
  41. package/assets/docs/skills/brainstorm.md +77 -0
  42. package/assets/docs/skills/diagnostics.md +56 -0
  43. package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
  44. package/assets/docs/skills/index.md +416 -0
  45. package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
  46. package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
  47. package/assets/docs/skills/repo-improve.md +254 -0
  48. package/assets/docs/skills/research.md +237 -0
  49. package/assets/docs/skills/session-closeout.md +61 -0
  50. package/assets/docs/workflows/advanced/autonomy.md +344 -0
  51. package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
  52. package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
  53. package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +1 -1
  54. package/assets/docs/workflows/advanced/index.md +19 -0
  55. package/assets/docs/workflows/advanced/meta.json +13 -0
  56. package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +63 -4
  57. package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
  58. package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
  59. package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
  60. package/assets/docs/workflows/approvals-and-automation.md +261 -0
  61. package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
  62. package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
  63. package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
  64. package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
  65. package/assets/docs/workflows/choose-workflow.md +114 -0
  66. package/assets/docs/workflows/ideas/index.md +3 -3
  67. package/assets/docs/workflows/ideas/lifecycle.md +218 -1
  68. package/assets/docs/workflows/index.md +11 -62
  69. package/assets/docs/workflows/meta.json +10 -2
  70. package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
  71. package/assets/docs/workflows/projects/closeout/index.md +14 -0
  72. package/assets/docs/workflows/projects/closeout/meta.json +4 -0
  73. package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
  74. package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
  75. package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
  76. package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +8 -8
  77. package/assets/docs/workflows/projects/execution/index.md +15 -0
  78. package/assets/docs/workflows/projects/execution/meta.json +9 -0
  79. package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
  80. package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
  81. package/assets/docs/workflows/projects/index.md +38 -49
  82. package/assets/docs/workflows/projects/lifecycle.md +47 -11
  83. package/assets/docs/workflows/projects/meta.json +2 -23
  84. package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
  85. package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
  86. package/assets/docs/workflows/projects/planning/index.md +16 -0
  87. package/assets/docs/workflows/projects/planning/meta.json +10 -0
  88. package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
  89. package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
  90. package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
  91. package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
  92. package/assets/docs/workflows/projects/reviews/meta.json +4 -0
  93. package/assets/docs/workflows/projects/reviews/review-flavors.md +643 -0
  94. package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
  95. package/assets/docs/workflows/waves/index.md +12 -0
  96. package/assets/docs/workflows/waves/meta.json +4 -0
  97. package/assets/docs/workflows/waves/wave-workflows.md +206 -0
  98. package/assets/public-package-versions.json +4 -4
  99. package/assets/skills/oat-docs/SKILL.md +19 -19
  100. package/assets/skills/oat-docs-analyze/SKILL.md +1 -1
  101. package/assets/skills/oat-docs-apply/SKILL.md +1 -1
  102. package/assets/skills/oat-docs-authoring/SKILL.md +1 -1
  103. package/assets/skills/oat-docs-bootstrap/SKILL.md +1 -1
  104. package/assets/skills/oat-doctor/SKILL.md +25 -25
  105. package/package.json +2 -2
  106. package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
  107. package/assets/docs/cli-utilities/index.md +0 -74
  108. package/assets/docs/cli-utilities/meta.json +0 -13
  109. package/assets/docs/cli-utilities/remote-project-management.md +0 -191
  110. package/assets/docs/guide/index.md +0 -31
  111. package/assets/docs/guide/meta.json +0 -4
  112. package/assets/docs/quickstart.md +0 -88
  113. package/assets/docs/workflows/projects/autonomy.md +0 -196
  114. package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
  115. package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
  116. package/assets/docs/workflows/projects/review-flavors.md +0 -138
  117. package/assets/docs/workflows/skills/index.md +0 -184
  118. package/assets/docs/workflows/skills/repo-improve.md +0 -89
  119. package/assets/docs/workflows/wave-workflows.md +0 -77
@@ -37,7 +37,9 @@ Install the workflow skills with `oat tools install docs` (preferred) or
37
37
  - `oat-docs-analyze` evaluates a docs surface for structure, drift, coverage,
38
38
  contributor guidance, and docs-app contract issues, then runs the shared
39
39
  auto artifact-review loop to verify the generated analysis artifact's
40
- evidence, severities, and recommendations
40
+ evidence, severities, and recommendations (an analysis artifact is the
41
+ timestamped Markdown findings report that analyze writes under
42
+ `.oat/repo/analysis/` and that apply later reads)
41
43
  - `oat-docs-apply` consumes the analysis artifact and applies only approved,
42
44
  evidence-backed recommendations
43
45
  - `oat-project-document` performs post-implementation docs sync for a tracked project,
@@ -48,7 +50,8 @@ Install the workflow skills with `oat tools install docs` (preferred) or
48
50
 
49
51
  ## Contract model
50
52
 
51
- The docs workflow mirrors the agent-instructions analyze/apply split:
53
+ The docs workflow mirrors the
54
+ [agent-instructions analyze/apply split](agent-instructions.md):
52
55
 
53
56
  - Analyze owns discovery, evidence gathering, confidence, and disclosure decisions
54
57
  - Analyze also owns accuracy verification of the generated analysis artifact
@@ -61,6 +64,44 @@ skills.
61
64
 
62
65
  ## Typical flow
63
66
 
67
+ Diagram: bootstrap once, then analyze, approve and apply only agreed improvements.
68
+
69
+ ```mermaid
70
+ flowchart TD
71
+ SETUP["Bootstrap once\nConfirm inputs, then oat docs init"]
72
+ MD["Markdown\nValidate files and config"]
73
+ APP["Docs app\nInstall and verify build"]
74
+ AN["Analyze\nRead docs, write findings"]
75
+ PLAN["Plan from findings\nNo docs writes yet"]
76
+ Q{"Approve changes?"}
77
+ APPLY["Apply approved items\nNew branch, verify, offer PR"]
78
+ STOP["Skip all\nNo docs changed"]
79
+ SETUP --> MD
80
+ SETUP --> APP
81
+ MD -.-> AN
82
+ APP -.-> AN
83
+ AN --> PLAN
84
+ PLAN --> Q
85
+ Q -->|"approved"| APPLY
86
+ Q -->|"all skipped"| STOP
87
+ ```
88
+
89
+ - **Setup, once.** `oat-docs-bootstrap` checks the repo without writing, asks
90
+ you to confirm its inputs, then runs `oat docs init`. Plain Markdown setup validates authored files,
91
+ configuration and guidance without installing app dependencies or building a
92
+ site. Fumadocs and MkDocs setup adds the relevant post-patches, installation,
93
+ build verification and walkthrough.
94
+ - **Analyze.** `oat-docs-analyze` never edits docs. It writes an analysis
95
+ artifact under `.oat/repo/analysis/` (and updates OAT tracking).
96
+ - **Approve.** `oat-docs-apply` builds a plan from the newest artifact and
97
+ stops for your decision: apply all, review item by item, or discuss and
98
+ revise. If the artifact is missing or stale it sends you back to analyze. If
99
+ you skip every item, nothing changes.
100
+ - **Apply.** Only after approval does apply create a branch, edit the approved
101
+ docs, regenerate navigation, verify, commit and offer a pull request. Items
102
+ marked as needing confirmation are confirmed again before they are written.
103
+ - **Repeat.** Re-run analyze afterwards to confirm the result.
104
+
64
105
  1. Bootstrap or explicitly adopt a documentation surface with `oat-docs-bootstrap` (preferred — guided, includes post-scaffold patches and walkthrough) or `oat docs init` directly (CLI-only / non-interactive workflows)
65
106
  2. (Optional) If migrating from MkDocs, handle that as a separate migration workstream; `oat docs migrate --docs-dir docs --config mkdocs.yml --apply` is only the syntax/frontmatter helper
66
107
  3. Use `oat-docs-authoring` for targeted OAT Markdown/Fumadocs authoring work, with `authoring-docs` as the universal documentation-quality baseline
@@ -98,9 +139,297 @@ to open every page.
98
139
  - link to deeper setup/config/reference material when full detail is not needed inline
99
140
  - let the analysis artifact decide what should be inline, link-only, omitted, or escalated to the user
100
141
 
142
+ ## authoring-docs
143
+
144
+ **Invocation:** Ask, “Use authoring-docs to improve the recovery instructions
145
+ in `docs/imports.md` for an on-call engineer.” Skill invocations are agent
146
+ instructions, not shell commands: use `/authoring-docs` where supported,
147
+ `$authoring-docs` in Codex, or the skill's name in a request. This convention
148
+ also applies to the other skills below; example paths refer to your files.
149
+
150
+ **Prerequisites:** A documentation target, intended reader, and accessible
151
+ sources of truth. No OAT project or OAT documentation configuration is
152
+ required. Source code, configuration, tests, deployment files, and existing
153
+ instructions establish what you can safely document.
154
+
155
+ **Example scenario:** An import runbook says to retry a job but does not
156
+ explain how an operator confirms that retrying is safe. Ask the skill to
157
+ inspect the actual job behavior and add a reader-focused recovery sequence,
158
+ marking any operational assumption that needs the owner's confirmation.
159
+
160
+ Choose the page's primary job before writing: a tutorial gets a reader to
161
+ first success, a how-to completes a task, reference provides exact contracts,
162
+ explanation builds understanding, and a runbook supports safe recovery. This
163
+ avoids mixing an introductory story, an exhaustive flag list, and an
164
+ incident procedure into one undifferentiated page. Preserve useful existing
165
+ intent and improve the nearest appropriate page instead of creating a
166
+ parallel documentation surface.
167
+
168
+ **Expected output:** Evidence-backed Markdown with clear prerequisites,
169
+ steps, expected results, verification, and relevant links. Risky operations
170
+ need recovery or rollback guidance when the sources establish it. Unknown
171
+ ownership, commands, endpoints, or compatibility guarantees remain explicit
172
+ questions rather than invented facts. The handoff identifies changed files,
173
+ sources inspected, checks run, and remaining uncertainty.
174
+
175
+ **What it does without asking:** It edits the documentation files your
176
+ request covers and can run the repository's documented docs checks. Its
177
+ workflow has no commit, push, or pull-request step.
178
+
179
+ **Next step:** Run the target repository's documented checks and resolve
180
+ owner-review gaps before sharing. Use [oat-docs-authoring](#oat-docs-authoring)
181
+ when the target also needs OAT placement and navigation conventions.
182
+
183
+ ## oat-docs
184
+
185
+ **Invocation:** `/oat-docs "How do I choose between a quick and lite project?"`.
186
+ If you provide no question, the skill asks what you want to understand.
187
+
188
+ **Prerequisites:** Installed bundled OAT documentation under `~/.oat/docs/`
189
+ (install it with `oat init tools core`). No active project is required. If that documentation is missing, the skill
190
+ stops with installation guidance rather than substituting a repository
191
+ checkout that may describe a different release.
192
+
193
+ **Example scenario:** You are about to plan a small maintenance change and
194
+ want to understand the artifacts and approval boundary of each workflow.
195
+ Ask the skill to explain the choices from the installed documentation before
196
+ starting a project or changing configuration.
197
+
198
+ **Expected output:** A documentation-backed answer with practical examples
199
+ and pointers to relevant bundled pages. The skill searches and reads the
200
+ actual documentation rather than answering only from remembered behavior.
201
+ It can offer a related setup action or skill, but does not execute that offer
202
+ without confirmation.
203
+
204
+ **What it does without asking:** Nothing beyond reading. It is a read-only
205
+ question-and-answer skill: it creates or changes no files and runs no
206
+ commands that change state.
207
+
208
+ **Next step:** Choose the workflow or command that matches your task. If the
209
+ answer suggests setup changes, confirm the exact action separately from the
210
+ question-and-answer conversation.
211
+
212
+ ## oat-docs-authoring
213
+
214
+ **Invocation:** Ask, “Use oat-docs-authoring to add a retry troubleshooting
215
+ section to the existing imports guide and update its local map if needed.”
216
+ The skill can also be invoked as `/oat-docs-authoring` with your task.
217
+
218
+ **Prerequisites:** An existing OAT Markdown surface, OAT/Fumadocs app, or
219
+ clearly identified target following OAT conventions, plus the installed
220
+ `authoring-docs` baseline. No active OAT project is required. This is
221
+ a targeted authoring or repair workflow, not bootstrap, a broad audit, or
222
+ bulk application of an analysis report.
223
+
224
+ **Example scenario:** One documented import error has a new recovery path.
225
+ Update that guide from the actual implementation and tests without
226
+ reorganizing unrelated sections or hand-editing generated sidebar files.
227
+
228
+ The wrapper adds OAT-specific placement and navigation rules to universal
229
+ authoring standards. Edit authored pages and relevant local `index.md`
230
+ Contents maps together, preserve useful context and local instructions, and
231
+ prefer `.md` unless the page needs JSX. For configured Markdown, use the
232
+ literal content root and authored index, even if it contains a nested
233
+ directory named `docs`; do not create an unnecessary app shell.
234
+
235
+ **Expected output:** Focused authored-source changes, checked links and
236
+ metadata, and any locally required generated-artifact refresh or freshness
237
+ check. The handoff distinguishes checks actually run from checks unavailable
238
+ or intentionally not applicable. Project-derived release documentation
239
+ belongs in the project-document workflow, not this wrapper.
240
+
241
+ **What it does without asking:** It edits the authored pages your task
242
+ covers together with the nearest local `index.md` Contents map. When
243
+ navigation changes, it regenerates or freshness-checks derived navigation
244
+ files with the docs app's own scripts, and it runs local validation
245
+ commands when they exist. Its workflow has no commit, push, or
246
+ pull-request step.
247
+
248
+ **Next step:** Review and validate the focused diff. For broader uncertainty
249
+ about the surface, use [oat-docs-analyze](#oat-docs-analyze); for a new surface,
250
+ use [oat-docs-bootstrap](#oat-docs-bootstrap).
251
+
252
+ ## oat-docs-bootstrap
253
+
254
+ **Invocation:** `/oat-docs-bootstrap`, optionally with a target directory.
255
+ The conversation chooses Markdown, Fumadocs, or MkDocs and confirms the
256
+ destination before scaffolding or adoption. You do not need to remember the
257
+ framework later: `oat docs nav sync` has no framework flag and detects MkDocs
258
+ or Fumadocs on its own.
259
+
260
+ **Prerequisites:** An initialized OAT repository with readable
261
+ `.oat/config.json`, `.agents/`, and a runnable OAT CLI. An active project is
262
+ optional: it may provide context for the walkthrough, but setup does not
263
+ require one. The installed CLI must support the selected setup path.
264
+
265
+ **Example scenario:** Your repository already has useful Markdown guides in
266
+ `documentation/`, and the team wants OAT discovery and authoring guidance
267
+ without a site runtime. Choose additive Markdown adoption, retain those
268
+ guides, and then audit their metadata and local maps. Do not replace the tree
269
+ with a docs app simply because one can be scaffolded.
270
+
271
+ Preflight only reads. It checks declared documentation configuration before
272
+ discovery and checks framework evidence before assuming a populated
273
+ directory is plain Markdown. The skill then summarizes your choices and asks
274
+ you to confirm them before it runs `oat docs init`. The two setup paths
275
+ differ from that point on.
276
+
277
+ **Plain Markdown path:** Use this when you want plain Markdown files and no
278
+ site runtime. The skill collects a title, a dedicated repository-relative
279
+ root, and an optional description. It asks no app or package questions and
280
+ never installs dependencies, patches packages, starts a preview server, or
281
+ builds a site. An existing plain tree needs an explicit choice: adopt and
282
+ audit, audit only, or abort. A non-interactive `--yes` alone is not
283
+ permission to adopt. Adoption keeps existing files byte for byte and adds
284
+ only missing baseline files; a fresh setup creates an authored `index.md`
285
+ and `contributing.md` in the root you chose. Missing content conformity
286
+ becomes audit work rather than silent repair. Verification checks files,
287
+ configuration, and links.
288
+
289
+ **Fumadocs or MkDocs path:** Use this when you want a built documentation
290
+ site. The skill gathers app inputs (the visible site title and the package
291
+ name are different inputs), probes which capabilities the installed CLI
292
+ supports, runs the scaffold, and applies only the relevant post-patches (the
293
+ skill's labeled fixes for known gaps in the CLI's scaffold output).
294
+ Verification installs dependencies and runs a build. If a docs app already
295
+ exists, you choose how to resolve the conflict, and one of the choices,
296
+ `replace`, deletes the existing app.
297
+
298
+ **What it does without asking:** After you confirm your inputs, bootstrap
299
+ runs `oat docs init`, which writes the `documentation` section of
300
+ `.oat/config.json` and adds or updates a managed `## Documentation` section
301
+ in the root `AGENTS.md`. This happens on both paths. On the Fumadocs or
302
+ MkDocs path it also scaffolds the app, applies post-patches, installs
303
+ dependencies, runs a build, and may patch the root `package.json` so the
304
+ default build leaves the docs app out. It may also write an `AGENTS.md`
305
+ inside the new app when the CLI did not create one. Only after you confirm:
306
+ the `replace` choice deletes the existing docs app directory and clears its
307
+ `documentation` config and root `AGENTS.md` section (it refuses only when
308
+ that directory has uncommitted changes); answering yes to the
309
+ project-completion prompt writes `documentation.requireForProjectCompletion`
310
+ to `.oat/config.json`; and accepting the optional content kickoff at the end
311
+ runs analyze and then apply, which creates a branch and a commit and can
312
+ open a pull request.
313
+
314
+ **Expected output:** A verified fresh setup or additive adoption, followed
315
+ by a walkthrough of actual configuration, authored indexes, page metadata,
316
+ and contribution conventions. Markdown keeps its configured index authored;
317
+ an optional generated inventory needs an explicit destination outside the
318
+ configured content tree and never replaces it. A dry-run is only a preview.
319
+ A partial result can have created files while still requiring manual
320
+ guidance work; report that state rather than claiming complete bootstrap.
321
+ Optional completion enforcement is an explicit choice, not a hidden side
322
+ effect of initialization.
323
+
324
+ **Next step:** Bootstrap ends by offering
325
+ [oat-docs-analyze](#oat-docs-analyze) against the configured root, followed
326
+ by [oat-docs-apply](#oat-docs-apply) for repairs you approve. An adopted tree
327
+ needs this audit. Use `oat-project-document` for updates derived from an OAT
328
+ project. For later one-off pages, use
329
+ [oat-docs-authoring](#oat-docs-authoring).
330
+
331
+ ## oat-docs-analyze
332
+
333
+ **Invocation:** `/oat-docs-analyze` (no arguments). The skill resolves the
334
+ docs surface itself: the configured `documentation.root` and `tooling` in
335
+ `.oat/config.json` first, then framework evidence, then a generic `docs/`
336
+ tree or root Markdown files. It does not rely on a guessed root when the
337
+ repository already declares one.
338
+
339
+ **Prerequisites:** A Git repository with a docs app, Markdown tree, or
340
+ root-level documentation, and `jq` for tracking updates. No active project
341
+ is required. Configured Markdown does not need an app package, generated
342
+ manifest, or docs-root agent file to qualify for analysis.
343
+
344
+ **Example scenario:** A team adopted an existing Markdown tree, but users
345
+ still cannot find several supported CLI operations. Analyze the literal
346
+ configured root against command definitions, examples, and local maps so
347
+ the report identifies which capability needs which page or section, rather
348
+ than prescribing a new framework as the fix.
349
+
350
+ The skill inventories content, checks index-contract coverage, verifies
351
+ substantive claims against repository sources, finds missing or thin
352
+ capability coverage, and checks navigation and drift. A usable finding names
353
+ the evidence, severity, proposed location, and concrete subtopics. Ownership
354
+ or operational claims that local sources cannot establish become
355
+ owner-review gaps, not confident invented instructions.
356
+
357
+ Existing tracking selects full or delta analysis when its recorded commit
358
+ is valid. The workflow is read-only toward docs and navigation; it writes
359
+ and may correct its own report, then updates analysis tracking. Generated
360
+ navigation is freshness-checked, not repaired during the audit.
361
+
362
+ **Expected output:** A timestamped `.oat/repo/analysis/docs-*.md` report with
363
+ evidence, confidence, and disclosure decisions, including concrete targets
364
+ for link-only recommendations. By default, a bounded auto artifact-review
365
+ loop checks the report before tracking and handoff. A disabled loop or
366
+ residual findings must remain disclosed; a report's existence alone does
367
+ not mean every recommendation is verified or approved.
368
+
369
+ **What it does without asking:** It writes the analysis artifact
370
+ `.oat/repo/analysis/docs-<timestamp>.md`, lets its review loop correct that
371
+ report, and then updates its tracking record in `.oat/tracking.json` (used
372
+ to choose a full or delta analysis next time). It does not edit
373
+ documentation pages, navigation files, or `mkdocs.yml`, and it creates no
374
+ branch or commit.
375
+
376
+ **Next step:** Review the findings and run [oat-docs-apply](#oat-docs-apply)
377
+ for selected recommendations. If evidence or target information is missing,
378
+ repair the analysis contract rather than asking apply to fill it in.
379
+
380
+ ## oat-docs-apply
381
+
382
+ **Invocation:** `/oat-docs-apply` after reviewing a docs analysis report.
383
+ The skill loads the newest `.oat/repo/analysis/docs-*.md` report. You cannot
384
+ select an older one, so rerun analysis if the newest report is not the one
385
+ you reviewed. It then builds a recommendation plan and asks you to choose
386
+ `apply all`, `apply interactively` (approve, modify, or skip each item), or
387
+ `discuss` before changing anything.
388
+
389
+ **Prerequisites:** A recent, complete docs analysis artifact and an unchanged
390
+ compatible target. Recommendations need evidence, confidence, disclosure,
391
+ and concrete link targets where applicable. Apply also needs `jq` for
392
+ tracking updates, and `gh` only if you want it to open the pull request. No
393
+ active OAT project is required. Missing analysis or a changed target requires a fresh analysis,
394
+ not conventions invented during apply.
395
+
396
+ **Example scenario:** The audit found three CLI pages missing from their
397
+ `## Contents` maps, an inaccurate
398
+ example, and a proposed reorganization. Approve only the page listings and
399
+ example correction, leaving the reorganization for discussion. Apply should
400
+ execute those selected actions without broadening the work to every finding.
401
+
402
+ **Expected output:** Approved changes committed on a new
403
+ `oat/docs-<timestamp>` branch, relevant source/link checks, and declared
404
+ navigation or generated-artifact refreshes. Markdown retains its authored
405
+ index and needs no framework build or nav sync; Fumadocs sidebar metadata is
406
+ regenerated from approved Contents changes, never hand-edited. The summary
407
+ reports the applied plan and checks.
408
+
409
+ **What it does without asking:** Nothing changes until you approve the plan.
410
+ After you approve it, apply continues without asking again. It creates
411
+ branch `oat/docs-<timestamp>` from your current HEAD and edits only the
412
+ approved files. Items whose disclosure is `ask_user` are confirmed with you
413
+ once more before they are written. For a Fumadocs or MkDocs app it runs
414
+ the verification that fits what changed, such as `oat docs nav sync` and
415
+ the app's existing docs lint, format-check, and build scripts. It then
416
+ commits the changes as `docs: apply approved docs recommendations`. If the
417
+ branch cannot be created (for example because of local changes), it stops
418
+ and asks you to resolve that first. After committing, it asks whether to
419
+ push the branch and open a pull request; only a yes pushes. The PR targets
420
+ `main`, and its body includes the applied plan and the full analysis
421
+ report, so check the report for anything you would not publish. Finally it
422
+ updates `.oat/tracking.json`.
423
+
424
+ **Next step:** Review the committed diff before you agree to push or open a
425
+ pull request. Rerun analysis if you need a post-apply assessment, and treat
426
+ unapproved recommendations as remaining decisions rather than completed
427
+ work.
428
+
101
429
  ## Related docs
102
430
 
103
431
  - [`commands.md`](commands.md)
104
432
  - [`add-docs-to-a-repo.md`](add-docs-to-a-repo.md)
433
+ - [Improve Agent Instructions](agent-instructions.md)
105
434
  - [`../reference/docs-index-contract.md`](../reference/docs-index-contract.md)
106
435
  - [`../contributing/skills.md`](../contributing/skills.md)
@@ -46,7 +46,7 @@ After core initialization completes, `oat init` can enter an interactive guided
46
46
  1. **Tool packs** — install OAT tool packs. The core pack (diagnostics, passive docs access) is checked by default and always installs at user scope. Guided setup asks whether to customize per-pack scope:
47
47
  - choose **Yes** to run the per-pack scope selector for every pack that allows both scopes (`ideas`, `docs`, `workflows`, `utility`, `project-management`, `research`, `brainstorm`)
48
48
  - choose **No** to apply additive per-pack defaults without extra scope prompts
49
- - on a fresh install every pack defaults to **user** scope, so capabilities follow you across repositories; an existing install keeps its current placement
49
+ - on a fresh install every pack defaults to **user** scope, so capabilities follow you across repositories; an existing install keeps its current placement. See [Where tool packs install](#where-tool-packs-install) below
50
50
  - after placement is chosen, repository `AGENTS.md` guidance is a separate opt-in. Accepting creates the root file with the managed `OAT tools` section when it is absent, and appends that section to an existing file or contained symlink target that lacks it, with one append-only write. An existing file is never replaced: when the section exists but differs, OAT prints a repository-relative, copy-pasteable managed-block patch instead. Declining leaves `AGENTS.md` unchanged
51
51
  - installing `project-management` installs the capability only. Adopting it for this repository is a third, separate choice made with `oat pjm init` — see [Install vs. initialize](tool-packs.md#install-vs-initialize)
52
52
  2. **Local paths** — multi-select from default gitignored artifact paths (analysis, PR, reviews, ideas). Pre-existing paths are pre-checked; only new paths are added.
@@ -59,6 +59,28 @@ Hook install note:
59
59
  - The optional OAT pre-commit hook installs into Git's active hook directory.
60
60
  - If a repo uses a managed hook folder such as `.githooks/`, that path must already be configured in Git, or OAT must configure it during the prompt flow before hook install.
61
61
 
62
+ What the hook does: before each commit it runs
63
+ `oat status --scope project --hook`, which checks whether the provider views in
64
+ this repository match their canonical sources. If views are out of date or
65
+ missing, it prints `oat: managed provider views are out of sync - run 'oat sync --scope project'`.
66
+ If it finds provider files that OAT does not manage, it prints a note to run
67
+ `oat status --scope project`. The hook only warns: it never blocks a commit,
68
+ because the hook line ends in `|| true`, and it does nothing when `oat` is not
69
+ on your `PATH`. OAT adds its lines between `# >>> oat pre-commit hook >>>` and
70
+ `# <<< oat pre-commit hook <<<` markers, appending them to an existing
71
+ `pre-commit` file rather than replacing it. In Git's default hook directory
72
+ (`.git/hooks/`) the hook belongs to your clone only and is not committed.
73
+
74
+ To remove the hook, run `oat init --scope project --no-hook` in the
75
+ repository. (Without `--scope project`, `oat init` uses scope `all` and also
76
+ writes under your home directory.) Although its
77
+ help text reads "Skip optional pre-commit hook install", the flag also removes
78
+ an OAT hook that is already installed. It deletes only the marked OAT block
79
+ and keeps any other hook content; if the file contained nothing but the OAT
80
+ block, the file is deleted (or emptied, when it is a symlink). You can also
81
+ delete the lines between the two markers by hand. To install the hook later
82
+ without prompts, run `oat init --scope project --hook`.
83
+
62
84
  **Non-interactive mode:** Fresh-init guided setup offers are interactive-only. If `--setup` is passed in non-interactive mode (`--json`, piped input, non-TTY, or `OAT_NON_INTERACTIVE=1`), guided setup does not prompt: tool packs use additive defaults, local-path and documentation prompts are skipped unless already configured, and provider sync is skipped unless separately requested. Repository guidance also defaults to no write; pass `--project-guidance` to opt in explicitly or `--no-project-guidance` to record an explicit decline.
63
85
 
64
86
  ```bash
@@ -75,9 +97,42 @@ oat init --project-guidance
75
97
  oat init --scope project
76
98
  ```
77
99
 
100
+ ### Where tool packs install
101
+
102
+ Guided setup uses the same per-pack defaults as `oat tools install`, with one
103
+ difference described at the end of this section. The `--scope` option of `oat tools install` and `oat tools remove` lists `all` as
104
+ its default in `--help`. For `oat tools install`, that default does not mean
105
+ both scopes:
106
+
107
+ - With no `--scope`, a pack that is not installed yet is installed under your
108
+ home directory (user scope: `~/.agents/` and `~/.oat/`). A pack that is
109
+ already installed keeps the scope it has.
110
+ - With `--scope project`, the pack is installed in this repository
111
+ (`.agents/` and `.oat/`). With `--scope user`, it is installed under your
112
+ home directory.
113
+
114
+ The `core` pack can only live under your home directory:
115
+
116
+ - `oat tools install --scope project`, with no pack name, installs the other
117
+ seven packs in this repository and still installs `core` under your home
118
+ directory.
119
+ - `oat tools install core --scope project` exits successfully and prints
120
+ `Installed core tool pack.`, but it writes nothing, neither in the
121
+ repository nor in your home directory.
122
+ - `oat tools remove --all --scope project` fails with
123
+ `Pack core does not allow project scope`, and so does
124
+ `oat tools remove --all` with no `--scope`.
125
+
126
+ The difference: guided setup does not take its pack scope from `--scope`.
127
+ `oat init --scope project --setup`, run without an interactive terminal,
128
+ installed all eight packs under the home directory. In an interactive
129
+ terminal, answer **Yes** to the per-pack scope question to choose project
130
+ scope, or install packs afterwards with `oat tools install <pack> --scope project`. See [Where packs install](tool-packs.md#where-packs-install) for
131
+ the full rules and how to remove packs.
132
+
78
133
  Related commands:
79
134
 
80
- - `oat tools ...` (tool-pack install, update, remove, migrate, list, info): `tool-packs.md`
81
- - `oat pjm init` (adopt project management for this repository): `tool-packs.md#install-vs-initialize`
82
- - `oat local ...`, `oat doctor`, and other utility commands: `config-and-local-state.md`
83
- - `oat status` / `oat sync` (provider sync): `../provider-sync/index.md`
135
+ - `oat tools ...` (tool-pack install, update, remove, migrate, list, info): [Tool Packs and Installed Assets](tool-packs.md)
136
+ - `oat pjm init` (adopt project management for this repository): [Install vs. initialize](tool-packs.md#install-vs-initialize)
137
+ - `oat local ...`, `oat doctor`, and other utility commands: [Config and Local State](../reference/config-and-local-state.md)
138
+ - `oat status` / `oat sync` (provider sync): [Provider Sync](../provider-sync/index.md)
@@ -7,14 +7,31 @@ description: Mental model for canonical assets, provider views, scopes, skills,
7
7
 
8
8
  OAT combines a provider-sync layer, reusable skills and CLI tooling, and an optional workflow system. This page gives the high-level mental model so the detailed docs are easier to navigate.
9
9
 
10
- ## Capability Stack
10
+ ## Choose What to Adopt
11
11
 
12
12
  ```mermaid
13
- flowchart TD
14
- BASE["Provider sync + CLI\ncanonical assets, status, sync, docs commands"] --> MIDDLE["Reusable skills + tooling\nideas, docs workflows, repo helpers"]
15
- MIDDLE --> TOP["Optional workflow layer\ntracked projects, reviews, PR flow, HiLL"]
13
+ flowchart LR
14
+ GOAL["What do you\nneed first?"] --> SYNC["Align coding tools\nProvider Sync"]
15
+ GOAL --> SKILLS["Help with one task\nReusable Skills"]
16
+ GOAL --> WORK["Resume longer work\nWorkflows"]
17
+ GOAL --> DOCS["Maintain documentation\nMarkdown or a docs site"]
18
+ SYNC -.-> LATER["Add another path\nwhenever useful"]
19
+ SKILLS -.-> LATER
20
+ WORK -.-> LATER
21
+ DOCS -.-> LATER
16
22
  ```
17
23
 
24
+ - **Provider Sync:** `oat init --scope project`, choose providers, then `oat sync --scope project`.
25
+ - **Reusable skills:** `oat tools install --scope user`; no repository initialization is needed.
26
+ - **Tracked workflows:** `oat init --scope project`, `oat tools install workflows --scope project`, then `/oat-project-quick-start`.
27
+ - **Documentation:** `oat init --scope project`, `oat tools install docs --scope project`, then `/oat-docs-bootstrap` for plain Markdown or a docs site.
28
+
29
+ Choose a starting point, not a required sequence. Use provider sync to align coding tools, install reusable skills for individual tasks, add tracked workflows for longer work, or maintain plain Markdown or a docs site with Docs Tooling. You can combine these paths later.
30
+
31
+ Commands below the diagram run in a terminal; `/name` denotes an agent skill (`$name` in Codex). Pack installation has its own scope: project scope targets repository assets, but the core pack is user-only when installed. Skip guided pack setup if you only want provider sync. New tracked projects default to synced storage and need an `origin` remote; choose local project storage for origin-free work.
32
+
33
+ Continue with [Provider Sync](../provider-sync/index.md), [Tool Packs](tool-packs.md), [Choose a Workflow](../workflows/choose-workflow.md), or [Docs Tooling](../docs-tooling/index.md).
34
+
18
35
  ## Canonical Assets and Provider Views
19
36
 
20
37
  OAT keeps canonical assets in repo-controlled locations and projects provider-specific views from that source of truth. The canonical form is what you edit and review directly; provider views are synchronized outputs that let Claude Code, Cursor, Copilot, Gemini, and Codex consume the same intent in their native layouts.
@@ -27,10 +44,11 @@ flowchart LR
27
44
  OAT --> CLAUDE[".claude/"]
28
45
  OAT --> CURSOR[".cursor/"]
29
46
  OAT --> COPILOT[".github/"]
30
- OAT --> GEMINI[".gemini/"]
31
47
  OAT --> CODEX[".codex/"]
32
48
  ```
33
49
 
50
+ Gemini CLI is a native read-only consumer; OAT does not generate a `.gemini/` view through sync.
51
+
34
52
  Use these docs next:
35
53
 
36
54
  - [Provider Sync](../provider-sync/index.md)
@@ -60,22 +78,22 @@ Skills are structured workflow instructions stored in `.agents/skills`, while CL
60
78
 
61
79
  Use these docs next:
62
80
 
63
- - [Skills](../workflows/skills/index.md)
81
+ - [Skills](../skills/index.md)
64
82
  - [Contributing Skills](../contributing/skills.md)
65
83
 
66
84
  ## The Three Usage Modes
67
85
 
68
- OAT can be adopted in three layers:
86
+ OAT offers three capabilities you can use independently:
69
87
 
70
88
  1. Provider sync and CLI interop only
71
89
  2. Provider-agnostic tooling and reusable skills
72
90
  3. Optional workflow/project lifecycle
73
91
 
74
- These layers stack. You can stay at the interop layer, use only the tooling layer, or adopt the full lifecycle when you need tracked discovery, planning, implementation, review, and PR flow.
92
+ These are choices, not required adoption stages. Use only interoperability, install task-oriented skills, or adopt the lifecycle when you need tracked discovery, planning, implementation, review, and PR flow.
75
93
 
76
94
  Use these docs next:
77
95
 
78
- - [Quickstart](../quickstart.md)
96
+ - [Quickstart](quickstart.md)
79
97
  - [Workflow & Projects](../workflows/projects/index.md)
80
98
 
81
99
  ## Human-in-the-Loop Lifecycle
@@ -85,4 +103,4 @@ The workflow system supports explicit checkpoints so a project can pause at sele
85
103
  Use these docs next:
86
104
 
87
105
  - [Workflow & Projects](../workflows/projects/index.md)
88
- - [Hill Checkpoints](../workflows/projects/hill-checkpoints.md)
106
+ - [Hill Checkpoints](../workflows/projects/planning/hill-checkpoints.md)
@@ -0,0 +1,68 @@
1
+ ---
2
+ title: Getting Started
3
+ description: 'Install OAT, get a first result in an existing repository, and learn the ideas the rest of the docs use.'
4
+ ---
5
+
6
+ # Getting Started
7
+
8
+ Open Agent Toolkit (OAT) is a command-line tool and a library of skills
9
+ (instructions your coding agent follows on request) for teams that use more
10
+ than one AI coding tool, or want more structure in how they use one. You keep
11
+ one copy of each skill, agent and rule in your repository, and OAT creates and
12
+ checks the copies each tool reads; when you want it, OAT also adds tracked
13
+ workflows with plans, reviews and human approval points. Start with
14
+ [Quickstart](quickstart.md): it installs the CLI and gives you a first result
15
+ that changes files only inside one repository.
16
+
17
+ ## Contents
18
+
19
+ - [Quickstart](quickstart.md) - Install the CLI, try it in an existing repository, and choose what to add next.
20
+ - [Core Concepts](concepts.md) - The ideas the rest of the docs rely on: canonical assets, provider views, scopes, skills and the workflow lifecycle.
21
+ - [CLI Bootstrap](bootstrap.md) - What `oat init` sets up in a repository, and the guided setup it offers.
22
+ - [Tool Packs and Installed Assets](tool-packs.md) - The bundled tool packs, where they install, and how to update or remove them.
23
+
24
+ ## Project status
25
+
26
+ - **Version:** the CLI is published on npm as `@open-agent-toolkit/cli` and is
27
+ versioned 0.x, that is, before a 1.0 release.
28
+ - **License:** MIT.
29
+ - **Releases:** each version is published on the repository's
30
+ [GitHub Releases page](https://github.com/voxmedia/open-agent-toolkit/releases)
31
+ with release notes and the list of merged changes.
32
+ - **Issues:** report problems and requests on the
33
+ [issue tracker](https://github.com/voxmedia/open-agent-toolkit/issues).
34
+ - **Upgrading:** before you update, read
35
+ [Upgrading from an earlier CLI](tool-packs.md#upgrading-from-an-earlier-cli),
36
+ which lists defaults and exit codes that changed between releases.
37
+
38
+ ## Known limits
39
+
40
+ These limits are documented on the pages linked from each item. A provider
41
+ is a coding agent tool such as Claude Code, Cursor or Codex, and a provider
42
+ view is the file or link that tool reads.
43
+
44
+ - **Cursor model choice is not verified.** When OAT launches an agent in
45
+ Cursor, Cursor can run a different model from the one OAT pinned, without an
46
+ error, and OAT records only the model it requested. See
47
+ [How each provider applies the cap](../workflows/advanced/dispatch-ceiling.md#how-each-provider-applies-the-cap).
48
+ - **Edits in provider folders are overwritten.** Re-running `oat sync` rewrites
49
+ provider views from their source in `.agents/`, so an edit made directly in a
50
+ provider folder such as `.claude/` is lost, and a file you placed at a view's
51
+ path yourself is replaced. See
52
+ [Manifest and Drift](../provider-sync/manifest-and-drift.md#quick-look).
53
+ - **The default reviewer independence can fall back.** A review gate's default
54
+ setting prefers a reviewer from a different model family, but when none is
55
+ available it falls back to the best available reviewer, which can be from the
56
+ same family, and only records a warning. See
57
+ [How independent the reviewer must be](../workflows/advanced/workflow-gates.md#how-independent-the-reviewer-must-be).
58
+ - **Re-running `oat pjm init` removes remote settings.** It replaces the `pjm`
59
+ section of `.oat/config.json` and deletes any `pjm.remote` settings, so back
60
+ the file up first. See
61
+ [Remote Project Management](../workflows/backlog-and-planning/remote-project-management.md#prerequisite).
62
+ - **Ad-hoc reviews run in the agent you invoke them in.** `oat-review-provide`
63
+ cannot send a review to a different model; to get another model's review,
64
+ run the skill in that model's coding tool. See
65
+ [oat-review-provide](../workflows/projects/reviews/review-flavors.md#oat-review-provide).
66
+ - **Gemini CLI gets no generated view.** OAT treats Gemini CLI as a native
67
+ read-only consumer, and sync does not generate a `.gemini/` view for it. See
68
+ [Canonical Assets and Provider Views](concepts.md#canonical-assets-and-provider-views).
@@ -0,0 +1,4 @@
1
+ {
2
+ "title": "Getting Started",
3
+ "pages": ["quickstart", "concepts", "bootstrap", "tool-packs"]
4
+ }