nitm-ai-dev-toolkit 5.0.0 → 5.0.1

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 (162) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +27 -7
  3. package/bin/cli.js +598 -88
  4. package/package.json +1 -1
  5. package/src/monorepo/.agents/skills/factory/SKILL.md +77 -27
  6. package/src/monorepo/.claude/commands/assign-tasks.md +1 -0
  7. package/src/monorepo/.claude/commands/factory.md +1 -1
  8. package/src/monorepo/.claude/commands/ponytail-review.md +1 -1
  9. package/src/monorepo/.claude/prompt-snippets/assign-tasks.md +13 -3
  10. package/src/monorepo/.claude/prompt-snippets/bootstrap-patch.md +31 -24
  11. package/src/monorepo/.claude/prompt-snippets/bootstrap-upgrade.md +12 -13
  12. package/src/monorepo/.claude/prompt-snippets/bootstrap.md +11 -11
  13. package/src/monorepo/.claude/prompt-snippets/factory.md +4 -4
  14. package/src/monorepo/.claude/prompt-snippets/implement-feature.md +3 -1
  15. package/src/monorepo/.claude/rules-snippets/subagent-workflow.md +2 -2
  16. package/src/monorepo/.cursor/commands/factory.md +1 -1
  17. package/src/monorepo/.github/prompts/factory.prompt.md +1 -1
  18. package/src/monorepo/.opencode/agents/admin-portal.md +1 -1
  19. package/src/monorepo/.opencode/agents/api-specialist.md +1 -1
  20. package/src/monorepo/.opencode/agents/backend-architect.md +1 -1
  21. package/src/monorepo/.opencode/agents/documenter.md +1 -1
  22. package/src/monorepo/.opencode/agents/factory-approver.md +1 -1
  23. package/src/monorepo/.opencode/agents/factory-builder.md +1 -1
  24. package/src/monorepo/.opencode/agents/factory-reviewer-code.md +1 -1
  25. package/src/monorepo/.opencode/agents/factory-reviewer-security.md +1 -1
  26. package/src/monorepo/.opencode/agents/factory-reviewer-ui.md +1 -1
  27. package/src/monorepo/.opencode/agents/factory-reviewer-ux.md +1 -1
  28. package/src/monorepo/.opencode/agents/factory-spec-writer.md +1 -1
  29. package/src/monorepo/.opencode/agents/feature-builder.md +1 -1
  30. package/src/monorepo/.opencode/agents/frontend-developer.md +1 -1
  31. package/src/monorepo/.opencode/agents/green.md +1 -1
  32. package/src/monorepo/.opencode/agents/implementer.md +1 -1
  33. package/src/monorepo/.opencode/agents/planner.md +1 -1
  34. package/src/monorepo/.opencode/agents/red.md +1 -1
  35. package/src/monorepo/.opencode/agents/refactor.md +1 -1
  36. package/src/monorepo/.opencode/agents/researcher.md +1 -1
  37. package/src/monorepo/.opencode/agents/reviewer.md +1 -1
  38. package/src/monorepo/.opencode/agents/tdd.md +1 -1
  39. package/src/monorepo/.opencode/commands/assign-tasks.md +1 -1
  40. package/src/monorepo/.opencode/commands/bootstrap-patch.md +1 -1
  41. package/src/monorepo/.opencode/commands/bootstrap-upgrade.md +1 -1
  42. package/src/monorepo/.opencode/commands/bootstrap.md +1 -1
  43. package/src/monorepo/.opencode/commands/commit-push.md +1 -1
  44. package/src/monorepo/.opencode/commands/constitution.md +1 -1
  45. package/src/monorepo/.opencode/commands/create-skill.md +1 -1
  46. package/src/monorepo/.opencode/commands/factory.md +1 -1
  47. package/src/monorepo/.opencode/commands/implement-feature.md +1 -1
  48. package/src/monorepo/.opencode/commands/implement-fixes.md +1 -1
  49. package/src/monorepo/.opencode/commands/implement.md +1 -1
  50. package/src/monorepo/.opencode/commands/plan.md +1 -1
  51. package/src/monorepo/.opencode/commands/playwright-test.md +1 -1
  52. package/src/monorepo/.opencode/commands/ponytail-audit.md +1 -1
  53. package/src/monorepo/.opencode/commands/ponytail-debt.md +1 -1
  54. package/src/monorepo/.opencode/commands/ponytail-gain.md +1 -1
  55. package/src/monorepo/.opencode/commands/ponytail-help.md +1 -1
  56. package/src/monorepo/.opencode/commands/ponytail-review.md +1 -1
  57. package/src/monorepo/.opencode/commands/ponytail.md +1 -1
  58. package/src/monorepo/.opencode/commands/release-notes.md +1 -1
  59. package/src/monorepo/.opencode/commands/review-pr.md +1 -1
  60. package/src/monorepo/.opencode/commands/review.md +1 -1
  61. package/src/monorepo/.opencode/commands/specify.md +1 -1
  62. package/src/monorepo/.opencode/commands/tasks.md +1 -1
  63. package/src/monorepo/.opencode/opencode.jsonc +1 -2
  64. package/src/monorepo/.opencode/rules/agent-conduct.md +1 -1
  65. package/src/monorepo/.opencode/rules/api-server.md +1 -1
  66. package/src/monorepo/.opencode/rules/coding-standards.md +1 -1
  67. package/src/monorepo/.opencode/rules/component-structure.md +1 -1
  68. package/src/monorepo/.opencode/rules/core-libraries.md +1 -1
  69. package/src/monorepo/.opencode/rules/environment-tooling.md +1 -1
  70. package/src/monorepo/.opencode/rules/logging-comments.md +1 -1
  71. package/src/monorepo/.opencode/rules/logging.md +1 -1
  72. package/src/monorepo/.opencode/rules/prisma-migrations.md +1 -1
  73. package/src/monorepo/.opencode/rules/project-context.md +1 -1
  74. package/src/monorepo/.opencode/rules/server-client-separation.md +1 -1
  75. package/src/monorepo/.opencode/rules/subagent-workflow.md +1 -1
  76. package/src/monorepo/.opencode/rules/testing-quality.md +1 -1
  77. package/src/monorepo/.opencode/rules/ui-accessibility.md +1 -1
  78. package/src/monorepo/.opencode/rules/version-control.md +1 -1
  79. package/src/monorepo/.opencode/rules/what-to-avoid.md +1 -1
  80. package/src/monorepo/AGENTS.md +3 -3
  81. package/src/monorepo/README.md +4 -4
  82. package/src/monorepo/factory/README.md +40 -15
  83. package/src/monorepo/factory/worktree-bootstrap.md +32 -0
  84. package/src/repo/.agents/skills/factory/SKILL.md +76 -26
  85. package/src/repo/.claude/commands/assign-tasks.md +1 -0
  86. package/src/repo/.claude/commands/factory.md +1 -1
  87. package/src/repo/.claude/commands/ponytail-review.md +1 -1
  88. package/src/repo/.claude/prompt-snippets/assign-tasks.md +13 -3
  89. package/src/repo/.claude/prompt-snippets/bootstrap-patch.md +31 -24
  90. package/src/repo/.claude/prompt-snippets/bootstrap-upgrade.md +16 -16
  91. package/src/repo/.claude/prompt-snippets/bootstrap.md +11 -11
  92. package/src/repo/.claude/prompt-snippets/factory.md +4 -4
  93. package/src/repo/.claude/prompt-snippets/implement-feature.md +3 -1
  94. package/src/repo/.claude/rules-snippets/subagent-workflow.md +2 -2
  95. package/src/repo/.cursor/commands/factory.md +1 -1
  96. package/src/repo/.github/prompts/factory.prompt.md +1 -1
  97. package/src/repo/.opencode/agents/admin-portal.md +1 -1
  98. package/src/repo/.opencode/agents/api-specialist.md +1 -1
  99. package/src/repo/.opencode/agents/backend-architect.md +1 -1
  100. package/src/repo/.opencode/agents/documenter.md +1 -1
  101. package/src/repo/.opencode/agents/factory-approver.md +1 -1
  102. package/src/repo/.opencode/agents/factory-builder.md +1 -1
  103. package/src/repo/.opencode/agents/factory-reviewer-code.md +1 -1
  104. package/src/repo/.opencode/agents/factory-reviewer-security.md +1 -1
  105. package/src/repo/.opencode/agents/factory-reviewer-ui.md +1 -1
  106. package/src/repo/.opencode/agents/factory-reviewer-ux.md +1 -1
  107. package/src/repo/.opencode/agents/factory-spec-writer.md +1 -1
  108. package/src/repo/.opencode/agents/feature-builder.md +1 -1
  109. package/src/repo/.opencode/agents/frontend-developer.md +1 -1
  110. package/src/repo/.opencode/agents/green.md +1 -1
  111. package/src/repo/.opencode/agents/implementer.md +1 -1
  112. package/src/repo/.opencode/agents/planner.md +1 -1
  113. package/src/repo/.opencode/agents/red.md +1 -1
  114. package/src/repo/.opencode/agents/refactor.md +1 -1
  115. package/src/repo/.opencode/agents/researcher.md +1 -1
  116. package/src/repo/.opencode/agents/reviewer.md +1 -1
  117. package/src/repo/.opencode/agents/tdd.md +1 -1
  118. package/src/repo/.opencode/commands/assign-tasks.md +1 -1
  119. package/src/repo/.opencode/commands/bootstrap-patch.md +1 -1
  120. package/src/repo/.opencode/commands/bootstrap-upgrade.md +1 -1
  121. package/src/repo/.opencode/commands/bootstrap.md +1 -1
  122. package/src/repo/.opencode/commands/commit-push.md +1 -1
  123. package/src/repo/.opencode/commands/constitution.md +1 -1
  124. package/src/repo/.opencode/commands/create-skill.md +1 -1
  125. package/src/repo/.opencode/commands/factory.md +1 -1
  126. package/src/repo/.opencode/commands/implement-feature.md +1 -1
  127. package/src/repo/.opencode/commands/implement-fixes.md +1 -1
  128. package/src/repo/.opencode/commands/implement.md +1 -1
  129. package/src/repo/.opencode/commands/plan.md +1 -1
  130. package/src/repo/.opencode/commands/playwright-test.md +1 -1
  131. package/src/repo/.opencode/commands/ponytail-audit.md +1 -1
  132. package/src/repo/.opencode/commands/ponytail-debt.md +1 -1
  133. package/src/repo/.opencode/commands/ponytail-gain.md +1 -1
  134. package/src/repo/.opencode/commands/ponytail-help.md +1 -1
  135. package/src/repo/.opencode/commands/ponytail-review.md +1 -1
  136. package/src/repo/.opencode/commands/ponytail.md +1 -1
  137. package/src/repo/.opencode/commands/release-notes.md +1 -1
  138. package/src/repo/.opencode/commands/review-pr.md +1 -1
  139. package/src/repo/.opencode/commands/review.md +1 -1
  140. package/src/repo/.opencode/commands/specify.md +1 -1
  141. package/src/repo/.opencode/commands/tasks.md +1 -1
  142. package/src/repo/.opencode/opencode.jsonc +1 -2
  143. package/src/repo/.opencode/rules/agent-conduct.md +1 -1
  144. package/src/repo/.opencode/rules/api-server.md +1 -1
  145. package/src/repo/.opencode/rules/coding-standards.md +1 -1
  146. package/src/repo/.opencode/rules/component-structure.md +1 -1
  147. package/src/repo/.opencode/rules/core-libraries.md +1 -1
  148. package/src/repo/.opencode/rules/environment-tooling.md +1 -1
  149. package/src/repo/.opencode/rules/logging-comments.md +1 -1
  150. package/src/repo/.opencode/rules/logging.md +1 -1
  151. package/src/repo/.opencode/rules/prisma-migrations.md +1 -1
  152. package/src/repo/.opencode/rules/project-context.md +1 -1
  153. package/src/repo/.opencode/rules/server-client-separation.md +1 -1
  154. package/src/repo/.opencode/rules/subagent-workflow.md +1 -1
  155. package/src/repo/.opencode/rules/testing-quality.md +1 -1
  156. package/src/repo/.opencode/rules/ui-accessibility.md +1 -1
  157. package/src/repo/.opencode/rules/version-control.md +1 -1
  158. package/src/repo/.opencode/rules/what-to-avoid.md +1 -1
  159. package/src/repo/AGENTS.md +3 -3
  160. package/src/repo/README.md +4 -4
  161. package/src/repo/factory/README.md +33 -14
  162. package/src/repo/factory/worktree-bootstrap.md +32 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - `patch --dry-run`, persisted `--exclude`/`--only` selections in `.nitm/toolkit.json`, version pinning for `upgrade <version>`/`--version`, and `.toolkit-version` plus `.nitm/manifest.json` state tracking. `doctor` now reports version mismatches, stale files without deleting them, and supports a placeholder allowlist.
