@open-agent-toolkit/cli 0.3.13 → 0.3.15

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 (124) 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/markdown-features.md +38 -0
  5. package/assets/docs/contributing/skills.md +64 -2
  6. package/assets/docs/contributing/smoke-testing.md +23 -16
  7. package/assets/docs/contributing/updating-model-guidance.md +2 -2
  8. package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
  9. package/assets/docs/docs-tooling/add-docs-to-a-repo.md +32 -0
  10. package/assets/docs/docs-tooling/agent-instructions.md +131 -0
  11. package/assets/docs/docs-tooling/index.md +1 -0
  12. package/assets/docs/docs-tooling/meta.json +1 -1
  13. package/assets/docs/docs-tooling/workflows.md +338 -2
  14. package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
  15. package/assets/docs/getting-started/concepts.md +120 -0
  16. package/assets/docs/getting-started/index.md +68 -0
  17. package/assets/docs/getting-started/meta.json +4 -0
  18. package/assets/docs/getting-started/quickstart.md +174 -0
  19. package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +142 -14
  20. package/assets/docs/index.md +47 -48
  21. package/assets/docs/meta.json +6 -7
  22. package/assets/docs/provider-sync/commands.md +25 -2
  23. package/assets/docs/provider-sync/config.md +60 -1
  24. package/assets/docs/provider-sync/index.md +31 -15
  25. package/assets/docs/provider-sync/instruction-sync.md +32 -1
  26. package/assets/docs/provider-sync/manifest-and-drift.md +92 -0
  27. package/assets/docs/provider-sync/meta.json +1 -0
  28. package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
  29. package/assets/docs/provider-sync/scope-and-surface.md +37 -3
  30. package/assets/docs/reference/cli-reference.md +33 -33
  31. package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
  32. package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
  33. package/assets/docs/reference/file-locations.md +4 -1
  34. package/assets/docs/reference/index.md +13 -1
  35. package/assets/docs/reference/meta.json +7 -1
  36. package/assets/docs/reference/oat-directory-structure.md +1 -1
  37. package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
  38. package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +28 -21
  39. package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
  40. package/assets/docs/reference/troubleshooting.md +125 -10
  41. package/assets/docs/reference/what-oat-writes.md +410 -0
  42. package/assets/docs/skills/brainstorm.md +77 -0
  43. package/assets/docs/skills/diagnostics.md +56 -0
  44. package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
  45. package/assets/docs/skills/index.md +416 -0
  46. package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
  47. package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
  48. package/assets/docs/skills/repo-improve.md +254 -0
  49. package/assets/docs/skills/research.md +237 -0
  50. package/assets/docs/skills/session-closeout.md +61 -0
  51. package/assets/docs/workflows/advanced/autonomy.md +344 -0
  52. package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
  53. package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
  54. package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +20 -13
  55. package/assets/docs/workflows/advanced/index.md +19 -0
  56. package/assets/docs/workflows/advanced/meta.json +13 -0
  57. package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +108 -35
  58. package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
  59. package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
  60. package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
  61. package/assets/docs/workflows/approvals-and-automation.md +261 -0
  62. package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
  63. package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
  64. package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
  65. package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
  66. package/assets/docs/workflows/choose-workflow.md +114 -0
  67. package/assets/docs/workflows/ideas/index.md +3 -3
  68. package/assets/docs/workflows/ideas/lifecycle.md +225 -1
  69. package/assets/docs/workflows/index.md +11 -62
  70. package/assets/docs/workflows/meta.json +10 -2
  71. package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
  72. package/assets/docs/workflows/projects/closeout/index.md +14 -0
  73. package/assets/docs/workflows/projects/closeout/meta.json +4 -0
  74. package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
  75. package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
  76. package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
  77. package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +52 -38
  78. package/assets/docs/workflows/projects/execution/index.md +15 -0
  79. package/assets/docs/workflows/projects/execution/meta.json +9 -0
  80. package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
  81. package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
  82. package/assets/docs/workflows/projects/index.md +38 -49
  83. package/assets/docs/workflows/projects/lifecycle.md +159 -74
  84. package/assets/docs/workflows/projects/meta.json +2 -23
  85. package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
  86. package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
  87. package/assets/docs/workflows/projects/planning/index.md +16 -0
  88. package/assets/docs/workflows/projects/planning/meta.json +10 -0
  89. package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
  90. package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
  91. package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
  92. package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
  93. package/assets/docs/workflows/projects/reviews/meta.json +4 -0
  94. package/assets/docs/workflows/projects/reviews/review-flavors.md +650 -0
  95. package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
  96. package/assets/docs/workflows/waves/index.md +12 -0
  97. package/assets/docs/workflows/waves/meta.json +4 -0
  98. package/assets/docs/workflows/waves/wave-workflows.md +206 -0
  99. package/assets/public-package-versions.json +4 -4
  100. package/assets/skills/oat-docs/SKILL.md +19 -19
  101. package/assets/skills/oat-docs-analyze/SKILL.md +1 -1
  102. package/assets/skills/oat-docs-apply/SKILL.md +1 -1
  103. package/assets/skills/oat-docs-authoring/SKILL.md +1 -1
  104. package/assets/skills/oat-docs-bootstrap/SKILL.md +1 -1
  105. package/assets/skills/oat-doctor/SKILL.md +25 -25
  106. package/assets/templates/docs-app-fuma/app/[[...slug]]/page.tsx +14 -2
  107. package/assets/templates/docs-app-fuma/app/globals.css +1 -0
  108. package/dist/release/public-package-contract.js +1 -1
  109. package/package.json +2 -2
  110. package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
  111. package/assets/docs/cli-utilities/index.md +0 -74
  112. package/assets/docs/cli-utilities/meta.json +0 -13
  113. package/assets/docs/cli-utilities/remote-project-management.md +0 -191
  114. package/assets/docs/guide/concepts.md +0 -88
  115. package/assets/docs/guide/index.md +0 -31
  116. package/assets/docs/guide/meta.json +0 -4
  117. package/assets/docs/quickstart.md +0 -88
  118. package/assets/docs/workflows/projects/autonomy.md +0 -196
  119. package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
  120. package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
  121. package/assets/docs/workflows/projects/review-flavors.md +0 -138
  122. package/assets/docs/workflows/skills/index.md +0 -184
  123. package/assets/docs/workflows/skills/repo-improve.md +0 -89
  124. package/assets/docs/workflows/wave-workflows.md +0 -77
