nitm-ai-dev-toolkit 3.0.23 → 4.0.0
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/CHANGELOG.md +7 -2
- package/README.md +33 -2
- package/bin/cli.js +4 -1
- package/package.json +1 -1
- package/src/monorepo/.claude/commands/ponytail-audit.md +4 -6
- package/src/monorepo/.claude/commands/ponytail-debt.md +3 -5
- package/src/monorepo/.claude/commands/ponytail-gain.md +2 -4
- package/src/monorepo/.claude/commands/ponytail-help.md +2 -4
- package/src/monorepo/.claude/commands/ponytail-review.md +3 -5
- package/src/monorepo/.claude/commands/ponytail.md +3 -5
- package/src/monorepo/.claude/prompt-snippets/bootstrap-patch.md +32 -17
- package/src/monorepo/.claude/prompt-snippets/bootstrap-upgrade.md +76 -51
- package/src/monorepo/.claude/prompt-snippets/bootstrap.md +35 -16
- package/src/monorepo/.github/prompts/review-staged.prompt.md +1 -1
- package/src/monorepo/.opencode/agents/admin-portal.md +10 -4
- package/src/monorepo/.opencode/agents/api-specialist.md +10 -4
- package/src/monorepo/.opencode/agents/backend-architect.md +10 -4
- package/src/monorepo/.opencode/agents/documenter.md +10 -4
- package/src/monorepo/.opencode/agents/feature-builder.md +13 -5
- package/src/monorepo/.opencode/agents/frontend-developer.md +10 -4
- package/src/monorepo/.opencode/agents/green.md +10 -4
- package/src/monorepo/.opencode/agents/implementer.md +10 -4
- package/src/monorepo/.opencode/agents/planner.md +10 -4
- package/src/monorepo/.opencode/agents/red.md +10 -4
- package/src/monorepo/.opencode/agents/refactor.md +10 -4
- package/src/monorepo/.opencode/agents/researcher.md +10 -4
- package/src/monorepo/.opencode/agents/reviewer.md +10 -4
- package/src/monorepo/.opencode/agents/tdd.md +13 -5
- package/src/monorepo/.opencode/opencode.jsonc +8 -10
- package/src/monorepo/AGENTS.md +8 -0
- package/src/monorepo/CLAUDE.md +1 -1
- package/src/monorepo/README.md +14 -0
- package/src/repo/.claude/agents/documenter.agent.md +1 -1
- package/src/repo/.claude/agents/planner.agent.md +1 -1
- package/src/repo/.claude/agents/researcher.agent.md +1 -1
- package/src/repo/.claude/agents/reviewer.agent.md +1 -1
- package/src/repo/.claude/commands/ponytail-audit.md +4 -6
- package/src/repo/.claude/commands/ponytail-debt.md +3 -5
- package/src/repo/.claude/commands/ponytail-gain.md +2 -4
- package/src/repo/.claude/commands/ponytail-help.md +2 -4
- package/src/repo/.claude/commands/ponytail-review.md +3 -5
- package/src/repo/.claude/commands/ponytail.md +3 -5
- package/src/repo/.claude/prompt-snippets/bootstrap-patch.md +32 -17
- package/src/repo/.claude/prompt-snippets/bootstrap-upgrade.md +87 -77
- package/src/repo/.claude/prompt-snippets/bootstrap.md +41 -54
- package/src/repo/.opencode/agents/admin-portal.md +10 -4
- package/src/repo/.opencode/agents/api-specialist.md +10 -4
- package/src/repo/.opencode/agents/backend-architect.md +10 -4
- package/src/repo/.opencode/agents/documenter.md +10 -4
- package/src/repo/.opencode/agents/feature-builder.md +13 -5
- package/src/repo/.opencode/agents/frontend-developer.md +10 -4
- package/src/repo/.opencode/agents/green.md +10 -4
- package/src/repo/.opencode/agents/implementer.md +10 -4
- package/src/repo/.opencode/agents/planner.md +10 -4
- package/src/repo/.opencode/agents/red.md +10 -4
- package/src/repo/.opencode/agents/refactor.md +10 -4
- package/src/repo/.opencode/agents/researcher.md +10 -4
- package/src/repo/.opencode/agents/reviewer.md +10 -4
- package/src/repo/.opencode/agents/tdd.md +13 -5
- package/src/repo/.opencode/opencode.jsonc +8 -10
- package/src/repo/AGENTS.md +8 -0
- package/src/repo/CLAUDE.md +1 -1
- package/src/repo/README.md +14 -0
- package/src/monorepo/.opencode/plugins/ponytail.mjs +0 -93
- package/src/repo/.opencode/plugins/ponytail.mjs +0 -93
|
@@ -2,6 +2,14 @@ You are helping to bootstrap AI instructions for this monorepo by analyzing the
|
|
|
2
2
|
|
|
3
3
|
> **Merge, don't clobber.** If a target file already exists and carries project-specific content — customized agents, rules, skills, or `{{PLACEHOLDER}}` values already replaced — preserve it. Add missing structure; never overwrite a customized file with template defaults. When a template change conflicts with an existing customization, merge the addition and flag it for the user rather than replacing the file. For incremental updates after the first bootstrap, prefer `/bootstrap-patch`, which is purpose-built for meticulous merging.
|
|
4
4
|
|
|
5
|
+
## OpenCode version preflight (before any changes)
|
|
6
|
+
|
|
7
|
+
- Confirm OpenCode use from actual session/runtime evidence or ask the user; directory presence alone is not proof. If only other harnesses are used, skip this preflight and all OpenCode steps.
|
|
8
|
+
- For confirmed OpenCode use, run `opencode --version` before any project writes. Trim output and parse numeric major/minor/patch components, accepting an optional leading `v`; toolkit 4.x requires `major >= 2`.
|
|
9
|
+
- If OpenCode V1 (`major < 2`) is detected, **STOP** before customizing/migrating OpenCode files or writing `.toolkit-version` as `4.0.0`. Ask the user to upgrade OpenCode to V2 or remain on toolkit 3.x.
|
|
10
|
+
- If the CLI is missing, fails, or output is unparseable, **STOP OpenCode steps** and leave the version marker unchanged; ask the user to confirm/install a supported OpenCode version, then rerun this check. Never assume V2.
|
|
11
|
+
- If oh-my-opencode-slim >=3.0.0 is used or planned, require OpenCode >=2.0.7 (compare version components numerically); otherwise **STOP** before changes and ask to upgrade. Proceed only after this gate passes.
|
|
12
|
+
|
|
5
13
|
## Harness selection and native Codex targets
|
|
6
14
|
|
|
7
15
|
**Codex:** `/bootstrap` is not a native Codex command. For npm installs, ask Codex to read and follow `.nitm/BOOTSTRAP.md`. For manually copied templates without `.nitm/`, ask it to read and follow `.claude/prompt-snippets/bootstrap.md` as a task document.
|
|
@@ -133,6 +141,8 @@ You are helping to bootstrap AI instructions for this monorepo by analyzing the
|
|
|
133
141
|
|
|
134
142
|
7. **Update Template Files**:
|
|
135
143
|
|
|
144
|
+
For confirmed OpenCode use, complete the Ponytail pre-activation cleanup below before customizing OpenCode files or marking the migration complete.
|
|
145
|
+
|
|
136
146
|
**Root Level:**
|
|
137
147
|
- `AGENTS.md` (include project management section)
|
|
138
148
|
- `.agents/skills/*/SKILL.md` (shared native skills, including Codex)
|
|
@@ -148,27 +158,36 @@ You are helping to bootstrap AI instructions for this monorepo by analyzing the
|
|
|
148
158
|
- `.claude/rules-snippets/*.md` (rules content — source of truth)
|
|
149
159
|
- `.claude/prompt-snippets/*.md` (prompt content — source of truth)
|
|
150
160
|
- `.claude/agents-snippets/*.md` (agent definitions — source of truth)
|
|
151
|
-
- `.opencode/opencode.jsonc` (OpenCode configuration —
|
|
161
|
+
- `.opencode/opencode.jsonc` (OpenCode configuration — see native V2 checks below)
|
|
152
162
|
- `.opencode/commands/*.md` (OpenCode commands)
|
|
153
163
|
- `.opencode/rules/*.md` (OpenCode rules)
|
|
154
164
|
- `.opencode/agents/*.md` (OpenCode agents)
|
|
155
165
|
- `.toolkit-version` (version tracking)
|
|
156
166
|
- `CLAUDE.md` (if it contains placeholders)
|
|
157
167
|
|
|
158
|
-
|
|
168
|
+
**OpenCode native V2 checks (only for confirmed OpenCode use):**
|
|
169
|
+
|
|
170
|
+
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, not V1 API/schema fetches. The published schema may describe V1; do not reject native plural keys based on it.
|
|
159
171
|
|
|
160
|
-
|
|
172
|
+
- After the version preflight passes, use `agents`/JSON `system` (Markdown bodies for file agents), `request.body.temperature`, ordered `permissions` (`action`/`resource`/`effect`, `shell`/`subagent`, last match wins), `commands`/`subagent`, `plugins` with `{ "package": "…", "options": {} }`, skill-directory arrays, and `mcp.servers` with inverse `disabled` and `timeout.catalog`/`timeout.execution`.
|
|
173
|
+
- Back up V1; native-converted files are incompatible with V1. Merge rather than clobber models/providers/user-global plugins. Only with approval, merge pinned `"plugins": ["oh-my-opencode-slim@3.0.0"]` locally. Slim's separate strict schema retains `prompt`/`permission`/`variant`; do not host-migrate it or silently upgrade the separate external starter.
|
|
174
|
+
- Templates register the author's native V2 package `@dietrichgebert/ponytail@4.12.0` locally; no local Ponytail source is bundled or ported. Keep `opentmux` commented as V1-only. Native local discovery needs no duplicate registration; do not introduce API ports or bridges or claim tested runtime integration.
|
|
175
|
+
- Config `instructions` entries are not loaded; ambient root/nested `AGENTS.md` works. `@refs` are ordinary text: explicitly read snippets. `request.body.temperature` remains in config, but the current runner does not send it. Preserve `lsp: true`; use workspace lint/typecheck/compiler commands (no V2 LSP tools/diagnostics currently).
|
|
176
|
+
- `--env opencode` supplies minimal shared references without other harness activation. Activate on the next run/restart; report only checks actually run with installed V2. Scaffold/placeholder checks are not runtime validation; publishing 4.0.0 has not been executed.
|
|
161
177
|
|
|
162
|
-
**
|
|
178
|
+
**Ponytail pre-activation cleanup (confirmed OpenCode use only):**
|
|
163
179
|
|
|
164
|
-
|
|
180
|
+
1. In this bootstrap flow, inspect `.opencode/plugins/ponytail.js`, `.opencode/plugins/ponytail.mjs`, and `.opencode/plugins/ponytail.ts` for existing-target leftovers. Verify obsolete toolkit ownership from contents/provenance, not filename alone; absent paths need no deletion. Preserve unrelated/custom plugins and global config.
|
|
181
|
+
2. Back up the local config and verified obsolete toolkit copies, obtain explicit removal approval, then remove ONLY those copies. Do not automatically delete files in the CLI or remove custom plugins.
|
|
182
|
+
3. With approval, merge/deduplicate upstream `@dietrichgebert/ponytail@4.12.0` registration locally where appropriate, preserving other registrations/options and leaving global config untouched. No API port or bridge.
|
|
183
|
+
4. If any present copy's ownership or safe removal is unverified, or required removal approval is denied, **STOP OpenCode activation and migration completion**; leave `.toolkit-version` unchanged and report blocked, not complete. Proceed/restart only after this gate passes; runtime integration remains untested.
|
|
165
184
|
|
|
166
185
|
**Create Toolkit Version File:**
|
|
167
186
|
|
|
168
|
-
Create a `.toolkit-version` file in the project root with the current toolkit version:
|
|
187
|
+
Create a `.toolkit-version` file in the project root with the current toolkit version only after the OpenCode preflight and Ponytail cleanup gate pass (or OpenCode is confirmed out of scope):
|
|
169
188
|
|
|
170
189
|
```
|
|
171
|
-
|
|
190
|
+
4.0.0
|
|
172
191
|
```
|
|
173
192
|
|
|
174
193
|
This file enables `bootstrap-patch` to detect version changes and apply migrations automatically.
|
|
@@ -251,9 +270,9 @@ For multi-app monorepos with different frameworks, list all with app context (e.
|
|
|
251
270
|
|
|
252
271
|
#### Agent Tool & Permission Calibration
|
|
253
272
|
|
|
254
|
-
The `tools:` block (Claude Code, GitHub Copilot) and `
|
|
273
|
+
The `tools:` block (Claude Code, GitHub Copilot) and ordered `permissions:` rules (OpenCode V2) must match each agent's role **and** the detected project. Inspect actual defaults before proposing changes; calibrate without over-provisioning.
|
|
255
274
|
|
|
256
|
-
**Codex native calibration:** customize project instructions and skills, not Claude/Copilot `tools:` frontmatter or OpenCode `
|
|
275
|
+
**Codex native calibration:** customize project instructions and skills, not Claude/Copilot `tools:` frontmatter or OpenCode `permissions:` rules. This toolkit ships no Codex custom-agent format. Use only delegation capabilities actually available in the running harness; do not generate agent files from this table or change native security settings to simulate per-role tool gating.
|
|
257
276
|
|
|
258
277
|
**1. Capability baseline per role** — what the agent functionally needs:
|
|
259
278
|
|
|
@@ -268,22 +287,22 @@ The `tools:` block (Claude Code, GitHub Copilot) and `permission:` block (OpenCo
|
|
|
268
287
|
|
|
269
288
|
**2. Translate the baseline to each platform's syntax:**
|
|
270
289
|
|
|
271
|
-
| Capability | Claude Code | GitHub Copilot | OpenCode (`
|
|
290
|
+
| Capability | Claude Code | GitHub Copilot | OpenCode (`permissions:` rule) | Cursor |
|
|
272
291
|
| ------------------ | --------------- | -------------------------------------- | ------------------------ | ------- |
|
|
273
292
|
| read | `Read` | `read` | default | default |
|
|
274
293
|
| search | `Grep` | `search` | default | default |
|
|
275
|
-
| write / edit files | `Write`, `Edit` | `edit` | `edit: allow`
|
|
276
|
-
| terminal | `Bash(*)` | `runInTerminal`, `terminalLastCommand` | `
|
|
277
|
-
| spawn subagents | `agent` | n/a | `
|
|
294
|
+
| write / edit files | `Write`, `Edit` | `edit` | `{action: edit, resource: "*", effect: allow}` | default |
|
|
295
|
+
| terminal | `Bash(*)` | `runInTerminal`, `terminalLastCommand` | `{action: shell, resource: "*", effect: allow}` | default |
|
|
296
|
+
| spawn subagents | `agent` | n/a | `{action: subagent, resource: "*", effect: allow}` | default |
|
|
278
297
|
|
|
279
298
|
> **Cursor note:** these templates declare no `tools:` field, so Cursor subagents inherit the full default toolset. Read-only intent (Researcher, Reviewer) is enforced by the agent's instructions, not tool gating. If your Cursor version supports per-agent tool restriction, add a `tools:` field to match the baseline.
|
|
280
299
|
|
|
281
300
|
**3. Project-driven adjustments** (widen or narrow from the baseline):
|
|
282
301
|
|
|
283
|
-
- **Planner** —
|
|
284
|
-
- **Documenter** —
|
|
302
|
+
- **Planner** — Persisted plans need write + terminal. If Copilot is read-only (`["read","search"]`), widen to the baseline. If Claude lacks `Bash(*)`, add it for `git log` / test discovery. For OpenCode, inspect ordered rules and propose `edit`/`shell` allows only when missing and approved.
|
|
303
|
+
- **Documenter** — Needs edit for docs, terminal for doc generators. If Claude omits `Edit`/`Bash(*)`, propose them. For OpenCode, inspect ordered `edit`/`shell` rules against this baseline, not presumed legacy defaults.
|
|
285
304
|
- **Researcher** — Must stay read-only on every platform. The Claude Code default currently grants `Write` — **remove it** (`["Read","Grep"]`).
|
|
286
|
-
- **Reviewer** — Read + terminal only; never grant write/edit.
|
|
305
|
+
- **Reviewer** — Read + terminal only; never grant write/edit. OpenCode ordered rules should allow `shell` and deny `edit` for this baseline. If Claude grants `Write`, remove it (keep `Bash(*)`).
|
|
287
306
|
- **Worker agents** (Planner, Implementer, Red, Green, Refactor) — in a monorepo keep `user-invocable: false`; they are coordinator-dispatched only.
|
|
288
307
|
|
|
289
308
|
**4. Apply:** for each agent file (`.claude/agents/*.agent.md`, `.github/agents/*.agent.md`, `.opencode/agents/*.md`), compare the declared tools/permissions to the calibrated baseline and adjust. List the changes, then confirm before applying.
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Build administrator portals with RBAC, system dashboards, reporting, analytics, and operational tooling. Specializes in admin frameworks and monitoring ecosystem tools."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.1
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: allow
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
8
14
|
---
|
|
9
15
|
|
|
10
16
|
# Admin Portal Specialist
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Design and implement API architecture, documentation, and developer experience. Use for REST design, GraphQL, OpenAPI specs, SDK generation, API versioning, and integration patterns."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.1
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: allow
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
8
14
|
---
|
|
9
15
|
|
|
10
16
|
# API Specialist
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Design APIs, databases, and server-side architecture. Use for scalable backend systems, data modeling, caching strategies, system design, and infrastructure decisions."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.1
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: allow
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
8
14
|
---
|
|
9
15
|
|
|
10
16
|
# Backend Architect
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Analyze codebases and create comprehensive documentation. Use for AGENTS.md, README files, API docs, architecture documentation, and onboarding guides."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.1
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: allow
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
8
14
|
---
|
|
9
15
|
|
|
10
16
|
# Documenter
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Coordinate end-to-end feature development using subagents for planning, implementation, and review. Orchestrates the full development lifecycle."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.3
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: allow
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
14
|
+
- action: subagent
|
|
15
|
+
resource: "*"
|
|
16
|
+
effect: allow
|
|
9
17
|
---
|
|
10
18
|
|
|
11
19
|
# Feature Builder — Coordinator
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Build user interfaces, implement components, handle state management, and optimize frontend performance. Use for responsive, accessible, and performant web applications."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.1
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: allow
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
8
14
|
---
|
|
9
15
|
|
|
10
16
|
# Frontend Developer
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Write minimal code to make failing tests pass. Part of the TDD red-green-refactor cycle."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.1
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: allow
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
8
14
|
---
|
|
9
15
|
|
|
10
16
|
# Green Agent (TDD — Make Tests Pass)
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Implement code changes for a specific task. Follow TDD, write tests alongside code, and self-review before reporting completion."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.1
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: allow
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
8
14
|
---
|
|
9
15
|
|
|
10
16
|
# Implementer Agent
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Break down feature requests into implementation tasks. Read specifications, analyze codebase patterns, and produce structured plans with dependencies."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.1
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: allow
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
8
14
|
---
|
|
9
15
|
|
|
10
16
|
# Planner Agent
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Write failing tests that define expected behavior. Part of the TDD red-green-refactor cycle."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.1
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: allow
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
8
14
|
---
|
|
9
15
|
|
|
10
16
|
# Red Agent (TDD — Write Failing Tests)
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Improve code quality and structure while keeping all tests passing. Part of the TDD red-green-refactor cycle."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.1
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: allow
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
8
14
|
---
|
|
9
15
|
|
|
10
16
|
# Refactor Agent (TDD — Improve Code Quality)
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Research codebase patterns, dependencies, and technical context. Analyze code structure, find relevant examples, and report findings without making changes."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.1
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: deny
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: deny
|
|
8
14
|
---
|
|
9
15
|
|
|
10
16
|
# Researcher Agent
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Review code changes for correctness, code quality, security, and adherence to project patterns. Provide actionable feedback with specific file and line references. Use immediately after writing or modifying code, or as a quality gate in orchestrated workflows."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.1
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: deny
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
8
14
|
---
|
|
9
15
|
|
|
10
16
|
# Reviewer Agent
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Implement a feature using test-driven development with red-green-refactor cycle. Coordinates specialized subagents for writing failing tests, implementing code, and refactoring."
|
|
3
3
|
mode: subagent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
request:
|
|
5
|
+
body:
|
|
6
|
+
temperature: 0.3
|
|
7
|
+
permissions:
|
|
8
|
+
- action: edit
|
|
9
|
+
resource: "*"
|
|
10
|
+
effect: allow
|
|
11
|
+
- action: shell
|
|
12
|
+
resource: "*"
|
|
13
|
+
effect: allow
|
|
14
|
+
- action: subagent
|
|
15
|
+
resource: "*"
|
|
16
|
+
effect: allow
|
|
9
17
|
---
|
|
10
18
|
|
|
11
19
|
# TDD Coordinator Agent
|
|
@@ -5,17 +5,15 @@
|
|
|
5
5
|
".opencode/rules/*.md",
|
|
6
6
|
".agents/skills/orient-to-recent-work/SKILL.md"
|
|
7
7
|
],
|
|
8
|
-
"skills":
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
},
|
|
14
|
-
"plugin": [
|
|
8
|
+
"skills": [
|
|
9
|
+
".agents/skills",
|
|
10
|
+
".claude/skills"
|
|
11
|
+
],
|
|
12
|
+
"plugins": [
|
|
15
13
|
"opencode-mem",
|
|
16
14
|
"@tarquinen/opencode-dcp@latest",
|
|
17
|
-
"@dietrichgebert/ponytail"
|
|
18
|
-
"opentmux"
|
|
15
|
+
"@dietrichgebert/ponytail@4.12.0"
|
|
16
|
+
// "opentmux": V1-only; enable only after it supports V2.
|
|
19
17
|
],
|
|
20
18
|
"lsp": true
|
|
21
|
-
}
|
|
19
|
+
}
|
package/src/monorepo/AGENTS.md
CHANGED
|
@@ -102,6 +102,14 @@ Each app has its own `AGENTS.md` with detailed patterns:
|
|
|
102
102
|
- `{{APP_DIR}}/{{APP_NAME_1}}/AGENTS.md` - {{APP_1_DESCRIPTION}} patterns
|
|
103
103
|
- `{{APP_DIR}}/{{APP_NAME_2}}/AGENTS.md` - {{APP_2_DESCRIPTION}} patterns
|
|
104
104
|
|
|
105
|
+
## OpenCode V2 Context
|
|
106
|
+
|
|
107
|
+
OpenCode use with toolkit v4 requires native V2; Slim >=3.0.0 requires OpenCode >=2.0.7. Read [native setup](README.md#native-opencode-v2) before migration. All bootstrap flows run `opencode --version` before changes for confirmed OpenCode use: V1 must stop and upgrade OpenCode or remain on toolkit 3.x; missing/unparseable versions block OpenCode steps and toolkit 4.0.0 marking. Directory presence is not harness proof; other-harness-only setup is unaffected.
|
|
108
|
+
|
|
109
|
+
Use `agents`/`system`, `request.body.temperature`, ordered `permissions` (`action`/`resource`/`effect`, `shell`/`subagent`), `commands`, `plugins`, directory-based `skills`, and `mcp.servers`. Preserve user models/providers/plugins and Slim's separate strict schema; do not host-migrate its `prompt`/`permission`/`variant` fields or silently upgrade the separate external starter. Templates register the author's native V2 `@dietrichgebert/ponytail@4.12.0` locally instead of a bundled Ponytail plugin; `opentmux` stays commented as V1-only. Remove only known obsolete toolkit Ponytail `.js`/`.mjs`/`.ts` copies after backup and approval, preserve unrelated local plugins, and merge/deduplicate upstream registration locally without editing global config. No local API port or bridge is used; plugin/runtime integration is untested.
|
|
110
|
+
|
|
111
|
+
Ambient root/nested `AGENTS.md` works; config `instructions` entries do not load. `@refs` are ordinary text: explicitly read linked snippets. `request.body.temperature` remains in config, but the current runner does not send it. Preserve `lsp: true`; use workspace lint/typecheck/compiler commands, not unavailable V2 LSP diagnostics. Back up V1 before native conversion; converted files are incompatible with V1. Activate on the next run/restart.
|
|
112
|
+
|
|
105
113
|
## Detailed Instructions
|
|
106
114
|
|
|
107
115
|
### Native Codex
|
package/src/monorepo/CLAUDE.md
CHANGED
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
- Commands are in `.opencode/commands/`.
|
|
60
60
|
- Rules are in `.opencode/rules/`.
|
|
61
61
|
- Agents are in `.opencode/agents/`.
|
|
62
|
-
-
|
|
62
|
+
- Native V2 loads ambient `AGENTS.md`, not config `instructions` entries. Explicitly read referenced snippets (`@refs` are ordinary text, not attachments). See [OpenCode setup](README.md#native-opencode-v2).
|
|
63
63
|
- Skills are loaded from `.agents/skills/` and `.claude/skills/`.
|
package/src/monorepo/README.md
CHANGED
|
@@ -50,6 +50,20 @@ This is a monorepo managed with {{BUILD_SYSTEM}}.
|
|
|
50
50
|
|
|
51
51
|
## Getting Started
|
|
52
52
|
|
|
53
|
+
### Native OpenCode V2
|
|
54
|
+
|
|
55
|
+
Toolkit v4 requires **OpenCode V2 (major >=2)** for OpenCode use; oh-my-opencode-slim >=3.0.0 requires OpenCode >=2.0.7. Bootstrap, patch, and upgrade run `opencode --version` before changes (optional leading `v` accepted). 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 confirmed/installed. Confirm harness use from runtime evidence or ask, not scaffold directories; other-harness-only setup is unaffected.
|
|
56
|
+
|
|
57
|
+
The template's local `plugins` array registers the author's native V2 package `@dietrichgebert/ponytail@4.12.0`, alongside `opencode-mem` and `@tarquinen/opencode-dcp@latest`; `opentmux` remains commented as V1-only. The obsolete local Ponytail plugin is no longer bundled; no local API port or bridge is used. For existing projects, back up and obtain approval before removing only known toolkit `.opencode/plugins/ponytail.js`, `.mjs`, or `.ts` copies; preserve unrelated local plugins and merge/deduplicate upstream registration locally without editing global plugins. Native local plugins are discovered automatically; do not register them twice.
|
|
58
|
+
|
|
59
|
+
With approval, merge `"plugins": ["oh-my-opencode-slim@3.0.0"]` locally without replacing other registrations. Slim's separate strict schema retains `prompt`, `permission`, and `variant`; do not host-migrate it. The external starter is a separate package, not automatically upgraded. Plugin/runtime integration has not been tested.
|
|
60
|
+
|
|
61
|
+
Use native `agents`/`system`, `request.body.temperature`, ordered `permissions` (`action`/`resource`/`effect`, `shell`/`subagent`), `commands`/`subagent`, `plugins` with `{ "package": "…", "options": {} }`, skill-directory arrays, and `mcp.servers` with inverse `disabled` and `timeout.catalog`/`timeout.execution`. Follow the [V2 migration guide](https://opencode.ai/v2/docs/migrate-v1) and [plugin guide](https://opencode.ai/v2/docs/build/plugins); the published schema may describe V1 and is not V2 validation authority.
|
|
62
|
+
|
|
63
|
+
Ambient root/nested `AGENTS.md` works; config `instructions` entries are not loaded. `@refs` are ordinary text: read linked snippets explicitly. `request.body.temperature` remains in config, but the current runner does not send it. Preserve `lsp: true`; use workspace lint/typecheck/compiler commands (no V2 LSP tools/diagnostics currently).
|
|
64
|
+
|
|
65
|
+
`--env opencode` supplies minimal shared references without activating other harnesses. Back up V1, merge rather than clobber models/providers/plugins, and activate on the next run/restart. Native-converted files are incompatible with V1. Verify with installed V2; `doctor` is not runtime validation. Toolkit 4.0.0 publishing has not been executed.
|
|
66
|
+
|
|
53
67
|
### Native Codex
|
|
54
68
|
|
|
55
69
|
`--env codex` includes `.codex/`, `.agents/`, and shared context, plus `.github/instructions/` and `.claude/rules-snippets/` solely to supply AGENTS-linked standards and their wrapper source content. No other harness command, agent, or config directories are installed; these references do not establish Copilot/Claude use or load automatically as Codex rules. Other harness scopes are unchanged.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "Documenter"
|
|
3
3
|
description: "Analyze codebases and create comprehensive documentation. Use for AGENTS.md, README files, API docs, architecture documentation, and onboarding guides."
|
|
4
|
-
tools: ["Read", "Grep", "Write"
|
|
4
|
+
tools: ["Read", "Grep", "Write"]
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "Planner"
|
|
3
3
|
description: "Break down feature requests into implementation tasks. Read specifications, analyze codebase patterns, and produce structured plans with dependencies."
|
|
4
|
-
tools: ["Read", "Grep", "Write"
|
|
4
|
+
tools: ["Read", "Grep", "Write"]
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "Researcher"
|
|
3
3
|
description: "Research codebase patterns, dependencies, and technical context. Analyze code structure, find relevant examples, and report findings without making changes."
|
|
4
|
-
tools: ["Read", "Grep"]
|
|
4
|
+
tools: ["Read", "Grep", "Write"]
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "Reviewer"
|
|
3
3
|
description: "Review code changes for correctness, code quality, security, and adherence to project patterns. Provide actionable feedback with specific file and line references. Use immediately after writing or modifying code, or as a quality gate in orchestrated workflows."
|
|
4
|
-
tools: ["Read", "Grep", "Bash(*)"]
|
|
4
|
+
tools: ["Read", "Grep", "Write", "Bash(*)"]
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Audit the whole repo for over-engineering
|
|
3
|
-
allowed-tools: "Read, Grep
|
|
2
|
+
description: Audit the whole repo for over-engineering — find what can be deleted
|
|
3
|
+
allowed-tools: "Read, Grep"
|
|
4
4
|
argument-hint: "no arguments required"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
# Ponytail Audit
|
|
8
8
|
|
|
9
|
+
## Agent Dispatch
|
|
9
10
|
> **Recommended agent:** `oracle`
|
|
10
11
|
> Whole-repo over-engineering analysis
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
# Ponytail Audit
|
|
14
|
-
|
|
15
13
|
Follow the prompt defined in [.claude/prompt-snippets/ponytail-audit.md](../prompt-snippets/ponytail-audit.md).
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Harvest ponytail: comments into a tracked debt ledger"
|
|
3
|
-
allowed-tools: "Read, Grep
|
|
3
|
+
allowed-tools: "Read, Grep"
|
|
4
4
|
argument-hint: "no arguments required"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
# Ponytail Debt
|
|
8
8
|
|
|
9
|
+
## Agent Dispatch
|
|
9
10
|
> **Recommended agent:** `fixer`
|
|
10
11
|
> Debt ledger harvesting
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
# Ponytail Debt
|
|
14
|
-
|
|
15
13
|
Follow the prompt defined in [.claude/prompt-snippets/ponytail-debt.md](../prompt-snippets/ponytail-debt.md).
|
|
@@ -4,12 +4,10 @@ allowed-tools: "Read"
|
|
|
4
4
|
argument-hint: "no arguments required"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
# Ponytail Gain
|
|
8
8
|
|
|
9
|
+
## Agent Dispatch
|
|
9
10
|
> **Recommended agent:** `fixer`
|
|
10
11
|
> Impact scoreboard display
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
# Ponytail Gain
|
|
14
|
-
|
|
15
13
|
Follow the prompt defined in [.claude/prompt-snippets/ponytail-gain.md](../prompt-snippets/ponytail-gain.md).
|
|
@@ -4,12 +4,10 @@ allowed-tools: "Read"
|
|
|
4
4
|
argument-hint: "no arguments required"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
# Ponytail Help
|
|
8
8
|
|
|
9
|
+
## Agent Dispatch
|
|
9
10
|
> **Recommended agent:** `fixer`
|
|
10
11
|
> Quick-reference display
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
# Ponytail Help
|
|
14
|
-
|
|
15
13
|
Follow the prompt defined in [.claude/prompt-snippets/ponytail-help.md](../prompt-snippets/ponytail-help.md).
|