13
+ - Added `test/opencode-wrappers.test.js` to verify explicit "Read and follow" instructions in OpenCode wrappers.
14
+ - Factory configuration now supports `{{FACTORY_FEATURE_PATHS}}` and `{{MERGE_MODE}}` (`local` or `push-mr`), per-workspace tests during monorepo merges, and `factory/worktree-bootstrap.md`.
15
+
16
+ ### Changed
17
+
18
+ - `bootstrap-patch` resolves versions from `.toolkit-version`, tries `npm pack` with a no-`v` git-tag fallback, and gates supported OpenCode versions without a hard-coded major.
19
+ - OpenCode wrappers replace bare `@.claude/` imports with explicit "Read and follow" instructions. Config `instructions` loading is runtime-dependent; wrappers no longer rely on it.
20
+ - Legacy heading-style `tasks.md` assigns one ticket per heading without rewriting the file; task numbering starts at T1, and `implement-feature` ticks tasks only under the current heading.
21
+ - CLI supports `--dry-run`, persisted file selection, exact-version upgrades (refusing `latest`), conditional `BOOTSTRAP.md` rewrites with backups, and toolkit version/manifest tracking.
22
+ - The template no longer registers the Ponytail OpenCode plugin (`@dietrichgebert/ponytail`); the operator installs it globally. Bootstrap may check for it and tell the operator to install it globally, but never adds it to project config.
23
+ - `ponytail-review` permits `git diff`, `git status`, and `git show`. Document its Claude hooks as plugin-only.
24
+ - Backfilled 4.0.1 and 3.0.x release notes.
25
+
26
+ ### Fixed
27
+
28
+ - Removed stale "publishing not executed" and "4.x" wording.
29
+
10
30
  ## [5.0.0]
