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 @@
|
|
|
2
2
|
|
|
3
3
|
Analyze the project structure and customize AI instruction templates for this codebase.
|
|
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
|
## Usage
|
|
6
14
|
|
|
7
15
|
```
|
|
@@ -15,7 +23,7 @@ Analyze the project structure and customize AI instruction templates for this co
|
|
|
15
23
|
- Identify the actual running harness from session/runtime information or ask the user which harnesses they use. Directory presence alone is not evidence: the default installer scaffolds every supported harness.
|
|
16
24
|
- Codex uses `AGENTS.md` (including more-specific nested instructions) and `.agents/skills/*/SKILL.md` natively. Read linked standards when relevant; `.github/instructions/` and Claude snippets are not automatically loaded as Codex rules.
|
|
17
25
|
- `.codex/config.toml` is an optional, comment-only project config. Preserve inherited defaults and existing user settings. Project config is loaded only after the user explicitly trusts the project; never write self-trust or change model/provider, approvals, sandbox, security, or feature settings during bootstrap.
|
|
18
|
-
- Calibrate Codex by customizing project instructions and skills, not by translating Claude/Copilot `tools:` frontmatter or OpenCode `
|
|
26
|
+
- Calibrate Codex by customizing project instructions and skills, not by translating 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.
|
|
19
27
|
- Codex MCP uses native `[mcp_servers.name]` TOML, not `.mcp.json`. Treat other harness MCP templates as references only; do not activate servers, copy credentials, or install hooks automatically.
|
|
20
28
|
- Update and audit only confirmed harness targets. For Codex-only setup, `AGENTS.md`, `.agents/skills/`, and `.codex/config.toml` are the native targets. `--env codex` also includes `.github/instructions/` and `.claude/rules-snippets/` solely as AGENTS-linked standards and their wrapper sources, not automatically loaded rules or evidence of Copilot/Claude use; other harness command, agent, and config directories are excluded. The remaining tool-specific examples below are conditional.
|
|
21
29
|
|
|
@@ -203,6 +211,8 @@ Present inferred values and ask for missing ones:
|
|
|
203
211
|
|
|
204
212
|
### Step 4: Template Customization
|
|
205
213
|
|
|
214
|
+
For confirmed OpenCode use, complete the Ponytail pre-activation cleanup below before customizing OpenCode files or marking the migration complete.
|
|
215
|
+
|
|
206
216
|
Replace placeholders in all template files:
|
|
207
217
|
|
|
208
218
|
**Files to Update:**
|
|
@@ -220,58 +230,35 @@ Replace placeholders in all template files:
|
|
|
220
230
|
- `.claude/rules-snippets/*.md` - Rules content (source of truth)
|
|
221
231
|
- `.claude/prompt-snippets/*.md` - Prompt content (source of truth)
|
|
222
232
|
- `.claude/agents-snippets/*.md` - Agent definitions (source of truth)
|
|
223
|
-
- `.opencode/opencode.jsonc` - OpenCode configuration (
|
|
233
|
+
- `.opencode/opencode.jsonc` - OpenCode configuration (see native V2 checks below)
|
|
224
234
|
- `.opencode/commands/*.md` - OpenCode commands
|
|
225
235
|
- `.opencode/rules/*.md` - OpenCode rules
|
|
226
236
|
- `.opencode/agents/*.md` - OpenCode agents
|
|
227
237
|
- `.toolkit-version` - Toolkit version tracking
|
|
228
238
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
| `mcp` | MCP server configurations |
|
|
246
|
-
| `tools` | Enable/disable tools |
|
|
247
|
-
| `permission` | Tool permission rules |
|
|
248
|
-
| `lsp` | LSP server configuration |
|
|
249
|
-
| `formatter` | Code formatter configuration |
|
|
250
|
-
| `server` | Server settings (port, hostname, CORS) |
|
|
251
|
-
| `shell` | Default shell for terminal |
|
|
252
|
-
| `command` | Custom command definitions |
|
|
253
|
-
| `plugin` | Plugin list |
|
|
254
|
-
| `watcher` | File watcher ignore patterns |
|
|
255
|
-
| `snapshot` | Enable/disable snapshot tracking |
|
|
256
|
-
| `share` | Sharing behavior (manual/auto/disabled) |
|
|
257
|
-
| `autoupdate` | Auto-update settings |
|
|
258
|
-
| `compaction` | Context compaction settings |
|
|
259
|
-
| `attachment` | Image attachment limits |
|
|
260
|
-
| `logLevel` | Log level (DEBUG/INFO/WARN/ERROR) |
|
|
261
|
-
| `disabled_providers` | Providers to disable |
|
|
262
|
-
| `enabled_providers` | Allowlist of providers |
|
|
263
|
-
| `tool_output` | Tool output truncation thresholds |
|
|
264
|
-
| `enterprise` | Enterprise URL |
|
|
265
|
-
| `experimental` | Experimental features |
|
|
266
|
-
|
|
267
|
-
**Do NOT add keys not listed above** (e.g., `rules`, `agents`, `commands`, `prompts` as top-level keys — these are configured via `instructions`, `skills`, and the `.opencode/` directory structure instead).
|
|
239
|
+
**OpenCode native V2 checks (only for confirmed OpenCode use):**
|
|
240
|
+
|
|
241
|
+
Follow the 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) guides, not a V1 API/schema fetch. The published schema URL may still describe V1; do not use it to reject native plural keys.
|
|
242
|
+
|
|
243
|
+
- After the version preflight passes, use `agents` with JSON `system` or Markdown bodies; `request.body.temperature`; ordered `permissions` rules (`action`, `resource`, `effect`; `shell`/`subagent`; last match wins); `commands` with `subagent`; `plugins` with `{ "package": "…", "options": {} }`; `skills` as directory-path arrays; `mcp.servers` with inverse `disabled` and `timeout.catalog`/`timeout.execution`.
|
|
244
|
+
- Back up V1; native-converted files are incompatible with V1. Merge, don't clobber models/providers/user-global plugins. With approval only, merge pinned `"plugins": ["oh-my-opencode-slim@3.0.0"]` locally. Slim's separate strict schema retains its own `prompt`, `permission`, and `variant`; do not host-migrate it or upgrade the separate external starter silently.
|
|
245
|
+
- 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.
|
|
246
|
+
- Config `instructions` entries are accepted but not loaded; ambient `AGENTS.md` works. `@refs` are ordinary text: explicitly read referenced snippet docs. `request.body.temperature` remains in config, but the current runner does not send it. Preserve `lsp: true`, but use project lint/typecheck/compiler commands (no current V2 LSP tools/diagnostics).
|
|
247
|
+
- `--env opencode` supplies minimal shared references without activating other harnesses. Activate on the next run/restart and report only checks actually run using installed V2; scaffold/placeholder checks are not runtime validation. Publishing 4.0.0 has not been executed.
|
|
248
|
+
|
|
249
|
+
**Ponytail pre-activation cleanup (confirmed OpenCode use only):**
|
|
250
|
+
|
|
251
|
+
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.
|
|
252
|
+
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.
|
|
253
|
+
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.
|
|
254
|
+
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.
|
|
268
255
|
|
|
269
256
|
**Create Toolkit Version File:**
|
|
270
257
|
|
|
271
|
-
Create a `.toolkit-version` file in the project root with the current toolkit version:
|
|
258
|
+
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):
|
|
272
259
|
|
|
273
260
|
```
|
|
274
|
-
|
|
261
|
+
4.0.0
|
|
275
262
|
```
|
|
276
263
|
|
|
277
264
|
This file enables `bootstrap-patch` to detect version changes and apply migrations automatically.
|
|
@@ -418,7 +405,7 @@ Customize agent definition files (`.github/agents/` and `.cursor/agents/`) based
|
|
|
418
405
|
|
|
419
406
|
#### Agent Tool & Permission Calibration
|
|
420
407
|
|
|
421
|
-
The `tools:` block (Claude Code, GitHub Copilot) and `
|
|
408
|
+
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.
|
|
422
409
|
|
|
423
410
|
**Codex native calibration:** apply the harness-selection guidance above. Do not generate Codex agent files from this table or change native security settings to simulate per-role tool gating.
|
|
424
411
|
|
|
@@ -435,22 +422,22 @@ The `tools:` block (Claude Code, GitHub Copilot) and `permission:` block (OpenCo
|
|
|
435
422
|
|
|
436
423
|
**2. Translate the baseline to each platform's syntax:**
|
|
437
424
|
|
|
438
|
-
| Capability | Claude Code | GitHub Copilot | OpenCode (`
|
|
425
|
+
| Capability | Claude Code | GitHub Copilot | OpenCode (`permissions:` rule) | Cursor |
|
|
439
426
|
|-----------|-------------|----------------|--------------------------|--------|
|
|
440
427
|
| read | `Read` | `read` | default | default |
|
|
441
428
|
| search | `Grep` | `search` | default | default |
|
|
442
|
-
| write / edit files | `Write`, `Edit` | `edit` | `edit: allow` | default |
|
|
443
|
-
| terminal | `Bash(*)` | `runInTerminal`, `terminalLastCommand` | `
|
|
444
|
-
| spawn subagents | `agent` | n/a | `
|
|
429
|
+
| write / edit files | `Write`, `Edit` | `edit` | `{action: edit, resource: "*", effect: allow}` | default |
|
|
430
|
+
| terminal | `Bash(*)` | `runInTerminal`, `terminalLastCommand` | `{action: shell, resource: "*", effect: allow}` | default |
|
|
431
|
+
| spawn subagents | `agent` | n/a | `{action: subagent, resource: "*", effect: allow}` | default |
|
|
445
432
|
|
|
446
433
|
> **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.
|
|
447
434
|
|
|
448
435
|
**3. Project-driven adjustments** (widen or narrow from the baseline):
|
|
449
436
|
|
|
450
|
-
- **Planner** —
|
|
451
|
-
- **Documenter** —
|
|
437
|
+
- **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.
|
|
438
|
+
- **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.
|
|
452
439
|
- **Researcher** — Must stay read-only on every platform. The Claude Code default currently grants `Write` — **remove it** (`["Read","Grep"]`).
|
|
453
|
-
- **Reviewer** — Read + terminal only; never grant write/edit.
|
|
440
|
+
- **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(*)`).
|
|
454
441
|
- **Worker agents** (Planner, Implementer, Red, Green, Refactor) — in a monorepo keep `user-invocable: false`; they are coordinator-dispatched only.
|
|
455
442
|
|
|
456
443
|
**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 in the confirmation table, then proceed only on `(Y/n)`.
|
|
@@ -483,13 +470,13 @@ Detected stack: {{LANGUAGE}} / {{FRAMEWORK}}
|
|
|
483
470
|
| Agent | Platform | Current | Calibrated |
|
|
484
471
|
|-------|----------|---------|------------|
|
|
485
472
|
| Planner | github-copilot | `read, search, edit, runInTerminal, terminalLastCommand` | `read, search, edit, runInTerminal, terminalLastCommand` |
|
|
486
|
-
| Planner | opencode | `edit:
|
|
473
|
+
| Planner | opencode | Inspect ordered rules | `permissions: [{action: edit, resource: "*", effect: allow}, {action: shell, resource: "*", effect: allow}]` |
|
|
487
474
|
| Planner | claude | `Read, Grep, Write, Bash(*)` | `Read, Grep, Write, Bash(*)` |
|
|
488
475
|
| Documenter | claude | `Read, Grep, Write, Edit, Bash(*)` | `Read, Grep, Write, Edit, Bash(*)` |
|
|
489
|
-
| Documenter | opencode | `edit:
|
|
476
|
+
| Documenter | opencode | Inspect ordered rules | `permissions: [{action: edit, resource: "*", effect: allow}, {action: shell, resource: "*", effect: allow}]` |
|
|
490
477
|
| Researcher | claude | `Read, Grep` | `Read, Grep` |
|
|
491
478
|
| Reviewer | claude | `Read, Grep, Bash(*)` | `Read, Grep, Bash(*)` |
|
|
492
|
-
| Reviewer | opencode | `edit: deny,
|
|
479
|
+
| Reviewer | opencode | Inspect ordered rules | `permissions: [{action: edit, resource: "*", effect: deny}, {action: shell, resource: "*", effect: allow}]` |
|
|
493
480
|
|
|
494
481
|
Apply agent customizations? (Y/n)
|
|
495
482
|
```
|
|
@@ -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/repo/AGENTS.md
CHANGED
|
@@ -77,6 +77,14 @@ When stopping to ask a question, do not just post an open-ended block of text. F
|
|
|
77
77
|
|
|
78
78
|
> **Full details:** See `.github/instructions/agent-conduct.instructions.md`
|
|
79
79
|
|
|
80
|
+
## OpenCode V2 Context
|
|
81
|
+
|
|
82
|
+
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.
|
|
83
|
+
|
|
84
|
+
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.
|
|
85
|
+
|
|
86
|
+
Ambient `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 project 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.
|
|
87
|
+
|
|
80
88
|
## Detailed Instructions
|
|
81
89
|
|
|
82
90
|
### Native Codex
|
package/src/repo/CLAUDE.md
CHANGED
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
- Commands are in `.opencode/commands/`.
|
|
48
48
|
- Rules are in `.opencode/rules/`.
|
|
49
49
|
- Agents are in `.opencode/agents/`.
|
|
50
|
-
-
|
|
50
|
+
- 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).
|
|
51
51
|
- Skills are loaded from `.agents/skills/` and `.claude/skills/`.
|
package/src/repo/README.md
CHANGED
|
@@ -110,6 +110,20 @@ See the following files for AI-assisted development:
|
|
|
110
110
|
|
|
111
111
|
## AI Instructions and Commands
|
|
112
112
|
|
|
113
|
+
### Native OpenCode V2
|
|
114
|
+
|
|
115
|
+
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.
|
|
116
|
+
|
|
117
|
+
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.
|
|
118
|
+
|
|
119
|
+
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.
|
|
120
|
+
|
|
121
|
+
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.
|
|
122
|
+
|
|
123
|
+
Ambient `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 project lint/typecheck/compiler commands (no V2 LSP tools/diagnostics currently).
|
|
124
|
+
|
|
125
|
+
`--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.
|
|
126
|
+
|
|
113
127
|
### Native Codex
|
|
114
128
|
|
|
115
129
|
`--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.
|