@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.
- 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 +32 -0
- package/assets/docs/docs-tooling/agent-instructions.md +131 -0
- package/assets/docs/docs-tooling/index.md +1 -0
- package/assets/docs/docs-tooling/meta.json +1 -1
- package/assets/docs/docs-tooling/workflows.md +331 -2
- 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 +142 -14
- package/assets/docs/index.md +47 -48
- package/assets/docs/meta.json +6 -7
- package/assets/docs/provider-sync/commands.md +25 -2
- 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 +32 -1
- 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 +33 -33
- 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/file-locations.md +4 -1
- package/assets/docs/reference/index.md +13 -1
- package/assets/docs/reference/meta.json +7 -1
- package/assets/docs/reference/oat-directory-structure.md +1 -1
- 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 +1 -1
- package/assets/skills/oat-docs-apply/SKILL.md +1 -1
- package/assets/skills/oat-docs-authoring/SKILL.md +1 -1
- package/assets/skills/oat-docs-bootstrap/SKILL.md +1 -1
- package/assets/skills/oat-doctor/SKILL.md +25 -25
- 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
|
```
|
|
@@ -6,7 +6,7 @@ disable-model-invocation: true
|
|
|
6
6
|
user-invocable: true
|
|
7
7
|
allowed-tools: Read, Bash, Glob, Grep, AskUserQuestion
|
|
8
8
|
metadata:
|
|
9
|
-
version: 2.0.
|
|
9
|
+
version: 2.0.3
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# OAT Doctor
|
|
@@ -194,38 +194,38 @@ Docs citations below name a page under `~/.oat/docs/` (the same tree as `apps/oa
|
|
|
194
194
|
|
|
195
195
|
Walk every distinct `group` value in the `describe` output — nine today, including `PJM Remote Shared Policy`, `Explainer Defaults (local > shared)`, and `User Sync (~/.oat/sync/config.json)`; never a hard-coded list. For each group, say what is set (from the dump or the sync files), what is deprecated, and what is unset; for an unset group, teach it from the entry descriptions and its docs section:
|
|
196
196
|
|
|
197
|
-
| Group | Docs section
|
|
198
|
-
| ------------------------------------------------------------------ |
|
|
199
|
-
| The five surfaces themselves (which file owns what) | `
|
|
200
|
-
| `Shared Repo (.oat/config.json)` | `
|
|
201
|
-
| `Repo Local (.oat/config.local.json)`, `User (~/.oat/config.json)` | `
|
|
202
|
-
| `Workflow Preferences` (dispatch policy keys) | `
|
|
203
|
-
| `Workflow Preferences` (everything else) | `
|
|
204
|
-
| `Workflow Preferences` (gate keys) | `
|
|
205
|
-
| `Sync/Provider`, `User Sync` | `
|
|
206
|
-
| `PJM Remote Shared Policy` | `
|
|
207
|
-
| the `pjm.*` keys under Shared Repo | `
|
|
208
|
-
| `Explainer Defaults` | the entry descriptions (`oat config describe explainers.defaults.style`)
|
|
197
|
+
| Group | Docs section |
|
|
198
|
+
| ------------------------------------------------------------------ | ---------------------------------------------------------------------------- |
|
|
199
|
+
| The five surfaces themselves (which file owns what) | `reference/configuration.md` § The five config surfaces |
|
|
200
|
+
| `Shared Repo (.oat/config.json)` | `reference/configuration.md` § Shared repo config you will touch most often |
|
|
201
|
+
| `Repo Local (.oat/config.local.json)`, `User (~/.oat/config.json)` | `reference/configuration.md` § Repo-local and user state |
|
|
202
|
+
| `Workflow Preferences` (dispatch policy keys) | `reference/configuration.md` § Dispatch policy resolution |
|
|
203
|
+
| `Workflow Preferences` (everything else) | `reference/configuration.md` § Workflow preferences |
|
|
204
|
+
| `Workflow Preferences` (gate keys) | `workflows/advanced/workflow-gates.md` § Gate config |
|
|
205
|
+
| `Sync/Provider`, `User Sync` | `reference/configuration.md` § Provider sync config is different |
|
|
206
|
+
| `PJM Remote Shared Policy` | `workflows/backlog-and-planning/remote-project-management.md` |
|
|
207
|
+
| the `pjm.*` keys under Shared Repo | `workflows/backlog-and-planning/backlog-lifecycle.md` § Adoption comes first |
|
|
208
|
+
| `Explainer Defaults` | the entry descriptions (`oat config describe explainers.defaults.style`) |
|
|
209
209
|
|
|
210
210
|
A deprecated key is explained through its `deprecated.supersededBy` and the successor's `owningCommand`.
|
|
211
211
|
|
|
212
212
|
#### PJM dive
|
|
213
213
|
|
|
214
|
-
State the adoption state (`declared`, `inferred-legacy`, `partial-initialization`, or `none`) and what it means (`
|
|
214
|
+
State the adoption state (`declared`, `inferred-legacy`, `partial-initialization`, or `none`) and what it means (`workflows/backlog-and-planning/backlog-lifecycle.md` § Adoption comes first). Then each non-passing check and its fix:
|
|
215
215
|
|
|
216
|
-
| Check | Fix path
|
|
217
|
-
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
218
|
-
| `pjm:adoption` | not reported separately: the `adoption.state` rule owns it; fix `oat pjm init`
|
|
219
|
-
| `pjm:canonical_files`, `pjm:template_frontmatter`, `pjm:top_level_layout` | `oat pjm init` re-creates canonical files; unknown top-level folders are the person's to move (`
|
|
220
|
-
| `pjm:legacy_monoliths`, `pjm:loose_reference_files`, `pjm:second_roadmap` | structural drift: `
|
|
221
|
-
| `pjm:backlog_terminal_in_items`, `pjm:backlog_completed_unarchived` | `oat backlog archive <id>` for each named item, then `oat backlog regenerate-index`
|
|
222
|
-
| `pjm:backlog_invalid_status`, `pjm:backlog_archived_open`, `pjm:backlog_duplicate_id` | edit the named item's frontmatter (the person), then `oat backlog regenerate-index`
|
|
223
|
-
| `pjm:remote_schema`, `pjm:remote_binding_ids`, `pjm:remote_metadata_state`, `pjm:remote_storage_content`, `pjm:remote_policy`, `pjm:remote_concurrent_intents`, `pjm:remote_operations`, `pjm:remote_retention`, `pjm:remote_host_capability` | emitted only when a remote binding is adopted: `oat-pjm-remote` (reconcile or refresh) and `
|
|
224
|
-
| any other `pjm:*` name | `info` with the check's message; no fix path is invented
|
|
216
|
+
| Check | Fix path |
|
|
217
|
+
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
218
|
+
| `pjm:adoption` | not reported separately: the `adoption.state` rule owns it; fix `oat pjm init` |
|
|
219
|
+
| `pjm:canonical_files`, `pjm:template_frontmatter`, `pjm:top_level_layout` | `oat pjm init` re-creates canonical files; unknown top-level folders are the person's to move (`workflows/backlog-and-planning/backlog-lifecycle.md` § Catching lifecycle drift) |
|
|
220
|
+
| `pjm:legacy_monoliths`, `pjm:loose_reference_files`, `pjm:second_roadmap` | structural drift: `workflows/backlog-and-planning/backlog-lifecycle.md` § Catching lifecycle drift and the migration guidance it links; `oat-pjm-update-repo-reference` for the reference records |
|
|
221
|
+
| `pjm:backlog_terminal_in_items`, `pjm:backlog_completed_unarchived` | `oat backlog archive <id>` for each named item, then `oat backlog regenerate-index` |
|
|
222
|
+
| `pjm:backlog_invalid_status`, `pjm:backlog_archived_open`, `pjm:backlog_duplicate_id` | edit the named item's frontmatter (the person), then `oat backlog regenerate-index` |
|
|
223
|
+
| `pjm:remote_schema`, `pjm:remote_binding_ids`, `pjm:remote_metadata_state`, `pjm:remote_storage_content`, `pjm:remote_policy`, `pjm:remote_concurrent_intents`, `pjm:remote_operations`, `pjm:remote_retention`, `pjm:remote_host_capability` | emitted only when a remote binding is adopted: `oat-pjm-remote` (reconcile or refresh) and `workflows/backlog-and-planning/remote-project-management.md` |
|
|
224
|
+
| any other `pjm:*` name | `info` with the check's message; no fix path is invented |
|
|
225
225
|
|
|
226
226
|
#### Agent instructions dive
|
|
227
227
|
|
|
228
|
-
Explain the sync strategy in use (`oat instructions validate --json` `.strategy`: `none`, the default, keeps no CLAUDE.md because Claude Code reads AGENTS.md itself; `pointer`, `symlink`, and `copy` keep a shim beside each AGENTS.md) and each non-`ok` entry and leftover-CLAUDE.md warning with its path. Explain each missing heading: what the CLI writes there and why an agent needs it (`
|
|
228
|
+
Explain the sync strategy in use (`oat instructions validate --json` `.strategy`: `none`, the default, keeps no CLAUDE.md because Claude Code reads AGENTS.md itself; `pointer`, `symlink`, and `copy` keep a shim beside each AGENTS.md) and each non-`ok` entry and leftover-CLAUDE.md warning with its path. Explain each missing heading: what the CLI writes there and why an agent needs it (`getting-started/bootstrap.md` for `## Tool Packs`; `workflows/backlog-and-planning/backlog-lifecycle.md` § Adoption comes first for the PJM sections). Offer `oat instructions sync`, `oat tools guidance` (read-only: prints the `OAT tools` block to add), or `oat pjm init` (appends absent PJM blocks) as the finding names; for wording and coverage beyond presence, hand off to `oat-agent-instructions-analyze` then `oat-agent-instructions-apply`.
|
|
229
229
|
|
|
230
230
|
#### Docs dive
|
|
231
231
|
|
|
@@ -233,7 +233,7 @@ Say what surface was detected and what `documentation.*` says. This dive owns no
|
|
|
233
233
|
|
|
234
234
|
#### Tools dive
|
|
235
235
|
|
|
236
|
-
List outdated tools with installed and bundled versions and scope, packs at both scopes, and packs enabled but not installed, each with its command. Explain scopes from `
|
|
236
|
+
List outdated tools with installed and bundled versions and scope, packs at both scopes, and packs enabled but not installed, each with its command. Explain scopes from `getting-started/tool-packs.md`.
|
|
237
237
|
|
|
238
238
|
### Step 4: Summary Mode (`--summary`)
|
|
239
239
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-agent-toolkit/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.14",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Open Agent Toolkit CLI",
|
|
6
6
|
"homepage": "https://github.com/voxmedia/open-agent-toolkit/tree/main/packages/cli",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"ora": "^9.0.0",
|
|
35
35
|
"yaml": "2.8.2",
|
|
36
36
|
"zod": "^3.25.76",
|
|
37
|
-
"@open-agent-toolkit/control-plane": "0.3.
|
|
37
|
+
"@open-agent-toolkit/control-plane": "0.3.14"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^22.10.0",
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Backlog Lifecycle
|
|
3
|
-
description: The states a file-backed backlog item moves through, how oat backlog archive closes it out atomically, and how oat pjm doctor catches lifecycle drift.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Backlog Lifecycle
|
|
7
|
-
|
|
8
|
-
The file-backed backlog under `.oat/repo/pjm/backlog/` tracks work as one Markdown file per item. This page describes the lifecycle those items move through, the atomic close-out command that keeps the pieces in sync, and the diagnostics that flag drift when a close-out is done by hand and something is missed.
|
|
9
|
-
|
|
10
|
-
For the flag-by-flag command reference, see [`oat backlog archive`](config-and-local-state.md#oat-backlog-archive). For the two-layer PJM surface that hosts the backlog, see [Tool Packs](tool-packs.md#install-vs-initialize).
|
|
11
|
-
|
|
12
|
-
## Adoption comes first
|
|
13
|
-
|
|
14
|
-
`oat backlog` mutations require this repository to have adopted PJM. Installing
|
|
15
|
-
the `project-management` pack makes the capability available — including at user
|
|
16
|
-
scope, which is the default — but it does not adopt PJM for a repository, and
|
|
17
|
-
`oat backlog init` is not an alternate adoption path.
|
|
18
|
-
|
|
19
|
-
Run `oat pjm init` once per repository. Until adoption is recorded, backlog
|
|
20
|
-
mutations write nothing and return an error naming the repository path and
|
|
21
|
-
`oat pjm init` as the recovery. Check the current state with
|
|
22
|
-
`oat pjm doctor --json` and read its `adoption.state` field.
|
|
23
|
-
|
|
24
|
-
## Where a backlog item lives
|
|
25
|
-
|
|
26
|
-
- **`items/<id>.md`** - active, file-backed records. Each carries frontmatter with a `status` and an `updated` timestamp.
|
|
27
|
-
- **`archived/<id>.md`** - the resting place for closed-out items, preserving the full item file as history.
|
|
28
|
-
- **`completed.md`** - a newest-first summary log of completed work, one line per entry (`YYYY-MM-DD — BL-YYMMDD-slug — Title — one-line outcome`).
|
|
29
|
-
- **`index.md`** - the human-facing curated overview plus a managed, generated index table rebuilt from item frontmatter.
|
|
30
|
-
|
|
31
|
-
## Item statuses
|
|
32
|
-
|
|
33
|
-
An item's `status` frontmatter field is one of exactly four values:
|
|
34
|
-
|
|
35
|
-
- `open` - captured, not yet started.
|
|
36
|
-
- `in_progress` - actively being worked.
|
|
37
|
-
- `closed` - completed.
|
|
38
|
-
- `wont_do` - abandoned or intentionally declined.
|
|
39
|
-
|
|
40
|
-
`closed` and `wont_do` are the two **terminal** statuses. These are the only valid values — never invent variants like `done`. A terminal item belongs in `archived/`, not `items/`.
|
|
41
|
-
|
|
42
|
-
## Closing out an item
|
|
43
|
-
|
|
44
|
-
When an item reaches a terminal state, close it out with the atomic command rather than editing files by hand:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
# completed work
|
|
48
|
-
oat backlog archive BL-260705-example --summary "shipped the thing"
|
|
49
|
-
|
|
50
|
-
# abandoned work
|
|
51
|
-
oat backlog archive BL-260705-example --wont-do --summary "superseded by BL-260706-other"
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
A single `oat backlog archive` run performs the whole close-out so its parts cannot drift apart:
|
|
55
|
-
|
|
56
|
-
1. Sets the terminal `status` (`closed` by default, `wont_do` with `--wont-do`) and stamps `updated`.
|
|
57
|
-
2. Validates and trims a nonblank `--summary` before mutating a `closed` item, then appends its canonical newest-first `completed.md` entry. `wont_do` items may omit the summary and get an entry only when one is provided.
|
|
58
|
-
3. Moves `items/<id>.md` into `archived/` — with `git mv` inside a work tree, or a plain rename outside git.
|
|
59
|
-
4. Rewrites inbound references to the moved file across Markdown under `.oat/repo/**` (tracked and untracked files that Git does not ignore; a code span whose whole content is the item's path, such as an external plan's source citation, is rewritten, while other code spans and fenced code are left as written with a warning) — external plans, decision records, and other backlog items — so no link dangles at `items/<id>.md`, and reports each rewritten file. A reference it cannot resolve is left alone with a warning.
|
|
60
|
-
5. Regenerates the managed backlog index.
|
|
61
|
-
|
|
62
|
-
The command is safe to re-run: an item already in `archived/` produces a no-op warning and only retries the reference rewrite and index regeneration, so an interrupted close-out finishes on the next run. A missing closed-item summary or an out-of-enum current status (for example a hand-set `done`) is a hard error before mutation and includes recovery guidance. See the [command reference](config-and-local-state.md#oat-backlog-archive) for exit codes and the `--json` payload.
|
|
63
|
-
|
|
64
|
-
## Catching lifecycle drift
|
|
65
|
-
|
|
66
|
-
The manual close-out this command replaces is exactly where the two motivating repos drifted — an item was marked closed in frontmatter and summarized in `completed.md` but never moved to `archived/`, and one shipped with the invalid status `done`. `oat pjm doctor` (and therefore `oat doctor`, which aggregates the `pjm:*` checks) now surfaces that drift:
|
|
67
|
-
|
|
68
|
-
- **`pjm:backlog_terminal_in_items`** (fail) - a `closed` or `wont_do` item is still sitting in `items/`. Fix: run `oat backlog archive <id>` to finish the move.
|
|
69
|
-
- **`pjm:backlog_invalid_status`** (fail) - an item carries an out-of-enum or missing `status`. The message lists the offending file paths and the valid statuses.
|
|
70
|
-
- **`pjm:backlog_archived_open`** (warn) - an `open` or `in_progress` item is in `archived/`, which usually means it was archived prematurely.
|
|
71
|
-
- **`pjm:backlog_completed_unarchived`** (warn) - `completed.md` references an item whose file still lives in `items/`.
|
|
72
|
-
- **`pjm:backlog_duplicate_id`** (fail) - the same `<id>.md` exists in both `items/` and `archived/`. `oat backlog archive` refuses to auto-resolve this (it would clobber the archived record), so the duplicate must be reconciled by hand.
|
|
73
|
-
|
|
74
|
-
These backlog checks run once the repository is adopted. `oat doctor` keys the
|
|
75
|
-
`pjm:*` family on repository adoption state rather than on
|
|
76
|
-
`tools.project-management`, so a repository whose PJM capability lives at user
|
|
77
|
-
scope still gets full backlog diagnostics. An unadopted repository reports
|
|
78
|
-
`pjm:adoption` with the `oat pjm init` recovery instead of backlog drift.
|
|
79
|
-
|
|
80
|
-
Doctor reports drift; it never auto-fixes. A human or agent runs `oat backlog archive` (or corrects the status) and re-runs doctor to confirm the backlog is clean again.
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: CLI Utilities
|
|
3
|
-
description: Standalone adoption lane for general OAT CLI surfaces outside provider sync, docs tooling, and tracked workflows.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# CLI Utilities
|
|
7
|
-
|
|
8
|
-
CLI Utilities is the OAT lane for the useful command surface that does not primarily belong to Provider Sync, Docs Tooling, or tracked workflow lifecycle execution.
|
|
9
|
-
|
|
10
|
-
Use this section when you want bootstrap guidance, tool-pack lifecycle details, configuration help, and general-purpose command references. It covers general-purpose setup, configuration, pack-management, and diagnostic utilities that support the rest of the toolkit without being specific to provider sync, docs tooling, or tracked workflow execution.
|
|
11
|
-
|
|
12
|
-
## Contents
|
|
13
|
-
|
|
14
|
-
- [CLI Bootstrap](bootstrap.md) - Foundational `oat init` guidance outside provider-sync-specific onboarding.
|
|
15
|
-
- [Tool Packs and Installed Assets](tool-packs.md) - Bundled packs and `oat tools` lifecycle commands.
|
|
16
|
-
- [Configuration](configuration.md) - OAT configuration guidance across shared, local, user, and provider-sync surfaces.
|
|
17
|
-
- [Remote Project Management](remote-project-management.md) - Provider-neutral remote bindings, policy, previews, approvals, storage, and recovery.
|
|
18
|
-
- [Config and Local State](config-and-local-state.md) - Utility command groups for config, local state, diagnostics, and related inspection flows.
|
|
19
|
-
- [Project Log](project-log.md) - Append-only project observations, synthesis, inspection, and durable roll-up.
|
|
20
|
-
- [Backlog Lifecycle](backlog-lifecycle.md) - Backlog item states, atomic close-out with `oat backlog archive`, and lifecycle drift detection in `oat pjm doctor`.
|
|
21
|
-
- [Workflow Gates](workflow-gates.md) - Completion-safe headless reviews, budgets, liveness evidence, and cross-runtime dispatch with `oat gate`.
|
|
22
|
-
|
|
23
|
-
## What Lives Here
|
|
24
|
-
|
|
25
|
-
This section collects the command groups that help you initialize OAT, manage installed packs, inspect local or config state, and use the wider CLI without implying that you are adopting provider sync or tracked workflows.
|
|
26
|
-
|
|
27
|
-
Examples include:
|
|
28
|
-
|
|
29
|
-
- bootstrap and setup flows such as `oat init`
|
|
30
|
-
- bundled pack management through `oat tools`
|
|
31
|
-
- general configuration guidance
|
|
32
|
-
- workflow gate commands for per-skill final checks and cross-runtime review dispatch
|
|
33
|
-
- utility command groups for config, local state, diagnostics, and related inspection flows
|
|
34
|
-
- a guided health check, the `/oat-doctor` skill, that sweeps config, project management, agent instructions, docs, and installed tools, then explains and offers fixes for what it finds (described in [Config and Local State](config-and-local-state.md))
|
|
35
|
-
|
|
36
|
-
## Who It's For
|
|
37
|
-
|
|
38
|
-
- Users getting OAT set up in a repo
|
|
39
|
-
- Teams managing installed tool packs and local config
|
|
40
|
-
- People who need a general command map without diving into workflow lifecycle docs
|
|
41
|
-
|
|
42
|
-
## When To Use This Section
|
|
43
|
-
|
|
44
|
-
Use CLI Utilities when:
|
|
45
|
-
|
|
46
|
-
- you are first setting up OAT in a repo
|
|
47
|
-
- you need to install or update OAT packs
|
|
48
|
-
- you are looking for configuration or local-state inspection help
|
|
49
|
-
- you need the general CLI surface without committing to one of the deeper lanes yet
|
|
50
|
-
|
|
51
|
-
## Start Here
|
|
52
|
-
|
|
53
|
-
- Use [CLI Bootstrap](bootstrap.md) when you are starting with `oat init`.
|
|
54
|
-
- Go to [Tool Packs](tool-packs.md) when you are managing bundled OAT packs and installed assets.
|
|
55
|
-
- Read [Configuration](configuration.md) for config semantics, or [Config and Local State](config-and-local-state.md) for inspection and diagnostic command groups.
|
|
56
|
-
- Read [Remote Project Management](remote-project-management.md) before binding local planning records to GitHub, Linear, or Jira.
|
|
57
|
-
- Use [Workflow Gates](workflow-gates.md) when you want a skill to run a configured final command before it is considered done.
|
|
58
|
-
|
|
59
|
-
## Common Tasks
|
|
60
|
-
|
|
61
|
-
- Bootstrap OAT in a repo with [CLI Bootstrap](bootstrap.md).
|
|
62
|
-
- Manage installed packs in [Tool Packs](tool-packs.md).
|
|
63
|
-
- Adjust settings in [Configuration](configuration.md).
|
|
64
|
-
- Use [Config and Local State](config-and-local-state.md) for the utility command groups that support inspection and diagnostics.
|
|
65
|
-
- Configure cross-runtime review gates in [Workflow Gates](workflow-gates.md).
|
|
66
|
-
|
|
67
|
-
## Go Deeper
|
|
68
|
-
|
|
69
|
-
- [CLI Bootstrap](bootstrap.md) - Foundational `oat init` guidance outside provider-sync-specific onboarding.
|
|
70
|
-
- [Tool Packs](tool-packs.md) - Bundled packs and `oat tools` lifecycle commands.
|
|
71
|
-
- [Configuration](configuration.md) - OAT configuration guidance.
|
|
72
|
-
- [Remote Project Management](remote-project-management.md) - Safely operate explicit remote planning-record bindings.
|
|
73
|
-
- [Config and Local State](config-and-local-state.md) - Utility command groups for config, local state, diagnostics, and related inspection flows.
|
|
74
|
-
- [Workflow Gates](workflow-gates.md) - Per-skill final commands and cross-runtime review dispatch.
|