11
31
 
12
32
  ### Breaking
@@ -40,6 +60,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
40
60
  - `doctor` placeholder scan matches names with digits (for example `{{DB2_HOST}}`), skips `templates/` blank forms, and ignores runtime-only placeholders (`ISSUE_ID`, `ISSUE_KEY`, `FEATURE_NAME`, `NAME`), so a bootstrapped project can report clean.
41
61
  - `.cursor/rules/orient-to-recent-work.mdc` skill link now resolves (`../` → `../../`).
42
62
 
63
+ ## [4.0.1] - 2026-10-20
64
+
65
+ ### Changed
66
+
67
+ - Updated the package version for the patch release.
68
+
43
69
  ## [4.0.0]
44
70
 
45
71
  ### Migration
@@ -128,6 +154,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
128
154
  - Comprehensive template review fixes: corrected `CLAUDE.md` `@import` paths (`prompt-snippets` → `rules-snippets`); fixed broken `../.agents/` skill links in `src/repo/AGENTS.md` and `src/monorepo/AGENTS.md`; updated README bundled-skills count to 32 and added `bkt-cli`/`glab-cli` rows; synced truncated monorepo rules-snippets (`agent-conduct`, `subagent-workflow`, `coding-standards`, `core-libraries`) to repo; converted inlined Cursor commands (`review-pr`, `review`, `commit-push`) to thin wrappers; aligned monorepo agent `tools:` names to Claude Code standard; fixed root `.opencode/commands` snippet imports; added missing `testing.md` rule and `component-structure.md` snippet; removed remaining `composition-api-component-structure` stale files
