@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
package/README.md
CHANGED
|
@@ -72,7 +72,7 @@ Use these commands when you want structured runtime/project state out of the CLI
|
|
|
72
72
|
## Docs
|
|
73
73
|
|
|
74
74
|
- [Docs Home](https://voxmedia.github.io/open-agent-toolkit/)
|
|
75
|
-
- [CLI Utilities](https://voxmedia.github.io/open-agent-toolkit/cli-
|
|
75
|
+
- [CLI Utilities](https://voxmedia.github.io/open-agent-toolkit/reference#general-cli-adoption-guidance)
|
|
76
76
|
- [Provider Sync](https://voxmedia.github.io/open-agent-toolkit/provider-sync)
|
|
77
77
|
- [Instruction Sync](https://voxmedia.github.io/open-agent-toolkit/provider-sync/instruction-sync)
|
|
78
78
|
- [Reference](https://voxmedia.github.io/open-agent-toolkit/reference)
|
|
@@ -10,7 +10,7 @@ Use this section when you are changing OAT itself rather than consuming it as a
|
|
|
10
10
|
## Contents
|
|
11
11
|
|
|
12
12
|
- [Contributing Code](code.md) - Repo setup, monorepo structure, quality gates, and PR expectations.
|
|
13
|
-
- [Contributing Docs](documentation.md) - Docs contract, local docs workflow, and docs-specific authoring guidance.
|
|
13
|
+
- [Contributing to OAT Docs](documentation.md) - Docs contract, local docs workflow, and docs-specific authoring guidance.
|
|
14
14
|
- [Markdown Features](markdown-features.md) - Supported docs syntax for callouts, tabs, Mermaid, and code blocks.
|
|
15
15
|
- [Writing Skills](skills.md) - Skill authoring guidance, runtime contracts, and governance.
|
|
16
16
|
- [CLI Design Principles](design-principles.md) - Cross-cutting CLI architecture and UX principles.
|
|
@@ -19,3 +19,16 @@ Use this section when you are changing OAT itself rather than consuming it as a
|
|
|
19
19
|
- [Smoke Testing](smoke-testing.md) - Runbook for the live workflow smoke runner: prerequisites, scenarios, evidence reports, and recovery.
|
|
20
20
|
- [Updating Model Guidance](updating-model-guidance.md) - Source map and verification checklist for provider model refreshes.
|
|
21
21
|
- [Verifying Cursor Pins](verifying-cursor-pins.md) - Runbook for probe-verifying a Cursor model pin before shipping it.
|
|
22
|
+
|
|
23
|
+
## Source-of-truth hierarchy
|
|
24
|
+
|
|
25
|
+
When you document OAT behavior, check it against these sources, highest
|
|
26
|
+
first:
|
|
27
|
+
|
|
28
|
+
1. Runtime behavior: `packages/cli/src/**`
|
|
29
|
+
2. Skill behavior contracts: `.agents/skills/*/SKILL.md`
|
|
30
|
+
3. OAT templates and runtime state: `.oat/templates/**`, `.oat/sync/**`, `.oat/config.json`, `.oat/config.local.json`
|
|
31
|
+
4. Repo reference records: `.oat/repo/**`
|
|
32
|
+
|
|
33
|
+
New pages belong in one of the top-level sections listed on the
|
|
34
|
+
[docs home page](../index.md); the older `guide/` section no longer exists.
|
|
@@ -363,7 +363,7 @@ The Gate Execution step should:
|
|
|
363
363
|
|
|
364
364
|
A null, missing, malformed, or unrecognized result is an operational failure
|
|
365
365
|
that fails closed as unresolved. Never treat it as "no gate configured." See
|
|
366
|
-
[Per-project gate overrides](../
|
|
366
|
+
[Per-project gate overrides](../workflows/advanced/workflow-gates.md#per-project-gate-overrides).
|
|
367
367
|
|
|
368
368
|
3. Export the resolved path with `export PROJECT_PATH` before launching the
|
|
369
369
|
command shell.
|
|
@@ -387,7 +387,7 @@ that should report only the child process status, not review findings.
|
|
|
387
387
|
Reusable lifecycle gate commands must omit `--target <id>` so the
|
|
388
388
|
dispatcher can avoid the current runtime; reserve explicit targets for
|
|
389
389
|
manual/debug commands or deliberate local/user-specific overrides. See
|
|
390
|
-
[Workflow Gates](../
|
|
390
|
+
[Workflow Gates](../workflows/advanced/workflow-gates.md) for the config and command
|
|
391
391
|
surface.
|
|
392
392
|
|
|
393
393
|
## Reading project state
|
|
@@ -438,3 +438,65 @@ The JSON output is a stable contract: the field set consumed by migrated skills
|
|
|
438
438
|
- `.agents/skills/oat-project-implement/SKILL.md`
|
|
439
439
|
- `.agents/skills/oat-project-complete/SKILL.md`
|
|
440
440
|
- `.agents/skills/oat-project-review-receive/SKILL.md`
|
|
441
|
+
|
|
442
|
+
## create-agnostic-skill
|
|
443
|
+
|
|
444
|
+
**Invocation:** `/create-agnostic-skill verify-migration` (or
|
|
445
|
+
`$create-agnostic-skill verify-migration` in Codex). The skill is
|
|
446
|
+
explicit-invocation only, so use the slash or `$` form rather than asking the
|
|
447
|
+
agent to pick it. These are agent instructions, not terminal commands. Supply
|
|
448
|
+
a kebab-case skill name, or answer the naming question when prompted.
|
|
449
|
+
|
|
450
|
+
**Prerequisites:** A repeatable workflow with a stable enough trigger,
|
|
451
|
+
sequence, and outcome to be reusable, plus permission to create files in the
|
|
452
|
+
repository's canonical `.agents/skills/` directory. Needs an active OAT
|
|
453
|
+
project: no. Before creating another skill, check whether composition of
|
|
454
|
+
existing skills would meet the need. For a new `oat-*` skill, use
|
|
455
|
+
`/create-oat-skill` instead; it builds on this workflow and adds OAT
|
|
456
|
+
conventions such as `{PROJECTS_ROOT}` resolution and progress banners.
|
|
457
|
+
|
|
458
|
+
**Example scenario:** Your team repeatedly reviews database migrations for
|
|
459
|
+
rollback assumptions, compatibility with the previous application version,
|
|
460
|
+
and operator handoff. Turn that recurring review into a portable skill that
|
|
461
|
+
asks for the migration and constraints, produces a review, and stops before
|
|
462
|
+
running database commands. The skill is not a place to hide production
|
|
463
|
+
execution behind a convenient trigger.
|
|
464
|
+
|
|
465
|
+
The authoring conversation establishes when the skill should run, what it
|
|
466
|
+
accepts, what it produces, which tools it needs, and what remains outside its
|
|
467
|
+
authority. The agent presents a bounded file plan and asks for approval
|
|
468
|
+
before creating anything. Expanding the approved file set requires another
|
|
469
|
+
confirmation; approval of a `SKILL.md` does not implicitly authorize an
|
|
470
|
+
unplanned collection of scripts or assets.
|
|
471
|
+
|
|
472
|
+
**What it does without asking:** Before your approval it only asks questions
|
|
473
|
+
and presents the file plan; if you decline, it creates nothing. After you
|
|
474
|
+
approve the plan once, it creates the skill directory, its `SKILL.md`, and the
|
|
475
|
+
planned supporting files without asking again, then, in a repository that
|
|
476
|
+
uses OAT sync, runs `oat sync --scope project` to refresh this repository's provider views (the
|
|
477
|
+
provider-specific copies such as `.claude/skills/`). For a skill whose name
|
|
478
|
+
starts with `oat-`, it also runs `pnpm oat:validate-skills`. It does not
|
|
479
|
+
commit, push, or install the skill at user scope.
|
|
480
|
+
|
|
481
|
+
Use progressive disclosure to keep the result useful. The frontmatter's
|
|
482
|
+
trigger-oriented description helps an agent choose the skill. The body
|
|
483
|
+
contains the actual ordered workflow and stop conditions. Put detailed
|
|
484
|
+
references, deterministic helpers, and templates in supporting directories
|
|
485
|
+
only when the workflow needs them. Include both a direct invocation and a
|
|
486
|
+
conversational example so users can recognize the intended trigger without
|
|
487
|
+
memorizing provider-specific syntax.
|
|
488
|
+
|
|
489
|
+
**Expected output:** An approved canonical skill at
|
|
490
|
+
`.agents/skills/verify-migration/SKILL.md`, with its name matching the
|
|
491
|
+
directory, an initial `metadata.version` of `1.0.0`, workflow steps, examples, and any
|
|
492
|
+
approved support files. The authoring workflow synchronizes the project
|
|
493
|
+
scope and checks tool/provider discoverability; it does not install the
|
|
494
|
+
skill into the user's global scope. Canonical content remains the editable
|
|
495
|
+
owner rather than being duplicated into provider views.
|
|
496
|
+
|
|
497
|
+
**Next step:** Exercise the skill with a representative migration and verify
|
|
498
|
+
that its instructions produce the intended review without crossing the
|
|
499
|
+
execution boundary. Adjust the canonical workflow if the trigger or outcome
|
|
500
|
+
is unclear, then resynchronize project views. Pack distribution, public
|
|
501
|
+
publication, and user-scope installation are separate decisions, not an
|
|
502
|
+
automatic consequence of local authoring.
|
|
@@ -224,7 +224,7 @@ Reading the output:
|
|
|
224
224
|
The evidence is organized as three layers — launcher-owned production records,
|
|
225
225
|
independent durable corroboration from Git and the fixture, and the normalized
|
|
226
226
|
bundle and assertion report. See
|
|
227
|
-
[Evidence Layers](../workflows/
|
|
227
|
+
[Evidence Layers](../workflows/advanced/evidence-layers.md) for the model.
|
|
228
228
|
|
|
229
229
|
## Cleanup and recovery
|
|
230
230
|
|
|
@@ -324,5 +324,5 @@ fixture does not pass, the workflow change is not accepted.
|
|
|
324
324
|
## Related
|
|
325
325
|
|
|
326
326
|
- [Contributing Code](code.md)
|
|
327
|
-
- [Implementation Execution](../workflows/projects/implementation-execution.md)
|
|
328
|
-
- [Dispatch Ceiling](../workflows/
|
|
327
|
+
- [Implementation Execution](../workflows/projects/execution/implementation-execution.md)
|
|
328
|
+
- [Dispatch Ceiling](../workflows/advanced/dispatch-ceiling.md)
|
|
@@ -81,7 +81,7 @@ or GPT-6.1 Cursor targets until that runtime lists and verifies them.
|
|
|
81
81
|
A 2026-09-25 desktop 3.21.18 probe added Grok 4.6 and Fable 5.1 mappings
|
|
82
82
|
and moved the bundled Cursor ladder to them. The same probe showed Grok 4.7
|
|
83
83
|
resolves only bare flat IDs, never bracket selectors. It still needs its own
|
|
84
|
-
approved registry entry and complete per-pin evidence before admission; see [Verifying Cursor Pins](verifying-cursor-pins.md). See [Dispatch Policy](../workflows/
|
|
84
|
+
approved registry entry and complete per-pin evidence before admission; see [Verifying Cursor Pins](verifying-cursor-pins.md). See [Dispatch Policy](../workflows/advanced/dispatch-ceiling.md#cursor-evidence-authority)
|
|
85
85
|
for the distinction between catalog, configured mapping, and runtime identity.
|
|
86
86
|
|
|
87
87
|
The October 1 refresh migrates Codex Sol defaults and examples to
|
|
@@ -142,5 +142,5 @@ bundled cells in the chosen scope, with a warning and a `--dry-run` preview;
|
|
|
142
142
|
extra custom cells remain. Add `--keep-existing` to fill only missing cells.
|
|
143
143
|
The active project's named ceiling is a separate policy in its `state.md`;
|
|
144
144
|
a model update must not silently change it.
|
|
145
|
-
See [Dispatch Policy](../workflows/
|
|
145
|
+
See [Dispatch Policy](../workflows/advanced/dispatch-ceiling.md#ownership-and-adoption)
|
|
146
146
|
for config precedence and examples.
|
|
@@ -339,5 +339,5 @@ oat sync --scope project
|
|
|
339
339
|
## Related
|
|
340
340
|
|
|
341
341
|
- [Smoke Testing](smoke-testing.md) - Runbook for the live workflow smoke runner.
|
|
342
|
-
- [Dispatch Policy](../workflows/
|
|
342
|
+
- [Dispatch Policy](../workflows/advanced/dispatch-ceiling.md) - How pins reach the recommendation and role files.
|
|
343
343
|
- [Provider Sync](../provider-sync/providers.md) - Provider-specific sync behavior.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Add Docs
|
|
3
|
-
description: 'Step-by-step guide for adding
|
|
2
|
+
title: Add or Adopt Docs in a Repo
|
|
3
|
+
description: 'Step-by-step guide for adding or adopting OAT-managed documentation to a repository.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Add Docs
|
|
6
|
+
# Add or Adopt Docs in a Repo
|
|
7
7
|
|
|
8
|
-
Use this path when you want to add
|
|
8
|
+
Use this path when you want to add or adopt documentation and the docs
|
|
9
9
|
analyze/apply workflow to a repository.
|
|
10
10
|
|
|
11
11
|
If you are developing inside the OAT repo itself, replace `oat ...` with
|
|
@@ -13,7 +13,7 @@ If you are developing inside the OAT repo itself, replace `oat ...` with
|
|
|
13
13
|
|
|
14
14
|
## What this gives you
|
|
15
15
|
|
|
16
|
-
- a docs app scaffolded with OAT defaults (Fumadocs or MkDocs)
|
|
16
|
+
- plain Markdown files or a docs app scaffolded with OAT defaults (Fumadocs or MkDocs)
|
|
17
17
|
- `index.md`-driven navigation
|
|
18
18
|
- docs analysis and apply skills installed via the docs pack
|
|
19
19
|
- a repeatable workflow for finding gaps, verifying claims, and applying docs changes
|
|
@@ -51,9 +51,9 @@ The docs pack installs `authoring-docs`, `oat-docs-authoring`,
|
|
|
51
51
|
`oat-agent-instructions-apply`. For this quickstart, the authoring and docs
|
|
52
52
|
analysis/apply skills are the parts you need immediately.
|
|
53
53
|
|
|
54
|
-
## 3.
|
|
54
|
+
## 3. Set up the documentation surface
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
Choose Markdown files or a framework app, using the guided skill or direct CLI.
|
|
57
57
|
|
|
58
58
|
### 3a. Preferred: the `oat-docs-bootstrap` skill (guided)
|
|
59
59
|
|
|
@@ -61,9 +61,11 @@ Two paths — pick one:
|
|
|
61
61
|
/oat-docs-bootstrap
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
The docs-bootstrap skill
|
|
64
|
+
The docs-bootstrap skill offers Markdown, Fumadocs, and MkDocs. Configured tooling is authoritative; framework evidence is checked before plain-directory evidence. A root README alone does not trigger adoption, and an empty selected target stays fresh setup. Markdown uses file checks and an adopt/audit handoff, with no app questions, dependencies, framework patches, docs-root AGENTS, or site build.
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
For framework apps, it wraps `oat docs init` with a seven-step guided flow: preflight detection (repo shape + existing-setup conflict surfacing), richer input gathering (including a site name distinct from the package name), the CLI invocation itself, labeled post-patches for open CLI gaps, install + build verification, post-scaffold config inspection, and a chunked educational walkthrough.
|
|
67
|
+
|
|
68
|
+
What the framework path adds over the raw CLI:
|
|
67
69
|
|
|
68
70
|
- **Preflight + conflict resolution.** Detects existing `documentation` config / docs app dir / root `AGENTS.md` section and walks a deliberate resolution choice (replace, abort, repair, or deferred second-app) before any mutation.
|
|
69
71
|
- **Richer inputs.** Asks for a **site name** separate from the package name, so `createDocsConfig()` / layout branding / page metadata all converge on the same display title.
|
|
@@ -90,10 +92,11 @@ oat docs init --app-name my-docs
|
|
|
90
92
|
|
|
91
93
|
In interactive mode, you'll be prompted to choose a framework:
|
|
92
94
|
|
|
95
|
+
- **Markdown** — authored files, context indexes, and Contents maps without a site framework
|
|
93
96
|
- **Fumadocs** — Next.js-based static site with FlexSearch, Mermaid diagrams, dark/light mode, and code copy buttons
|
|
94
97
|
- **MkDocs** — MkDocs Material with the OAT contributor contract
|
|
95
98
|
|
|
96
|
-
|
|
99
|
+
Framework default placement:
|
|
97
100
|
|
|
98
101
|
- monorepo: `apps/my-docs`
|
|
99
102
|
- single-package repo: `my-docs/` at repo root
|
|
@@ -113,8 +116,68 @@ Use 3b when you want a fully headless scaffold (CI, automation) and can accept t
|
|
|
113
116
|
For compatible Turbo monorepos, the CLI also patches the repo-root
|
|
114
117
|
`package.json` by default so root `pnpm build` excludes the new docs app and a
|
|
115
118
|
root `build:docs` script is available for docs-only builds. Use
|
|
116
|
-
`--no-root-patch` to opt out
|
|
117
|
-
|
|
119
|
+
`--no-root-patch` to opt out. `--dry-run` is available only for Markdown
|
|
120
|
+
files/config/guidance; it does not preview framework package patches.
|
|
121
|
+
|
|
122
|
+
### Plain Markdown: fresh setup or additive adoption
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Fresh default root: docs/ in every repository shape
|
|
126
|
+
oat docs init --framework markdown --site-name "Project Docs" --yes
|
|
127
|
+
|
|
128
|
+
# Existing content: preview, then explicitly adopt without overwriting files
|
|
129
|
+
oat docs init --framework markdown --target-dir handbook --adopt --dry-run --yes
|
|
130
|
+
oat docs init --framework markdown --target-dir handbook --adopt --yes
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Markdown creates missing `index.md` and `contributing.md` baseline pages and
|
|
134
|
+
records `documentation.tooling: "markdown"`, the literal root, and its authored
|
|
135
|
+
`<root>/index.md`. A nested `<root>/docs` remains a subsection. Root managed
|
|
136
|
+
Documentation guidance names these paths; bootstrap creates no docs-root
|
|
137
|
+
`AGENTS.md` and preserves one already present. It creates no app package,
|
|
138
|
+
framework config, dependencies, or install/dev/build commands. Lint/format
|
|
139
|
+
choices default to `none` and never install tools.
|
|
140
|
+
|
|
141
|
+
A default setup records:
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"documentation": {
|
|
146
|
+
"tooling": "markdown",
|
|
147
|
+
"root": "docs",
|
|
148
|
+
"index": "docs/index.md"
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
A populated target is refused without `--adopt`, including with `--yes`.
|
|
154
|
+
Adoption preserves existing page/index/local-instruction bytes and adds only
|
|
155
|
+
missing baseline files. Missing child indexes, metadata, context, or Contents
|
|
156
|
+
remain audit gaps: run `oat-docs-analyze`, then `oat-docs-apply` for approved
|
|
157
|
+
repairs. Successful config/guidance setup does not prove full content conformity.
|
|
158
|
+
See [Markdown setup details](commands.md#oat-docs-init) for initial Contents
|
|
159
|
+
discovery and repair advice for optional child indexes and unreadable directories.
|
|
160
|
+
|
|
161
|
+
Incompatible declared tooling/root/index or unsafe paths are refused before
|
|
162
|
+
writes. Selecting a framework explicitly retains its existing replacement
|
|
163
|
+
prompt/`--yes` behavior, including over configured Markdown: config may change
|
|
164
|
+
while old Markdown files remain. This is not an automatic content migration.
|
|
165
|
+
|
|
166
|
+
Dry-run writes nothing. Manual-required or blocked guidance returns `partial`
|
|
167
|
+
and exit `1`; files/config are planned, not completed. A real partial run may
|
|
168
|
+
already have created baseline files and config: follow its reported state and
|
|
169
|
+
preserve those files when retrying. Converged repeated adoption returns `ok`,
|
|
170
|
+
exit `0`, and no changes.
|
|
171
|
+
|
|
172
|
+
Markdown indexes are authored. Optional inventories require external output:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
oat docs generate-index --docs-dir handbook --output .oat/docs-manifest.md
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Default generation is refused for configured Markdown. External output cannot
|
|
179
|
+
be inside the full configured content root or overwrite its authored index,
|
|
180
|
+
even with a narrowed `--docs-dir`. It never repoints `documentation.index`.
|
|
118
181
|
|
|
119
182
|
### 3c. Existing MkDocs content
|
|
120
183
|
|
|
@@ -132,13 +195,15 @@ refactor, use the assigned migration handoff guide or project plan; do not make
|
|
|
132
195
|
|
|
133
196
|
## 4. Start authoring docs with the OAT contract
|
|
134
197
|
|
|
135
|
-
Use `oat-docs-authoring` for targeted OAT/Fumadocs content edits or local
|
|
198
|
+
Use `oat-docs-authoring` for targeted OAT Markdown/Fumadocs content edits or local
|
|
136
199
|
restructuring. It uses `authoring-docs` for the portable documentation baseline
|
|
137
200
|
and adds the OAT-specific navigation, generated-index, and validation contract.
|
|
138
201
|
|
|
139
202
|
Core rules:
|
|
140
203
|
|
|
141
|
-
- every docs directory should have an `index.md`
|
|
204
|
+
- every non-excluded Markdown-bearing docs directory should have an authored `index.md`
|
|
205
|
+
- preserve useful audience/scope context and nonempty title/description metadata
|
|
206
|
+
- honor asset-only exceptions, configured excludes, and existing local instructions
|
|
142
207
|
- every `index.md` should include a `## Contents` section
|
|
143
208
|
- the `## Contents` section should map sibling pages and immediate child directories
|
|
144
209
|
- `## Contents` links should use `.md`-suffixed relative targets, including `subdir/index.md` for child directories
|
|
@@ -214,7 +279,7 @@ Important:
|
|
|
214
279
|
3. `oat docs init --app-name my-docs`
|
|
215
280
|
4. (optional) handle MkDocs migration as a separate workstream; use `oat docs migrate --docs-dir docs --config mkdocs.yml --apply` only for the syntax/frontmatter helper
|
|
216
281
|
5. Author docs with `index.md` + `## Contents`
|
|
217
|
-
6. `oat docs nav sync --target-dir apps/my-docs` (both frameworks), plus `oat docs generate-index` (Fumadocs)
|
|
282
|
+
6. Check Markdown files/links, or refresh declared artifacts with `oat docs nav sync --target-dir apps/my-docs` (both frameworks), plus `oat docs generate-index` (Fumadocs)
|
|
218
283
|
7. `/oat-docs-analyze`
|
|
219
284
|
8. `/oat-docs-apply`
|
|
220
285
|
9. Repeat as the codebase changes
|
|
@@ -224,3 +289,35 @@ Important:
|
|
|
224
289
|
- [`commands.md`](commands.md)
|
|
225
290
|
- [`workflows.md`](workflows.md)
|
|
226
291
|
- [`../reference/docs-index-contract.md`](../reference/docs-index-contract.md)
|
|
292
|
+
|
|
293
|
+
## Choosing Markdown or a site framework
|
|
294
|
+
|
|
295
|
+
`oat docs init --framework` (and the `oat-docs-bootstrap` skill) sets up one of
|
|
296
|
+
three kinds of documentation. In all three, each folder's `index.md` has a
|
|
297
|
+
`## Contents` list of its pages.
|
|
298
|
+
|
|
299
|
+
| Framework | Choose it when | What you give up |
|
|
300
|
+
| -------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
301
|
+
| Plain Markdown | People and agents read the docs in the repository; no site is needed | A rendered site and search. You keep each `## Contents` list up to date by hand |
|
|
302
|
+
| Fumadocs | A Node/pnpm repository wants a hosted docs site | An app with dependencies and a build. A page missing from its folder's `## Contents` list is hidden from the sidebar |
|
|
303
|
+
| MkDocs | The team already uses Python and MkDocs Material | Python setup (`setup-docs.sh` runs `pip install`). `oat docs nav sync` rewrites the whole `nav:` block of `mkdocs.yml` |
|
|
304
|
+
|
|
305
|
+
When nothing chooses for it (a non-interactive run or `--yes`), `oat docs init`
|
|
306
|
+
uses Fumadocs. That is only a default; pick the smallest option your readers
|
|
307
|
+
need.
|
|
308
|
+
|
|
309
|
+
- If you are a solo developer or a team that only needs guides readable in the
|
|
310
|
+
repository, choose plain Markdown. It adds no app, dependencies, or build.
|
|
311
|
+
- If a Node/pnpm team wants a hosted site, choose Fumadocs. Its build hooks
|
|
312
|
+
regenerate the app-root `index.md` inventory but not the sidebar files, so run
|
|
313
|
+
`oat docs nav sync` after adding, moving, or renaming pages, commit the
|
|
314
|
+
`meta.json` files it writes, and add `oat docs nav sync --check` to your build
|
|
315
|
+
or CI yourself, because the scaffold does not.
|
|
316
|
+
- If your team uses Python and MkDocs Material, choose MkDocs. Run
|
|
317
|
+
`oat docs nav sync --check` to see what would change before letting nav sync
|
|
318
|
+
rewrite `nav:`.
|
|
319
|
+
- If the repository already has docs, do not initialize over them. Adopt
|
|
320
|
+
existing plain Markdown with `--adopt` (try `--dry-run` first), and record an
|
|
321
|
+
existing MkDocs site with `oat init --setup` instead of `oat docs init`. When
|
|
322
|
+
moving an MkDocs site to Fumadocs, `oat docs migrate` converts MkDocs syntax
|
|
323
|
+
and frontmatter; it only previews changes until you pass `--apply`.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Improve Agent Instructions
|
|
3
|
+
description: Audit instruction coverage and accuracy, then apply approved recommendations without inventing repository conventions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Improve Agent Instructions
|
|
7
|
+
|
|
8
|
+
Keep analysis and application separate. The analysis report establishes what
|
|
9
|
+
is supported by repository evidence; apply translates selected recommendations
|
|
10
|
+
into canonical instructions and provider views. Canonical instructions are
|
|
11
|
+
the provider-neutral source files OAT treats as the source of truth, such as
|
|
12
|
+
`AGENTS.md` and rule files under `.agents/rules/`. Provider views are the
|
|
13
|
+
per-tool files, such as Cursor rule files, that `oat sync` generates from
|
|
14
|
+
them. Neither skill needs an active OAT project.
|
|
15
|
+
|
|
16
|
+
The analysis report is an analysis artifact: a timestamped Markdown report
|
|
17
|
+
that analyze writes under `.oat/repo/analysis/` and that apply later reads.
|
|
18
|
+
|
|
19
|
+
The invocations below are agent instructions, not terminal commands. Use
|
|
20
|
+
slash names where supported, `$name` in Codex, or ask for the skill by name.
|
|
21
|
+
|
|
22
|
+
## oat-agent-instructions-analyze
|
|
23
|
+
|
|
24
|
+
**Invocation:** `/oat-agent-instructions-analyze` in the repository you want
|
|
25
|
+
to evaluate. Confirm the provider scope when prompted so the audit covers
|
|
26
|
+
the instruction formats your team actually uses.
|
|
27
|
+
|
|
28
|
+
**Prerequisites:** A Git repository with at least one instruction file (root
|
|
29
|
+
`AGENTS.md` is the baseline), accessible configuration/documentation evidence,
|
|
30
|
+
and `jq` for the helper scripts. OAT documentation configuration is useful when present but not
|
|
31
|
+
required for discovering the repository's documentation surfaces. No active
|
|
32
|
+
project is required.
|
|
33
|
+
|
|
34
|
+
**Example scenario:** Claude, Cursor, and Codex users receive inconsistent
|
|
35
|
+
test instructions, and a nested package has no clear ownership guidance.
|
|
36
|
+
Audit the canonical instructions and relevant provider views against actual
|
|
37
|
+
package scripts and local documentation before copying another provider's
|
|
38
|
+
rules into every directory.
|
|
39
|
+
|
|
40
|
+
The audit checks quality, coverage, existing-rule accuracy, progressive
|
|
41
|
+
disclosure, file-type opportunities, and cross-format consistency. Full or
|
|
42
|
+
delta analysis follows valid tracking evidence. Claims about exhaustive
|
|
43
|
+
consistency need exhaustive evidence, not a convenient sample. Formatting
|
|
44
|
+
tools and canonical documentation are often better linked than restated as
|
|
45
|
+
large always-loaded instruction blocks.
|
|
46
|
+
|
|
47
|
+
Provider recommendations follow configured policy. For example, a Claude
|
|
48
|
+
shim (a `CLAUDE.md` file whose job is to import `AGENTS.md` with
|
|
49
|
+
`@AGENTS.md`) is not universally required. The setting
|
|
50
|
+
`instructions.claude.shims` chooses the strategy. Under the default, `none`,
|
|
51
|
+
Claude Code reads `AGENTS.md` itself, so analysis recommends no `CLAUDE.md`.
|
|
52
|
+
Under `pointer`, `symlink`, or `copy`, it checks for the matching shim next
|
|
53
|
+
to each `AGENTS.md`.
|
|
54
|
+
|
|
55
|
+
Some `CLAUDE.md` files hold the only copy of instructions that an
|
|
56
|
+
`AGENTS.md` links to. For those files, the recommended fix is to move the
|
|
57
|
+
content into each linking `AGENTS.md` first and only then remove the file.
|
|
58
|
+
A duplication finding is never permission to discard the sole copy of
|
|
59
|
+
useful guidance.
|
|
60
|
+
|
|
61
|
+
**Expected output:** A human-readable
|
|
62
|
+
`.oat/repo/analysis/agent-instructions-<timestamp>.md` report and its
|
|
63
|
+
companion bundle. The companion bundle is a folder next to the report
|
|
64
|
+
(`agent-instructions-<timestamp>.bundle/`) that holds `summary.md`,
|
|
65
|
+
`recommendations.yaml`, and one recommendation pack file per recommendation
|
|
66
|
+
under `packs/`. The bundle is what apply generates from; the Markdown report
|
|
67
|
+
provides review context. The default bounded artifact-review loop can
|
|
68
|
+
correct these outputs but cannot edit downstream instruction files. Skipped
|
|
69
|
+
review and residual findings remain visible in the handoff.
|
|
70
|
+
|
|
71
|
+
**What it does without asking:** It writes the report and companion bundle
|
|
72
|
+
under `.oat/repo/analysis/`, lets its review loop correct them, and updates
|
|
73
|
+
its tracking record in `.oat/tracking.json`. It does not create or modify
|
|
74
|
+
instruction files or repository configuration.
|
|
75
|
+
|
|
76
|
+
**Next step:** Review the recommendations and use
|
|
77
|
+
[oat-agent-instructions-apply](#oat-agent-instructions-apply) for approved
|
|
78
|
+
changes. Resolve missing evidence in analysis rather than making apply guess
|
|
79
|
+
which convention new files should follow.
|
|
80
|
+
|
|
81
|
+
## oat-agent-instructions-apply
|
|
82
|
+
|
|
83
|
+
**Invocation:** `/oat-agent-instructions-apply` after reviewing an analysis
|
|
84
|
+
artifact. Choose batch approval, recommendation-by-recommendation review,
|
|
85
|
+
discussion, or cancellation when the skill presents the plan.
|
|
86
|
+
|
|
87
|
+
**Prerequisites:** A Git repository, `jq`, the installed
|
|
88
|
+
`oat-agent-instructions-analyze` skill (apply reuses its scripts and stops if
|
|
89
|
+
it cannot find them), and a recent analysis artifact. Apply always reads the
|
|
90
|
+
newest `.oat/repo/analysis/agent-instructions-*.md` report. Each
|
|
91
|
+
recommendation needs evidence, confidence, a disclosure decision (whether
|
|
92
|
+
the item is written inline, added only as a link, omitted, or left for you
|
|
93
|
+
to decide), and concrete link targets for link-only recommendations. When a
|
|
94
|
+
companion bundle exists, it is the primary generation contract; older
|
|
95
|
+
Markdown-only artifacts remain supported. `gh` is needed only if you want
|
|
96
|
+
apply to open the pull request. No active OAT project is required.
|
|
97
|
+
|
|
98
|
+
**Example scenario:** The audit recommends fixing one inaccurate test command
|
|
99
|
+
and adding scoped guidance to a package. Approve those two changes, but
|
|
100
|
+
decline a proposed always-loaded architecture summary in favor of its
|
|
101
|
+
documentation link. The resulting instructions should preserve that
|
|
102
|
+
disclosure choice rather than copying the full summary into every provider.
|
|
103
|
+
|
|
104
|
+
Apply may reopen cited sources to verify them and generate instruction text,
|
|
105
|
+
but cannot add new recommendations or infer a formatting rule from tool
|
|
106
|
+
defaults. Missing preferred patterns, evidence, or link targets are reasons
|
|
107
|
+
to stop for clarification. Provider baselines must already be explicit in
|
|
108
|
+
the analysis, including which shim strategy applies.
|
|
109
|
+
|
|
110
|
+
**Expected output:** Approved canonical instruction and rule changes
|
|
111
|
+
committed on a new `oat/agent-instructions-<timestamp>` branch, with
|
|
112
|
+
regenerated provider views where needed. The plan and source-backed
|
|
113
|
+
rationale remain aligned with the analysis bundle.
|
|
114
|
+
|
|
115
|
+
**What it does without asking:** Nothing changes until you approve the plan
|
|
116
|
+
(choosing `cancel`, or skipping every item, exits without changes). After
|
|
117
|
+
approval, apply continues without asking again. It creates branch
|
|
118
|
+
`oat/agent-instructions-<timestamp>` and writes the approved files. Items
|
|
119
|
+
whose disclosure is `ask_user` are confirmed with you once more before they
|
|
120
|
+
are written. When it writes canonical rule files, it runs
|
|
121
|
+
`oat sync --scope project` to regenerate the provider views. It then commits
|
|
122
|
+
the generated and updated files as `chore: update agent instruction files`.
|
|
123
|
+
If the branch cannot be created (for example because of uncommitted
|
|
124
|
+
changes), it asks you to resolve that first. After committing, it asks
|
|
125
|
+
whether to push and open a pull request; only a yes pushes. The PR targets
|
|
126
|
+
`main`, and its body includes the applied plan and the full analysis
|
|
127
|
+
report. Finally it updates `.oat/tracking.json`.
|
|
128
|
+
|
|
129
|
+
**Next step:** Review the committed diff and provider scope before you agree
|
|
130
|
+
to push or open a pull request. Reanalyze when you need to evaluate new
|
|
131
|
+
conventions or gaps; apply is not a second independent audit.
|