@@ -0,0 +1,174 @@
1
+ ---
2
+ title: Quickstart
3
+ description: 'Install the OAT CLI, get a first result in an existing repository, and choose what to add next.'
4
+ ---
5
+
6
+ # Quickstart
7
+
8
+ In about ten minutes you install the OAT command-line tool, try it safely in a
9
+ repository you already have, and choose what to add.
10
+
11
+ ## What you need
12
+
13
+ - Node.js 22.17 or newer
14
+ - Git 2.31 or newer
15
+ - An existing Git repository
16
+
17
+ OAT does not run an up-front Git version check. Git compatibility is evaluated
18
+ best-effort by each command, and a missing or unsupported Git operation makes
19
+ that command fail with a system error.
20
+
21
+ ## Install the CLI
22
+
23
+ ```bash
24
+ npm install --global @open-agent-toolkit/cli
25
+ oat --version
26
+ ```
27
+
28
+ ## Your first result
29
+
30
+ From the root folder of your repository, run:
31
+
32
+ ```bash
33
+ oat init --scope project
34
+ oat status --scope project
35
+ ```
36
+
37
+ `--scope project` targets the current repository. OAT calls this choice a
38
+ scope; `user` scope targets your home directory instead.
39
+
40
+ In a terminal, `oat init` asks which providers to enable (saved in
41
+ `.oat/sync/config.json`), whether to add an optional pre-commit hook that
42
+ warns, without blocking, when provider views are out of date, and whether to
43
+ run guided setup. For this first run, answer no to guided setup: it installs
44
+ tool packs in your home directory. Apart from your answers,
45
+ `oat init --scope project` writes only these files:
46
+
47
+ - empty folders `.agents/skills/`, `.agents/agents/` and `.agents/rules/`,
48
+ which hold your canonical assets: the one copy of each skill, agent and rule
49
+ that you edit;
50
+ - `.oat/sync/manifest.json`, OAT's record of the files it manages;
51
+ - a block marked `# OAT core` at the end of `.gitignore` and `.gitattributes`,
52
+ creating either file if needed and leaving your existing lines unchanged.
53
+
54
+ It does not touch your home directory or your Git remote, and it commits
55
+ nothing. For every file OAT creates, what to commit, and how to remove it all, see [What OAT Writes](../reference/what-oat-writes.md).
56
+
57
+ `oat status --scope project` reports provider views: the files or links that
58
+ each provider (a coding agent tool such as Claude Code, Cursor or Codex) reads.
59
+ A new repository has none yet, so it prints `No managed entries found.`
60
+
61
+ Leaving out `--scope project` also writes under your home directory
62
+ (`~/.oat/sync/manifest.json` and an empty `~/.agents/skills/`).
63
+
64
+ ## Then choose what to add
65
+
66
+ Each path works on its own. Code blocks run in a terminal. Names written as
67
+ `/name` are agent skills, typed in your coding agent's chat, not in a shell;
68
+ Codex uses `$name`. A skill is a set of instructions your agent follows on
69
+ request, and a tool pack is a bundle of skills and templates that installs
70
+ together.
71
+
72
+ ### Provider Sync
73
+
74
+ You edit each skill, agent and rule once in `.agents/`, and OAT creates the
75
+ files each coding tool reads and reports drift. It needs no tracked projects.
76
+
77
+ Add a skill first: a folder in `.agents/skills/` with a `SKILL.md` file (see
78
+ step 4 of [Pilot Provider Sync with One Team](../provider-sync/pilot-with-a-team.md)).
79
+ With no skills, sync reports `No changes required.`
80
+
81
+ ```bash
82
+ oat providers set --scope project --enabled claude
83
+ oat sync --scope project --dry-run
84
+ oat sync --scope project
85
+ ```
86
+
87
+ The first command saves your choice in `.oat/sync/config.json` (other
88
+ providers are `cursor`, `codex`, `copilot` and `gemini`). The second previews.
89
+ The third creates views, such as a link in `.claude/skills/` for each skill in
90
+ `.agents/skills/`, and records them in `.oat/sync/manifest.json`. A provider
91
+ folder already in the repository, such as `.claude/`, is enough for sync to
92
+ create its views. Read next: [Provider Sync](../provider-sync/index.md).
93
+
94
+ ### Reusable skills
95
+
96
+ You get skills for research, comparing options, code review, ideas and
97
+ brainstorming, installed for you across all your repositories. You do not need
98
+ `oat init` for this.
99
+
100
+ ```bash
101
+ oat tools install --scope user
102
+ oat sync --scope user
103
+ ```
104
+
105
+ With no pack name, this installs all eight packs (core, ideas, docs,
106
+ workflows, utility, research, brainstorm and project-management) under
107
+ `~/.agents/` and `~/.oat/`, and sync links them into tools it finds in your
108
+ home directory, such as `~/.claude/skills/`. To install one pack, name it:
109
+ `oat tools install research --scope user`. The core pack (`oat-docs` and
110
+ `oat-doctor`) always installs for your user, never into a repository. Read
111
+ next: [Skills](../skills/index.md) and
112
+ [Tool Packs and Installed Assets](tool-packs.md).
113
+
114
+ ### Workflows
115
+
116
+ You track longer work as a resumable project with reviews, approval points and
117
+ files such as `plan.md`, `implementation.md` and `state.md`.
118
+
119
+ ```bash
120
+ oat tools install workflows --scope project
121
+ ```
122
+
123
+ Claude Code reads skills only from `.claude/skills/`, while Cursor, Codex,
124
+ Copilot and Gemini read `.agents/skills/` directly. If you use Claude Code and
125
+ have not enabled it, run `oat providers set --scope project --enabled claude`
126
+ and then `oat sync --scope project` after installing, or the `/oat-...` skills
127
+ will not appear in it.
128
+
129
+ Then type `/oat-project-quick-start` in your coding agent.
130
+
131
+ This adds workflow skills and agents under `.agents/`, templates, scripts and
132
+ project folders under `.oat/`, and `.oat/config.json`. New tracked projects
133
+ default to the synced scope, which stores project files on a separate Git ref
134
+ and pushes it to your `origin` remote; read
135
+ [Before your first project](../workflows/projects/planning/starting-projects.md#before-your-first-project)
136
+ first. Read next: [Choose a Workflow](../workflows/choose-workflow.md).
137
+
138
+ ### Docs tooling
139
+
140
+ You set up plain Markdown or a docs site, then have your agent analyze it and
141
+ apply the changes you approve.
142
+
143
+ ```bash
144
+ oat tools install docs --scope project
145
+ ```
146
+
147
+ As with Workflows, if you use Claude Code and have not enabled it, run
148
+ `oat providers set --scope project --enabled claude` and
149
+ `oat sync --scope project` after installing.
150
+
151
+ Then type `/oat-docs-bootstrap` in your coding agent.
152
+
153
+ This adds seven docs skills under `.agents/skills/`, templates under
154
+ `.oat/templates/`, a script under `.oat/scripts/`, and `.oat/config.json`.
155
+ Read next: [Docs Tooling](../docs-tooling/index.md).
156
+
157
+ For setup options, configuration and every command, see
158
+ [CLI Bootstrap](bootstrap.md),
159
+ [Config and Local State](../reference/config-and-local-state.md) and the
160
+ [CLI Reference](../reference/cli-reference.md).
161
+
162
+ ## If you are unsure
163
+
164
+ Start with the path that matches what you need right now.
165
+
166
+ - To sync canonical assets across tools, choose Provider Sync.
167
+ - For help with one task, such as researching a decision, choose Reusable
168
+ skills.
169
+ - To run a tracked implementation workflow, choose Workflows.
170
+ - To work on documentation, choose Docs tooling.
171
+ - For command-line setup or utility guidance, use the links just above.
172
+
173
+ You can adopt more than one path over time; they work together or on their
174
+ own.
@@ -7,6 +7,15 @@ description: 'Tool-pack lifecycle commands (oat tools) for installing, updating,
7
7
 
8
8
  This page covers CLI commands that manage bundled OAT tool packs and installed OAT skill/agent assets in canonical directories.
9
9
 
10
+ > **In short**
11
+ >
12
+ > - A tool pack is a bundle of OAT skills (instructions your coding agent follows), agents, templates and scripts that installs as one unit.
13
+ > - There are eight packs: `core` (setup diagnostics and a local copy of these docs), `workflows` (tracked projects), `docs` (documentation upkeep), `utility` (reviews and maintenance helpers), `research` (evidence gathering and comparison), `ideas` and `brainstorm` (exploring ideas), and `project-management` (backlog and decisions kept in the repository).
14
+ > - Install one pack with an explicit scope: `oat tools install research --scope project` puts it in this repository, and `oat tools install research --scope user` puts it in your home directory. Leave out the pack name, as in `oat tools install --scope project`, to install every pack; in an interactive terminal it first asks which packs to include.
15
+ > - The `core` pack only ever installs under your home directory, whatever `--scope` you pass. [Where packs install](#where-packs-install) shows what that means for each command.
16
+ > - Installing the `project-management` pack is not the same as adopting project management: the repository's planning files are created only when someone runs `oat pjm init`.
17
+ > - Read next: [Choosing packs and their ownership](#choosing-packs-and-their-ownership), [Install vs. initialize](#install-vs-initialize), [Upgrading from an earlier CLI](#upgrading-from-an-earlier-cli), and [What OAT Writes](../reference/what-oat-writes.md) for every file each command creates.
18
+
10
19
  ## Quick Look
11
20
 
12
21
  - What it does: explains how bundled OAT packs are installed, updated, inspected, and removed.
@@ -29,8 +38,40 @@ This page covers CLI commands that manage bundled OAT tool packs and installed O
29
38
 
30
39
  Every reusable pack is a complete user-scope capability. On a **fresh** install
31
40
  each pack lands at user scope by default, so capabilities follow you across
32
- repositories. `core` is the one pack that is user-only: passing a conflicting
33
- explicit `--scope project` is rejected rather than silently ignored.
41
+ repositories. `core` is the one pack that is user-only; see
42
+ [Where packs install](#where-packs-install) for what happens when you ask for
43
+ project scope.
44
+
45
+ ### Where packs install
46
+
47
+ The `--scope` option of `oat tools install` and `oat tools remove` lists `all`
48
+ as its default in `--help`. For `oat tools install`, that default does not
49
+ mean both scopes:
50
+
51
+ - With no `--scope`, a pack that is not installed yet is installed under your
52
+ home directory (user scope: `~/.agents/` and `~/.oat/`). A pack that is
53
+ already installed keeps the scope it has. An interactive install of several
54
+ packs asks where each one should go and suggests the same answer.
55
+ - With `--scope project`, the pack is installed in this repository
56
+ (`.agents/` and `.oat/`). With `--scope user`, it is installed under your
57
+ home directory.
58
+ - With `--scope all` given explicitly for one pack, as in
59
+ `oat tools install docs --scope all`, that pack is installed at both scopes.
60
+
61
+ The `core` pack can only live under your home directory:
62
+
63
+ - `oat tools install --scope project`, with no pack name, installs the other
64
+ seven packs in this repository and still installs `core` under your home
65
+ directory.
66
+ - `oat tools install core --scope project` exits successfully and prints
67
+ `Installed core tool pack.`, but it writes nothing, neither in the
68
+ repository nor in your home directory. Run `oat tools install core` (or add
69
+ `--scope user`) to install it.
70
+ - `oat tools remove --all --scope project` fails with
71
+ `Pack core does not allow project scope`, and so does
72
+ `oat tools remove --all` with no `--scope`. Remove the project copies one
73
+ pack at a time with `oat tools remove --pack <pack> --scope project`, and
74
+ remove the home-directory copies with `oat tools remove --all --scope user`.
34
75
 
35
76
  On a **re-install**, existing placement wins. A pack already installed at
36
77
  project scope stays at project scope; the fresh-install default never migrates
@@ -184,7 +225,7 @@ oat tools update --pack utility --scope user
184
225
  ```
185
226
 
186
227
  It never falls back to a source checkout or copies core logic into the
187
- workflows pack. See [Explainer Kit](../workflows/skills/explainer-kit.md) for
228
+ workflows pack. See [Explainer Kit](../skills/explainer-kit.md) for
188
229
  the usage and lifecycle contract.
189
230
 
190
231
  ## Scope, intent, and inventory
@@ -449,12 +490,17 @@ adoption**, and the two are tracked independently:
449
490
  fresh install, so `~/.agents/skills/` and `~/.oat/templates/` receive the
450
491
  managed assets and no repository file is touched.
451
492
  - **Initialize (adoption)**: `oat pjm init` instantiates the two-layer working
452
- repo-reference surface under `.oat/repo/`, creates repository guidance only
453
- when the root `AGENTS.md` is absent, and records explicit adoption in
454
- `.oat/config.json` as `pjm.initialized: true` with a `pjm.schemaVersion`.
455
- When the root file or a contained symlink already exists, adoption completes
456
- independently and OAT prints a manual project-management/decision patch
457
- without changing that file.
493
+ repo-reference surface under `.oat/repo/` and records explicit adoption in
494
+ `.oat/config.json` as `pjm.initialized: true` with a `pjm.schemaVersion`. It
495
+ also writes the `OAT project-management` and `OAT decisions` guidance
496
+ sections to the root `AGENTS.md`. When no root `AGENTS.md` exists, it
497
+ creates the file with both sections. When the file (or a contained symlink
498
+ to one) exists, it appends whichever of the two sections is absent and
499
+ leaves the rest of the file unchanged. It does not rewrite a section that is
500
+ already there but differs from the managed version, and it does not write to
501
+ a file with more than one hard link or that it cannot write. In those cases
502
+ adoption still completes, the existing file is left unchanged, OAT prints a
503
+ manual patch for you to apply, and the command exits with status 1.
458
504
 
459
505
  Having the pack installed does **not** mean this repository uses PJM. Adoption
460
506
  is a per-repository decision recorded by `oat pjm init`:
@@ -471,7 +517,7 @@ The canonical surface splits active operational state (under `pjm/`) from durabl
471
517
  - `.oat/repo/reference/decisions/` (file-per-record decisions plus a generated index)
472
518
  - AGENTS guides at `.oat/repo/AGENTS.md`, `.oat/repo/pjm/AGENTS.md`, and `.oat/repo/reference/AGENTS.md`
473
519
 
474
- Decisions are now file-per-record under `reference/decisions/` (created and indexed with the [`oat decision`](config-and-local-state.md#oat-decision-) command group), replacing the legacy single `decision-record.md`. Repos still on the old `reference/` layout can migrate with `oat pjm migrate`.
520
+ Decisions are now file-per-record under `reference/decisions/` (created and indexed with the [`oat decision`](../reference/config-and-local-state.md#oat-decision-) command group), replacing the legacy single `decision-record.md`. Repos still on the old `reference/` layout can migrate with `oat pjm migrate`.
475
521
 
476
522
  Migration eligibility is independent of where the `project-management` pack is
477
523
  installed. `oat pjm migrate` resolves the repository's adoption state for
@@ -551,7 +597,7 @@ Useful options:
551
597
  - `--repo-root <path>` - scaffold a different repo-reference root instead of `.oat/repo`
552
598
  - `--json` - emit a machine-readable result with created and skipped paths
553
599
 
554
- Backlog scaffolding is delegated to the lower-level [`oat backlog init`](config-and-local-state.md#oat-backlog-) helper. Use `oat pjm init` for the full PJM repo-reference surface, and use `oat backlog init` directly only when you need to create or repair the backlog sub-surface by itself.
600
+ Backlog scaffolding is delegated to the lower-level [`oat backlog init`](../reference/config-and-local-state.md#oat-backlog-) helper. Use `oat pjm init` for the full PJM repo-reference surface, and use `oat backlog init` directly only when you need to create or repair the backlog sub-surface by itself.
555
601
 
556
602
  ### `oat tools list`
557
603
 
@@ -726,7 +772,7 @@ Key behavior:
726
772
  - Interactive installs show each pack's current install location in the picker so already-installed packs are visible before you submit
727
773
  - Installing is **additive**: choosing a scope for a pack never removes it from another scope. A pack installed at user scope plus a project install ends up at `project + user`, not moved
728
774
  - For every pack that allows both scopes (`ideas`, `docs`, `workflows`, `utility`, `project-management`, `research`, `brainstorm`), the interactive flow offers a per-pack end-state selector (`project`, `user`, or `both`) defaulting to the pack's current placement; leaving the default makes no changes for that pack
729
- - Fresh installs default to **user scope** for every pack; existing installs keep their current placement
775
+ - Fresh installs default to **user scope** for every pack; existing installs keep their current placement. The `--scope` default shown in `--help` is `all`, but with no `--scope` a pack that is not installed yet goes under your home directory; see [Where packs install](#where-packs-install)
730
776
  - `oat init --setup` uses this same additive scope resolver. In guided setup, choosing to customize scope reaches the per-pack selector; choosing the recommended defaults, or running non-interactively, applies additive per-pack defaults without removals
731
777
  - Every pack's fresh-install default is user scope (`defaultScope` in the release manifest); existing installs keep their current placement on re-install, so a re-install never moves a pack between scopes or creates a second copy at the other one. This applies to the per-pack subcommands too: a bare `oat tools install docs` in a repository where `docs` is already at project scope stays at project scope, and only an explicit `--scope` overrides that
732
778
  - Removing a pack from a scope happens only when you explicitly choose a narrower end-state in the interactive flow (e.g. a pack at `both` set to `project` only). All staged removals are shown in a single change summary and applied only after one batch confirmation — declining makes no changes
@@ -785,6 +831,7 @@ Purpose:
785
831
  Key behavior:
786
832
 
787
833
  - Accepts a tool name, `--pack <pack>`, or `--all` (mutually exclusive)
834
+ - `--all` covers every pack, including `core`, so it works only with `--scope user`. `oat tools remove --all --scope project`, and `oat tools remove --all` with no `--scope`, fail with `Pack core does not allow project scope`; remove project-scope packs one at a time with `--pack <pack> --scope project`
788
835
  - Removal is planned from the release manifest, so it deletes **only** assets OAT manages for that pack and scope
789
836
  - Retained by design: project-scope repository template overrides, mutable seed files (`.oat/ideas/…`, `.oat/projects-root`, project `.gitkeep` files), and shared scripts still owned by another installed pack. Retained owner data is reported rather than silently skipped
790
837
  - Already-missing files are not an error
@@ -916,7 +963,7 @@ The `core` pack contains foundational diagnostic and documentation skills:
916
963
 
917
964
  Key behavior:
918
965
 
919
- - Core pack always installs at **user scope** (`~/.agents/skills/`). It is the only pack whose sole allowed scope is `user`, and passing a conflicting explicit `--scope` (e.g. `oat init tools core --scope project`) is rejected with an error rather than silently ignored; omit `--scope` or pass `--scope user`. This ensures core skills are available in any directory.
966
+ - Core pack always installs at **user scope** (`~/.agents/skills/`). It is the only pack whose sole allowed scope is `user`. A conflicting explicit `--scope project` is not rejected: `oat tools install core --scope project` (and the legacy `oat init tools core --scope project`) exits successfully and prints `Installed core tool pack.` but writes nothing, while `oat tools install --scope project` with no pack name still installs core under your home directory. To install core, omit `--scope` or pass `--scope user`. Keeping core in your home directory makes its skills available in any directory. See [Where packs install](#where-packs-install).
920
967
  - `~/.oat/docs/` is a managed directory asset: its completeness and drift are compared as a whole tree, so a partially deleted docs tree is reported as a partial `core` install rather than passing silently.
921
968
  - Core is checked by default in the `oat init tools` guided setup.
922
969
  - Installation also bundles OAT documentation to `~/.oat/docs/` for the oat-docs skill.
@@ -1042,6 +1089,13 @@ grandfathered as `inferred-legacy`, and existing installs remain additive. One
1042
1089
  inert per-pack install flag was removed, and several commands you already run
1043
1090
  behave differently.
1044
1091
 
1092
+ OAT is versioned 0.x, and as this section shows, defaults and exit codes can
1093
+ change between 0.x releases. Release notes for each version, including the
1094
+ list of merged changes, are published on the repository's
1095
+ [GitHub Releases page](https://github.com/voxmedia/open-agent-toolkit/releases).
1096
+ The repository does not keep a separate `CHANGELOG` file. Read the notes for
1097
+ each version you skip before you update a team's installation.
1098
+
1045
1099
  ### Install scope defaults flipped to user
1046
1100
 
1047
1101
  Every pack's fresh-install default is now **user** scope; it used to be project
@@ -1172,4 +1226,78 @@ Related docs:
1172
1226
  - Diagnosing pack drift (`oat status`, `oat doctor`): `../reference/troubleshooting.md`
1173
1227
  - Bootstrap (`oat init`): `bootstrap.md`
1174
1228
  - Provider sync (`oat status`, `oat sync`, `oat providers ...`): `../provider-sync/index.md`
1175
- - Diagnostics and local-state commands: `config-and-local-state.md`
1229
+ - Diagnostics and local-state commands: [Config and Local State](../reference/config-and-local-state.md)
1230
+
1231
+ ## Choosing packs and their ownership
1232
+
1233
+ A tool pack is a bundle of OAT skills, agents, templates, and scripts that
1234
+ installs as one unit. You choose which packs to install and, for each one, its
1235
+ scope: user scope puts it in your home directory (`~/.agents/`, `~/.oat/`) so
1236
+ it works in every repository you open, and project scope puts it in this
1237
+ repository so every clone gets it.
1238
+
1239
+ | Need | Choose |
1240
+ | ---------------------------------------------------------- | ----------------------------------------------- |
1241
+ | Setup diagnostics and bundled documentation | `core` |
1242
+ | Tracked projects and lifecycle execution | `workflows` |
1243
+ | Documentation and instruction maintenance | `docs` |
1244
+ | Reviews, orchestration, explainers, repository improvement | `utility` |
1245
+ | Evidence gathering and analysis | `research` (includes its dispatch dependencies) |
1246
+ | Exploratory capture | `ideas` and/or `brainstorm` |
1247
+ | File-backed backlog, roadmap, decisions, tracker bindings | `project-management`, then explicitly adopt PJM |
1248
+
1249
+ The interactive picker selects every pack except `project-management`; a
1250
+ non-interactive install includes all eight. To install only one pack, name it:
1251
+ for example, `oat tools install research --scope user` installs just the
1252
+ `research` pack (plus the two `utility` dispatch skills it depends on). The
1253
+ `brainstorm` pack is labeled "always-on" because, at its default user scope,
1254
+ its skill is available in every repository you open. It does not start on its
1255
+ own: it enters brainstorm mode only when you run `/oat-brainstorm` or
1256
+ explicitly ask to brainstorm, and it does not activate for review, debugging,
1257
+ PR, status, or implementation questions. Installing `project-management`
1258
+ only makes its commands available. The repository's planning files are not
1259
+ created until someone runs `oat pjm init` (see [Install vs. initialize](#install-vs-initialize)).
1260
+
1261
+ - If you are trying OAT on your own, accept the picker's selection and add packs
1262
+ later when you need their workflows.
1263
+ - If your team will keep its backlog and decisions in the repository, also
1264
+ select `project-management`, then run `oat pjm doctor --json` and
1265
+ `oat pjm init` once.
1266
+ - If you mainly need evidence gathering, choose `research`; it installs the two
1267
+ dispatch skills it needs from `utility` for you.
1268
+
1269
+ | Scope | Choose it when | What you give up |
1270
+ | ------- | ----------------------------------------------- | -------------------------------------------------------------------------- |
1271
+ | User | You want the skills in every repository you use | Teammates do not get them from the repository |
1272
+ | Project | The team needs identical tooling in every clone | Pack updates show up as repository changes |
1273
+ | Both | Rarely, and only deliberately | Duplicate copies, and OAT does not decide which copy your agent tool loads |
1274
+
1275
+ A fresh install goes to user scope, which lets you reuse packs across
1276
+ repositories without update churn in each one; a pack that is already installed
1277
+ keeps its scope. **`core` is user-only**: `oat tools install --scope project`
1278
+ with no pack name still installs it in your home directory, and
1279
+ `oat tools install core --scope project` reports success but installs nothing
1280
+ (see [Where packs install](#where-packs-install)). `oat init --scope project --setup` does not choose
1281
+ project scope for packs; customize each pack's scope at the prompt, or install
1282
+ packs explicitly. Installing a pack at a second scope adds a second copy rather
1283
+ than moving it, so use `oat tools migrate` to move a pack between scopes.
1284
+ Templates that a project-scope install writes belong to the repository after
1285
+ that: later pack updates and `oat tools remove` leave them alone.
1286
+
1287
+ - If you are trying OAT alone, or want your skills in all your repositories,
1288
+ use user scope.
1289
+ - If you are rolling OAT out to a team, install with `--scope project` and
1290
+ commit the result. If you already have user-scope copies, move them with
1291
+ `oat tools migrate --pack <pack> --from user --to project` instead of
1292
+ installing a second time.
1293
+ - If you do end up with both copies, check which one your agent tool actually
1294
+ loads; OAT does not resolve that for you.
1295
+
1296
+ Installing any pack never gives OAT permission to publish to an issue tracker.
1297
+
1298
+ > [!WARNING]
1299
+ > Rerunning `oat pjm init` or `oat pjm migrate --apply` deletes the `pjm.remote`
1300
+ > settings from `.oat/config.json`, so every remote setting silently returns to
1301
+ > its default. Afterwards, check `git diff .oat/config.json` and restore the
1302
+ > settings you need with `oat config set` (shared remote storage is restored
1303
+ > with `oat pjm remote storage shared`) before doing more remote work.
@@ -1,30 +1,45 @@
1
1
  ---
2
- title: OAT Documentation
2
+ title: Home
3
3
  description: 'An open-source toolkit for portable, provider-agnostic agent tooling and workflows.'
4
4
  ---
5
5
 
6
6
  # OAT Documentation
7
7
 
8
- Open Agent Toolkit (OAT) is an open-source toolkit for portable, provider-agnostic agent tooling and workflows. It lets teams define canonical agent capabilities once, sync them across providers, and optionally run tracked human-in-the-loop workflows on top.
9
-
10
- OAT is organized as three distinct capabilities that can be used together or independently:
11
-
12
- 1. Provider interoperability CLI (canonical skills/agents + provider sync/drift tooling)
13
- 2. Reusable skills, CLI commands, and tooling for provider-agnostic development workflows
14
- 3. Optional workflow system (discovery/spec/design/plan/implement/review/PR lifecycle)
15
-
16
- ## Contents
17
-
18
- - [Quickstart](quickstart.md) - Canonical Start Here page for choosing the right OAT adoption path.
19
- - [User Guide](guide/index.md) - Legacy compatibility router for old guide links while content continues moving into the canonical sections below.
20
- - [Provider Sync](provider-sync/index.md) - Canonical section for provider interoperability, drift management, and canonical-to-provider sync.
21
- - [Agentic Workflows](workflows/index.md) - Canonical section for tracked project workflows, ideas, lifecycle execution, and workflow-oriented skills.
22
- - [Docs Tooling](docs-tooling/index.md) - Canonical section for docs app setup, docs commands, and docs maintenance workflows.
23
- - [CLI Utilities](cli-utilities/index.md) - Canonical section for general OAT CLI surfaces outside provider sync, docs tooling, and tracked workflows.
24
- - [Contributing](contributing/index.md) - Contributor-facing guide for code, docs, markdown features, and skill authoring.
25
- - [Reference](reference/index.md) - Durable reference material for operating and maintaining OAT.
26
-
27
- ## Why OAT Exists
8
+ Open Agent Toolkit (OAT) is an open-source command-line tool and skill library
9
+ for teams that work with AI coding agents such as Claude Code, Cursor, Codex,
10
+ GitHub Copilot and Gemini CLI. You define skills, agents and rules once in your
11
+ repository and OAT keeps every tool's copy in step, and when you want more
12
+ structure it adds optional tracked workflows with plans, reviews and human
13
+ approval points.
14
+
15
+ ## What you can do with it
16
+
17
+ - **Keep your coding tools aligned.** Edit each skill, agent and rule once in
18
+ `.agents/`, let `oat sync` create the files each tool reads, and check them
19
+ for drift with `oat status`. Start with
20
+ [Provider Sync](provider-sync/index.md).
21
+ - **Get help with a single task.** Use ready-made skills, instructions your
22
+ agent follows on request, to research a decision, compare options or review
23
+ a change, without setting up a tracked project. Start with
24
+ [Skills](skills/index.md).
25
+ - **Make longer work resumable.** Track work as a project that moves through
26
+ discovery, specification, design, planning, implementation, review and pull
27
+ request, with points where a person approves before the agent continues.
28
+ Start with [Choose a Workflow](workflows/choose-workflow.md).
29
+ - **Keep documentation maintained.** Set up plain Markdown or a docs site,
30
+ then have your agent analyze it and apply the improvements you approve.
31
+ Start with [Docs Tooling](docs-tooling/index.md).
32
+
33
+ Each of these works on its own, so you can start with one and add others
34
+ later.
35
+
36
+ ## Start here
37
+
38
+ New to OAT? [Quickstart](getting-started/quickstart.md) installs the CLI, gives
39
+ you a first result in an existing repository that changes files only inside
40
+ that repository, and helps you choose what to add next.
41
+
42
+ ## Why OAT exists
28
43
 
29
44
  Teams often need some combination of:
30
45
 
@@ -32,32 +47,16 @@ Teams often need some combination of:
32
47
  - reusable skills and helper tooling that do not depend on one provider
33
48
  - a more structured workflow for longer-running implementation work
34
49
 
35
- OAT exists to make those layers work together without forcing teams to adopt all of them at once.
36
-
37
- ## Start Here
50
+ OAT exists to make those layers work together without forcing teams to adopt
51
+ all of them at once. It is not another agent runtime: it works through the
52
+ coding agents you already use.
38
53
 
39
- If you are new to OAT, start with [Quickstart](quickstart.md).
40
-
41
- That page is the canonical path-selection guide. Use it to choose whether you need:
42
-
43
- - provider sync
44
- - agentic workflows
45
- - docs tooling
46
- - general CLI utilities
47
-
48
- ## Source-of-truth hierarchy
49
-
50
- 1. Runtime behavior: `packages/cli/src/**`
51
- 2. Skill behavior contracts: `.agents/skills/*/SKILL.md`
52
- 3. OAT templates and runtime state: `.oat/templates/**`, `.oat/sync/**`, `.oat/config.json`, `.oat/config.local.json`
53
- 4. Repo reference records: `.oat/repo/**`
54
-
55
- ## Where To Go Next
54
+ ## Contents
56
55
 
57
- - New to OAT: [Quickstart](quickstart.md)
58
- - Following an older guide link: [User Guide](guide/index.md)
59
- - Need canonical-to-provider sync: [Provider Sync](provider-sync/index.md)
60
- - Need tracked project execution: [Agentic Workflows](workflows/index.md)
61
- - Need docs app or docs maintenance tooling: [Docs Tooling](docs-tooling/index.md)
62
- - Need general command-line help: [CLI Utilities](cli-utilities/index.md)
63
- - Need stable contracts and reference material: [Reference](reference/index.md)
56
+ - [Getting Started](getting-started/index.md) - How to install OAT, get a first result, and learn the core ideas, plus project status and known limits.
57
+ - [Skills](skills/index.md) - Which skill to use for a task, and how to run it.
58
+ - [Workflows](workflows/index.md) - Tracked projects from plan to pull request, plus ideas, backlog planning and running a batch of existing plans as a wave.
59
+ - [Provider Sync](provider-sync/index.md) - How to keep one set of skills, agents and rules in step across coding tools.
60
+ - [Docs Tooling](docs-tooling/index.md) - How to set up and maintain Markdown docs or a docs site.
61
+ - [Reference](reference/index.md) - Configuration, commands, file locations and troubleshooting.
62
+ - [Contributing](contributing/index.md) - How to change OAT itself: code, docs and skills.
@@ -1,14 +1,13 @@
1
1
  {
2
- "title": "OAT Documentation",
2
+ "title": "Home",
3
3
  "pages": [
4
4
  "index",
5
- "quickstart",
6
- "guide",
7
- "provider-sync",
5
+ "getting-started",
6
+ "skills",
8
7
  "workflows",
8
+ "provider-sync",
9
9
  "docs-tooling",
10
- "cli-utilities",
11
- "contributing",
12
- "reference"
10
+ "reference",
11
+ "contributing"
13
12
  ]
14
13
  }
@@ -13,8 +13,8 @@ These command definitions inherit the cross-cutting CLI conventions in:
13
13
 
14
14
  ## Adjacent command docs (outside provider interop scope)
15
15
 
16
- - `oat init` (bootstrap): `../cli-utilities/bootstrap.md`
17
- - `oat tools ...` (tool-pack lifecycle — install, update, remove, list, info): `../cli-utilities/tool-packs.md`
16
+ - `oat init` (bootstrap): [CLI Bootstrap](../getting-started/bootstrap.md)
17
+ - `oat tools ...` (tool-pack lifecycle — install, update, remove, list, info): [Tool Packs and Installed Assets](../getting-started/tool-packs.md)
18
18
  - `oat doctor` (cross-cutting diagnostics): `../reference/cli-reference.md`
19
19
 
20
20
  ## Quick Look
@@ -241,3 +241,26 @@ Key behavior:
241
241
  - Under `none`, warns about every `CLAUDE.md` that remains after sync, including inside excluded trees, because any one of them makes Claude Code ignore every `AGENTS.md`
242
242
  - Uses pointer content `@AGENTS.md\n`, file symlinks, or hard copies depending on the selected strategy
243
243
  - Detailed behavior and examples: [`Instruction Sync`](instruction-sync.md)
244
+
245
+ ## Safe scope for routine refresh
246
+
247
+ `oat sync` copies or links your canonical assets (the skills, agents, and rules
248
+ you edit under `.agents/`) into provider views, the per-tool files such as
249
+ `.claude/skills/<name>` that each agent tool reads. The scope decides which
250
+ trees it touches: `project` is this repository, `user` is your home directory,
251
+ and `all` is both.
252
+
253
+ > [!WARNING]
254
+ > A bare `oat sync` uses scope `all`, so it also writes under your home
255
+ > directory. Every sync also overwrites edits made directly in provider folders,
256
+ > replaces an untracked file sitting at a view path, and removes a view whose
257
+ > canonical source was deleted. Edit files under `.agents/` rather than in
258
+ > provider folders, and pass `--scope` explicitly.
259
+
260
+ - For a repository-only refresh, run `oat sync --scope project --dry-run` to
261
+ preview, then run it again without `--dry-run`.
262
+ - In CI or scripts, always pass `--scope project` so the run cannot touch
263
+ anything in a home directory.
264
+ - To refresh your personal skills across repositories, run
265
+ `oat sync --scope user`.
266
+ - If you do mean to refresh both, preview `oat sync --scope all --dry-run` first.