129
155
  - Agent tool permissions corrected across repo and monorepo templates: Planner gained write + terminal (Copilot `edit`/`runInTerminal`/`terminalLastCommand`, OpenCode `edit: allow, bash: allow`, Claude `Bash(*)`); Documenter gained `Edit` + `Bash(*)` and OpenCode `edit: allow, bash: allow`; Researcher (Claude) lost `Write` (read-only); Reviewer (Claude) lost `Write` and OpenCode gained `bash: allow` (read + terminal). Added Agent Tool & Permission Calibration step to both `bootstrap.md` files
130
156
 
157
+ ## [3.0.x]
158
+
159
+ 3.0.0 is not on npm; use git tag `3.0.0` (`git clone --depth 1 --branch 3.0.0 …`) or npm 3.0.15+ as a merge base.
160
+
161
+ ### Added
162
+
163
+ - **3.0.0 (2026-06-09):** Shared Claude/Copilot instructions, prompt snippets, and expanded agent workflows.
164
+ - **3.0.2 (2026-06-10):** `gh-cli` skill with PR review-thread resolution.
165
+ - **3.0.7 (2026-06-22):** Ponytail skill bundle, template parity improvements, documentation pre-commit check, and `orient-to-recent-work` skill.
166
+ - **3.0.13 (2026-07-10):** `bkt-cli` and `glab-cli` skills.
167
+ - **3.0.15 (2026-07-11):** npm package and zero-dependency CLI for install, patch, upgrade, doctor, and starter setup; CLI tests and CI.
168
+ - **3.0.23 (2026-09-30):** Codex added to default bootstrap.
169
+
170
+ ### Changed
171
+
172
+ - **3.0.1–3.0.6 (2026-06-09–2026-06-12):** Aligned shared prompts/rules and command wrappers; improved OpenCode bootstrap validation, argument hints, placeholder conventions, template consistency, and agent guidance.
173
+ - **3.0.8–3.0.14 (2026-07-06–2026-07-10):** Refined OpenCode/Cursor commands and agent templates; corrected CLI skill guidance, references, and cross-tool template consistency.
174
+ - **3.0.18 (2026-07-11):** Allowed manual npm publishing through workflow dispatch.
175
+ - **3.0.19–3.0.23 (2026-07-13–2026-09-30):** Improved release automation and PR-thread guidance; migrated OpenCode config to `.jsonc` and prevented plugin config overwrite.
176
+
131
177
  ## [0.1.0] - 2026-01-26
132
178
 
133
179
  ### Added
package/README.md CHANGED
@@ -67,7 +67,7 @@ This repository serves as a **template source** for AI development instructions
67
67
  ├── .cursor/ # This toolkit's own Cursor config
68
68
  ├── .github/ # This toolkit's own GitHub config
69
69
  ├── .opencode/ # This toolkit's own OpenCode config
70
- │ └── plugins/ # Other local OpenCode plugins (Ponytail uses upstream)
70
+ │ └── plugins/ # Other local OpenCode plugins (Ponytail is installed globally)
71
71
  ├── hooks/ # Claude Code / Copilot activation hooks (ponytail, etc.)
72
72
  └── AGENTS.md # This toolkit's agent context
73
73
  ```
@@ -180,17 +180,35 @@ npx nitm-ai-dev-toolkit upgrade
180
180
  # Also overwrite existing files with the latest templates (back up customisations first)
181
181
  npx nitm-ai-dev-toolkit upgrade --force
182
182
 
183
+ # Preview install/patch/upgrade without writing (exits 1 on conflicts)
184
+ npx nitm-ai-dev-toolkit patch --dry-run
185
+
186
+ # Limit to some harnesses or features (saved to .nitm/toolkit.json; --exclude "" clears it)
187
+ npx nitm-ai-dev-toolkit patch --exclude copilot,cursor
188
+ npx nitm-ai-dev-toolkit patch --only claude,gh-cli
189
+
190
+ # Pin an exact version (resolved and printed before anything runs)
191
+ npx nitm-ai-dev-toolkit upgrade 5.0.1
192
+ npx nitm-ai-dev-toolkit upgrade nitm-ai-dev-toolkit@5.0.1
193
+ npx nitm-ai-dev-toolkit upgrade --version 5.0.1 --dry-run
194
+
183
195
  # Scaffold the oh-my-opencode-slim starter (delegates to `npx nitm-opencode-starter install`)
184
196
  npx nitm-ai-dev-toolkit omo-slim-starter install
185
197
  ```
186
198
 
199
+ - **`--dry-run`** (install, patch, upgrade) lists adds, overwrites, skips, conflicts and the state files it would write, and writes nothing. Install and patch exit 1 if there are conflicts. `upgrade --dry-run` runs the pinned version's own dry run, so the target must be **5.0.1 or later**.
200
+ - **`--exclude` / `--only`** take comma-separated groups. Harnesses: `claude`, `codex`, `copilot`, `cursor`, `opencode`. Features: `factory`, `prisma`, `bkt-cli`, `gh-cli`, `glab-cli`, `acli`, `linear-cli`. Shared files (AGENTS.md, `docs/`, `hooks/`, shared skills and snippets) are never excluded. The selection is saved to `.nitm/toolkit.json` and used by later install, patch and doctor runs; `--exclude ""` clears it.
201
+ - **`upgrade <version>`**, **`upgrade nitm-ai-dev-toolkit@<version>`** and **`--version <version>`** pin an exact version. `latest`, dist-tags and version ranges are refused. Without a version, the latest published release is used.
202
+ - **State files:** install, patch and upgrade write `.toolkit-version` (the installed package version) and `.nitm/manifest.json` (hashes of the files the toolkit wrote). `doctor` reports a `.toolkit-version` that differs from the package version, and lists stale toolkit files it recognises. It only reports them; it never deletes anything.
203
+ - **`.nitm/BOOTSTRAP.md`** is rewritten only when its content differs. The previous copy is first saved to `.nitm/backups/`.
204
+
187
205
  After `install`, ask your AI agent to read and follow `.nitm/BOOTSTRAP.md`. Harnesses that supply a toolkit `/bootstrap` wrapper can also use it; **Codex has no native toolkit `/bootstrap` command**. Use `doctor` to verify the result.
188
206
 
189
207
  ### Native OpenCode V2 (toolkit 4.0.0)
190
208
 
191
- Toolkit v4 requires **OpenCode V2 (major >=2)** for OpenCode use; **oh-my-opencode-slim >=3.0.0** requires **OpenCode >=2.0.7**. All repo/monorepo bootstrap, patch, and upgrade flows run `opencode --version` before changes, accepting an optional leading `v`. V1 must stop before OpenCode customization/migration or marking toolkit 4.0.0: upgrade OpenCode or remain on toolkit 3.x. A missing CLI or unparseable version stops OpenCode steps and version marking until the user confirms/installs a supported version. Confirm harness use from runtime evidence or ask; scaffold directories are not proof. Other-harness-only setup is unaffected.
209
+ Toolkit 4.0.0 and later require **OpenCode V2 (major >=2)** for OpenCode use; **oh-my-opencode-slim >=3.0.0** requires **OpenCode >=2.0.7**. All repo/monorepo bootstrap, patch, and upgrade flows run `opencode --version` before changes, accepting an optional leading `v`. V1 must stop before OpenCode customization/migration or marking toolkit 4.0.0: upgrade OpenCode or remain on toolkit 3.x. A missing CLI or unparseable version stops OpenCode steps and version marking until the user confirms/installs a supported version. Confirm harness use from runtime evidence or ask; scaffold directories are not proof. Other-harness-only setup is unaffected.
192
210
 
193
- Publishing 4.0.0 has not been executed. The external `nitm-opencode-starter` is a separate package, not automatically upgraded.
211
+ The external `nitm-opencode-starter` is a separate package, not automatically upgraded.
194
212
 
195
213
  With user approval, merge this reproducible registration without replacing user/global plugins:
196
214
 
@@ -198,9 +216,9 @@ With user approval, merge this reproducible registration without replacing user/
198
216
  { "plugins": ["oh-my-opencode-slim@3.0.0"] }
199
217
  ```
200
218
 
201
- The toolkit root deliberately omits `plugins` to inherit user/global registrations; its existing upstream Ponytail registration is unchanged. Both target templates register the author's native V2 package `@dietrichgebert/ponytail@4.12.0` in their local `plugins` arrays, alongside `opencode-mem` and `@tarquinen/opencode-dcp@latest`; `opentmux` remains commented as V1-only. The local `ponytail.mjs` files are removed from the toolkit root and both templates; no local API port or bridge replaces them.
219
+ The toolkit root deliberately omits `plugins` to inherit user/global registrations. Both target templates register `opencode-mem` and `@tarquinen/opencode-dcp@latest` in their local `plugins` arrays; `opentmux` remains commented as V1-only. The OpenCode Ponytail plugin (`@dietrichgebert/ponytail`) is installed globally by the operator; neither the toolkit root nor the templates register it. The local `ponytail.mjs` files are removed from the toolkit root and both templates; no local API port or bridge replaces them.
202
220
 
203
- For existing targets, back up and obtain approval before removing only known obsolete toolkit `.opencode/plugins/ponytail.js`, `.mjs`, or `.ts` copies. Preserve unrelated local plugins; merge/deduplicate upstream package registration locally where appropriate, without editing or overwriting global plugins. Native local plugins are discovered automatically, so do not register them twice. Slim's separate strict schema keeps its own `prompt`, `permission`, and `variant`: do not host-migrate plugin-owned fields. The root's no-`plugins` policy is specific to this toolkit repository, not target templates.
221
+ For existing targets, back up and obtain approval before removing only known obsolete toolkit `.opencode/plugins/ponytail.js`, `.mjs`, or `.ts` copies. Preserve unrelated local plugins. Never add the Ponytail plugin to project config; if it is not installed globally, tell the operator to install it globally, without editing or overwriting global plugins. Native local plugins are discovered automatically. Slim's separate strict schema keeps its own `prompt`, `permission`, and `variant`: do not host-migrate plugin-owned fields. The root's no-`plugins` policy is specific to this toolkit repository, not target templates.
204
222
 
205
223
  | Setting | Native V2 form |
206
224
  | --- | --- |
@@ -213,7 +231,7 @@ For existing targets, back up and obtain approval before removing only known obs
213
231
 
214
232
  Follow official V2 [migration](https://opencode.ai/v2/docs/migrate-v1), [config](https://opencode.ai/v2/docs/config), [agents](https://opencode.ai/v2/docs/agents), and [plugins](https://opencode.ai/v2/docs/build/plugins) docs. The published `https://opencode.ai/config.json` schema may describe V1; it is not native V2 validation authority.
215
233
 
216
- **Runtime limits:** config `instructions` entries are accepted but not loaded; ambient `AGENTS.md` works. `@refs` are ordinary text, not automatic attachments: agents must read referenced snippets explicitly. `request.body.temperature` remains in config, but the current runner does not send it. Plugin/runtime integration has not been tested. Preserve `lsp: true`, but V2 currently exposes no LSP tools or diagnostics: use project lint/typecheck/compiler commands.
234
+ **Runtime limits:** Ambient `AGENTS.md` works. Config `instructions` entries load only when the runtime injects them (OpenChamber does; other hosts may not), so do not rely on them: write explicit "Read and follow" wrappers regardless. `@refs` are ordinary text, not automatic attachments: agents must read referenced snippets explicitly. `request.body.temperature` remains in config, but the current runner does not send it. Plugin/runtime integration has not been tested. Preserve `lsp: true`, but V2 currently exposes no LSP tools or diagnostics: use project lint/typecheck/compiler commands.
217
235
 
218
236
  `--env opencode` includes minimal shared references for wrappers and AGENTS-linked standards without activating other harnesses. Merge, don't clobber: back up V1, preserve models/providers and user/global plugins, and ask before changes. Native-converted files are **incompatible with V1**. Activate on the next run/restart, then check behavior with the installed V2 runtime. `doctor` checks scaffold files/placeholders, not runtime behavior; do not substitute a V1 API/schema fetch or claim checks that were not run.
219
237
 
@@ -308,6 +326,8 @@ Used by the opt-in factory (`.agents/skills/factory/SKILL.md` and `.claude/agent
308
326
  | `{{FACTORY_PORT_BASE}}` | Base dev-server port. Job `n` uses `base + 10n` for the builder, `+1` for ux, and `+2` for ui | `5100` |
309
327
  | `{{APPROVAL_MODE}}` | `human` stops at `awaiting-human`; `auto` merges on approval | `human`, `auto` |
310
328
  | `{{FACTORY_REVIEW_LENSES}}` | Review lenses to run. `ux` and `ui` need browser tooling | `code, security` |
329
+ | `{{FACTORY_FEATURE_PATHS}}` | Comma-separated feature documentation paths; repo default is `docs/features`, monorepo default is `apps/*/docs/features, docs/features` | `docs/features` |
330
+ | `{{MERGE_MODE}}` | `local` merges locally (default); `push-mr` pushes and opens a merge request | `local`, `push-mr` |
311
331
 
312
332
  ## Supported Ecosystems
313
333
 
@@ -788,7 +808,7 @@ This toolkit includes **33 pre-installed universal skills** in the `.agents/skil
788
808
 
789
809
  **These skills are ready to use immediately after copying the templates.** No `npx -y skills add -a <agent> <owner/repo> --skill '*' --agent github-copilot cursor` commands needed.
790
810
 
791
- The **ponytail** skill bundle is an integrated optional skill set from [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail) that adds YAGNI/stdlib/native/one-line/minimum discipline to your AI agents. It includes 6 skills, 6 commands, 7 activation hooks, and ambient agent rules. OpenCode uses the author's upstream `@dietrichgebert/ponytail@4.12.0` package, not a bundled local plugin. See [native setup](#native-opencode-v2-toolkit-400); scaffolding alone does not establish activation.
811
+ The **ponytail** skill bundle is an integrated optional skill set from [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail) that adds YAGNI/stdlib/native/one-line/minimum discipline to your AI agents. It includes 6 skills, 6 commands, 7 activation hooks, and ambient agent rules. OpenCode uses the author's upstream `@dietrichgebert/ponytail` package, installed globally by the operator, not a bundled local plugin. See [native setup](#native-opencode-v2-toolkit-400); scaffolding alone does not establish activation. The Claude Code hooks in `hooks/*.json` use `${CLAUDE_PLUGIN_ROOT}` and are plugin-only: they fire only when installed through the Ponytail plugin, not from project settings.
792
812
 
793
813
  ### Additional Recommended Skills
794
814