nitm-ai-dev-toolkit 5.0.0 → 5.1.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 +66 -0
- package/README.md +30 -10
- package/bin/cli.js +635 -88
- package/package.json +1 -1
- package/src/monorepo/.agents/skills/factory/SKILL.md +123 -57
- package/src/monorepo/{.claude/agents-snippets/factory-approver.md → .agents/skills/factory/roles/approve.md} +3 -3
- package/src/monorepo/{.claude/agents-snippets/factory-builder.md → .agents/skills/factory/roles/build.md} +3 -3
- package/src/monorepo/{.claude/agents-snippets/factory-reviewer-code.md → .agents/skills/factory/roles/review-code.md} +5 -5
- package/src/{repo/.claude/agents-snippets/factory-reviewer-security.md → monorepo/.agents/skills/factory/roles/review-security.md} +4 -4
- package/src/monorepo/{.claude/agents-snippets/factory-reviewer-ui.md → .agents/skills/factory/roles/review-ui.md} +6 -6
- package/src/monorepo/{.claude/agents-snippets/factory-reviewer-ux.md → .agents/skills/factory/roles/review-ux.md} +6 -6
- package/src/monorepo/{.claude/agents-snippets/factory-spec-writer.md → .agents/skills/factory/roles/spec.md} +2 -2
- package/src/monorepo/.claude/agents/implementer.agent.md +1 -1
- package/src/monorepo/.claude/agents/planner.agent.md +1 -1
- package/src/monorepo/.claude/agents/reviewer.agent.md +1 -1
- package/src/monorepo/.claude/commands/assign-tasks.md +1 -0
- package/src/monorepo/.claude/commands/factory.md +9 -9
- package/src/monorepo/.claude/commands/ponytail-review.md +1 -1
- package/src/monorepo/.claude/prompt-snippets/assign-tasks.md +13 -3
- package/src/monorepo/.claude/prompt-snippets/bootstrap-patch.md +32 -25
- package/src/monorepo/.claude/prompt-snippets/bootstrap-upgrade.md +13 -14
- package/src/monorepo/.claude/prompt-snippets/bootstrap.md +12 -12
- package/src/monorepo/.claude/prompt-snippets/factory.md +5 -5
- package/src/monorepo/.claude/prompt-snippets/implement-feature.md +3 -1
- package/src/monorepo/.claude/rules-snippets/subagent-workflow.md +2 -2
- package/src/monorepo/.cursor/commands/factory.md +9 -9
- package/src/monorepo/.github/prompts/factory.prompt.md +9 -9
- package/src/monorepo/.opencode/agents/admin-portal.md +1 -4
- package/src/monorepo/.opencode/agents/api-specialist.md +1 -4
- package/src/monorepo/.opencode/agents/backend-architect.md +1 -4
- package/src/monorepo/.opencode/agents/documenter.md +1 -4
- package/src/monorepo/.opencode/agents/feature-builder.md +1 -4
- package/src/monorepo/.opencode/agents/frontend-developer.md +1 -4
- package/src/monorepo/.opencode/agents/green.md +1 -4
- package/src/monorepo/.opencode/agents/implementer.md +1 -4
- package/src/monorepo/.opencode/agents/planner.md +1 -4
- package/src/monorepo/.opencode/agents/red.md +1 -4
- package/src/monorepo/.opencode/agents/refactor.md +1 -4
- package/src/monorepo/.opencode/agents/researcher.md +1 -4
- package/src/monorepo/.opencode/agents/reviewer.md +1 -4
- package/src/monorepo/.opencode/agents/tdd.md +1 -4
- package/src/monorepo/.opencode/commands/assign-tasks.md +1 -1
- package/src/monorepo/.opencode/commands/bootstrap-patch.md +1 -1
- package/src/monorepo/.opencode/commands/bootstrap-upgrade.md +1 -1
- package/src/monorepo/.opencode/commands/bootstrap.md +1 -1
- package/src/monorepo/.opencode/commands/commit-push.md +1 -1
- package/src/monorepo/.opencode/commands/constitution.md +1 -1
- package/src/monorepo/.opencode/commands/create-skill.md +1 -1
- package/src/monorepo/.opencode/commands/factory.md +9 -9
- package/src/monorepo/.opencode/commands/implement-feature.md +1 -1
- package/src/monorepo/.opencode/commands/implement-fixes.md +1 -1
- package/src/monorepo/.opencode/commands/implement.md +1 -1
- package/src/monorepo/.opencode/commands/plan.md +1 -1
- package/src/monorepo/.opencode/commands/playwright-test.md +1 -1
- package/src/monorepo/.opencode/commands/ponytail-audit.md +1 -1
- package/src/monorepo/.opencode/commands/ponytail-debt.md +1 -1
- package/src/monorepo/.opencode/commands/ponytail-gain.md +1 -1
- package/src/monorepo/.opencode/commands/ponytail-help.md +1 -1
- package/src/monorepo/.opencode/commands/ponytail-review.md +1 -1
- package/src/monorepo/.opencode/commands/ponytail.md +1 -1
- package/src/monorepo/.opencode/commands/release-notes.md +1 -1
- package/src/monorepo/.opencode/commands/review-pr.md +1 -1
- package/src/monorepo/.opencode/commands/review.md +1 -1
- package/src/monorepo/.opencode/commands/specify.md +1 -1
- package/src/monorepo/.opencode/commands/tasks.md +1 -1
- package/src/monorepo/.opencode/opencode.jsonc +1 -2
- package/src/monorepo/.opencode/rules/agent-conduct.md +1 -1
- package/src/monorepo/.opencode/rules/api-server.md +1 -1
- package/src/monorepo/.opencode/rules/coding-standards.md +1 -1
- package/src/monorepo/.opencode/rules/component-structure.md +1 -1
- package/src/monorepo/.opencode/rules/core-libraries.md +1 -1
- package/src/monorepo/.opencode/rules/environment-tooling.md +1 -1
- package/src/monorepo/.opencode/rules/logging-comments.md +1 -1
- package/src/monorepo/.opencode/rules/logging.md +1 -1
- package/src/monorepo/.opencode/rules/prisma-migrations.md +1 -1
- package/src/monorepo/.opencode/rules/project-context.md +1 -1
- package/src/monorepo/.opencode/rules/server-client-separation.md +1 -1
- package/src/monorepo/.opencode/rules/subagent-workflow.md +1 -1
- package/src/monorepo/.opencode/rules/testing-quality.md +1 -1
- package/src/monorepo/.opencode/rules/ui-accessibility.md +1 -1
- package/src/monorepo/.opencode/rules/version-control.md +1 -1
- package/src/monorepo/.opencode/rules/what-to-avoid.md +1 -1
- package/src/monorepo/AGENTS.md +4 -4
- package/src/monorepo/README.md +5 -5
- package/src/monorepo/factory/README.md +51 -24
- package/src/monorepo/factory/worktree-bootstrap.md +32 -0
- package/src/repo/.agents/skills/factory/SKILL.md +122 -56
- package/src/repo/{.claude/agents-snippets/factory-approver.md → .agents/skills/factory/roles/approve.md} +3 -3
- package/src/repo/{.claude/agents-snippets/factory-builder.md → .agents/skills/factory/roles/build.md} +3 -3
- package/src/repo/{.claude/agents-snippets/factory-reviewer-code.md → .agents/skills/factory/roles/review-code.md} +5 -5
- package/src/{monorepo/.claude/agents-snippets/factory-reviewer-security.md → repo/.agents/skills/factory/roles/review-security.md} +4 -4
- package/src/repo/{.claude/agents-snippets/factory-reviewer-ui.md → .agents/skills/factory/roles/review-ui.md} +6 -6
- package/src/repo/{.claude/agents-snippets/factory-reviewer-ux.md → .agents/skills/factory/roles/review-ux.md} +6 -6
- package/src/repo/{.claude/agents-snippets/factory-spec-writer.md → .agents/skills/factory/roles/spec.md} +2 -2
- package/src/repo/.claude/agents/implementer.agent.md +1 -1
- package/src/repo/.claude/agents/planner.agent.md +1 -1
- package/src/repo/.claude/agents/reviewer.agent.md +1 -1
- package/src/repo/.claude/commands/assign-tasks.md +1 -0
- package/src/repo/.claude/commands/factory.md +9 -9
- package/src/repo/.claude/commands/ponytail-review.md +1 -1
- package/src/repo/.claude/prompt-snippets/assign-tasks.md +13 -3
- package/src/repo/.claude/prompt-snippets/bootstrap-patch.md +32 -25
- package/src/repo/.claude/prompt-snippets/bootstrap-upgrade.md +17 -17
- package/src/repo/.claude/prompt-snippets/bootstrap.md +12 -12
- package/src/repo/.claude/prompt-snippets/factory.md +5 -5
- package/src/repo/.claude/prompt-snippets/implement-feature.md +3 -1
- package/src/repo/.claude/rules-snippets/subagent-workflow.md +2 -2
- package/src/repo/.cursor/commands/factory.md +9 -9
- package/src/repo/.github/prompts/factory.prompt.md +9 -9
- package/src/repo/.opencode/agents/admin-portal.md +1 -4
- package/src/repo/.opencode/agents/api-specialist.md +1 -4
- package/src/repo/.opencode/agents/backend-architect.md +1 -4
- package/src/repo/.opencode/agents/documenter.md +1 -4
- package/src/repo/.opencode/agents/feature-builder.md +1 -4
- package/src/repo/.opencode/agents/frontend-developer.md +1 -4
- package/src/repo/.opencode/agents/green.md +1 -4
- package/src/repo/.opencode/agents/implementer.md +1 -4
- package/src/repo/.opencode/agents/planner.md +1 -4
- package/src/repo/.opencode/agents/red.md +1 -4
- package/src/repo/.opencode/agents/refactor.md +1 -4
- package/src/repo/.opencode/agents/researcher.md +1 -4
- package/src/repo/.opencode/agents/reviewer.md +1 -4
- package/src/repo/.opencode/agents/tdd.md +1 -4
- package/src/repo/.opencode/commands/assign-tasks.md +1 -1
- package/src/repo/.opencode/commands/bootstrap-patch.md +1 -1
- package/src/repo/.opencode/commands/bootstrap-upgrade.md +1 -1
- package/src/repo/.opencode/commands/bootstrap.md +1 -1
- package/src/repo/.opencode/commands/commit-push.md +1 -1
- package/src/repo/.opencode/commands/constitution.md +1 -1
- package/src/repo/.opencode/commands/create-skill.md +1 -1
- package/src/repo/.opencode/commands/factory.md +9 -9
- package/src/repo/.opencode/commands/implement-feature.md +1 -1
- package/src/repo/.opencode/commands/implement-fixes.md +1 -1
- package/src/repo/.opencode/commands/implement.md +1 -1
- package/src/repo/.opencode/commands/plan.md +1 -1
- package/src/repo/.opencode/commands/playwright-test.md +1 -1
- package/src/repo/.opencode/commands/ponytail-audit.md +1 -1
- package/src/repo/.opencode/commands/ponytail-debt.md +1 -1
- package/src/repo/.opencode/commands/ponytail-gain.md +1 -1
- package/src/repo/.opencode/commands/ponytail-help.md +1 -1
- package/src/repo/.opencode/commands/ponytail-review.md +1 -1
- package/src/repo/.opencode/commands/ponytail.md +1 -1
- package/src/repo/.opencode/commands/release-notes.md +1 -1
- package/src/repo/.opencode/commands/review-pr.md +1 -1
- package/src/repo/.opencode/commands/review.md +1 -1
- package/src/repo/.opencode/commands/specify.md +1 -1
- package/src/repo/.opencode/commands/tasks.md +1 -1
- package/src/repo/.opencode/opencode.jsonc +1 -2
- package/src/repo/.opencode/rules/agent-conduct.md +1 -1
- package/src/repo/.opencode/rules/api-server.md +1 -1
- package/src/repo/.opencode/rules/coding-standards.md +1 -1
- package/src/repo/.opencode/rules/component-structure.md +1 -1
- package/src/repo/.opencode/rules/core-libraries.md +1 -1
- package/src/repo/.opencode/rules/environment-tooling.md +1 -1
- package/src/repo/.opencode/rules/logging-comments.md +1 -1
- package/src/repo/.opencode/rules/logging.md +1 -1
- package/src/repo/.opencode/rules/prisma-migrations.md +1 -1
- package/src/repo/.opencode/rules/project-context.md +1 -1
- package/src/repo/.opencode/rules/server-client-separation.md +1 -1
- package/src/repo/.opencode/rules/subagent-workflow.md +1 -1
- package/src/repo/.opencode/rules/testing-quality.md +1 -1
- package/src/repo/.opencode/rules/ui-accessibility.md +1 -1
- package/src/repo/.opencode/rules/version-control.md +1 -1
- package/src/repo/.opencode/rules/what-to-avoid.md +1 -1
- package/src/repo/AGENTS.md +4 -4
- package/src/repo/README.md +5 -5
- package/src/repo/factory/README.md +44 -23
- package/src/repo/factory/worktree-bootstrap.md +32 -0
- package/src/monorepo/.claude/agents/factory-approver.agent.md +0 -12
- package/src/monorepo/.claude/agents/factory-builder.agent.md +0 -12
- package/src/monorepo/.claude/agents/factory-reviewer-code.agent.md +0 -12
- package/src/monorepo/.claude/agents/factory-reviewer-security.agent.md +0 -12
- package/src/monorepo/.claude/agents/factory-reviewer-ui.agent.md +0 -12
- package/src/monorepo/.claude/agents/factory-reviewer-ux.agent.md +0 -12
- package/src/monorepo/.claude/agents/factory-spec-writer.agent.md +0 -12
- package/src/monorepo/.cursor/agents/factory-approver.agent.md +0 -11
- package/src/monorepo/.cursor/agents/factory-builder.agent.md +0 -11
- package/src/monorepo/.cursor/agents/factory-reviewer-code.agent.md +0 -11
- package/src/monorepo/.cursor/agents/factory-reviewer-security.agent.md +0 -11
- package/src/monorepo/.cursor/agents/factory-reviewer-ui.agent.md +0 -11
- package/src/monorepo/.cursor/agents/factory-reviewer-ux.agent.md +0 -11
- package/src/monorepo/.cursor/agents/factory-spec-writer.agent.md +0 -11
- package/src/monorepo/.github/agents/factory-approver.agent.md +0 -11
- package/src/monorepo/.github/agents/factory-builder.agent.md +0 -11
- package/src/monorepo/.github/agents/factory-reviewer-code.agent.md +0 -11
- package/src/monorepo/.github/agents/factory-reviewer-security.agent.md +0 -11
- package/src/monorepo/.github/agents/factory-reviewer-ui.agent.md +0 -11
- package/src/monorepo/.github/agents/factory-reviewer-ux.agent.md +0 -11
- package/src/monorepo/.github/agents/factory-spec-writer.agent.md +0 -11
- package/src/monorepo/.opencode/agents/factory-approver.md +0 -20
- package/src/monorepo/.opencode/agents/factory-builder.md +0 -20
- package/src/monorepo/.opencode/agents/factory-reviewer-code.md +0 -20
- package/src/monorepo/.opencode/agents/factory-reviewer-security.md +0 -20
- package/src/monorepo/.opencode/agents/factory-reviewer-ui.md +0 -20
- package/src/monorepo/.opencode/agents/factory-reviewer-ux.md +0 -20
- package/src/monorepo/.opencode/agents/factory-spec-writer.md +0 -20
- package/src/repo/.claude/agents/factory-approver.agent.md +0 -12
- package/src/repo/.claude/agents/factory-builder.agent.md +0 -12
- package/src/repo/.claude/agents/factory-reviewer-code.agent.md +0 -12
- package/src/repo/.claude/agents/factory-reviewer-security.agent.md +0 -12
- package/src/repo/.claude/agents/factory-reviewer-ui.agent.md +0 -12
- package/src/repo/.claude/agents/factory-reviewer-ux.agent.md +0 -12
- package/src/repo/.claude/agents/factory-spec-writer.agent.md +0 -12
- package/src/repo/.cursor/agents/factory-approver.agent.md +0 -11
- package/src/repo/.cursor/agents/factory-builder.agent.md +0 -11
- package/src/repo/.cursor/agents/factory-reviewer-code.agent.md +0 -11
- package/src/repo/.cursor/agents/factory-reviewer-security.agent.md +0 -11
- package/src/repo/.cursor/agents/factory-reviewer-ui.agent.md +0 -11
- package/src/repo/.cursor/agents/factory-reviewer-ux.agent.md +0 -11
- package/src/repo/.cursor/agents/factory-spec-writer.agent.md +0 -11
- package/src/repo/.github/agents/factory-approver.agent.md +0 -11
- package/src/repo/.github/agents/factory-builder.agent.md +0 -11
- package/src/repo/.github/agents/factory-reviewer-code.agent.md +0 -11
- package/src/repo/.github/agents/factory-reviewer-security.agent.md +0 -11
- package/src/repo/.github/agents/factory-reviewer-ui.agent.md +0 -11
- package/src/repo/.github/agents/factory-reviewer-ux.agent.md +0 -11
- package/src/repo/.github/agents/factory-spec-writer.agent.md +0 -11
- package/src/repo/.opencode/agents/factory-approver.md +0 -20
- package/src/repo/.opencode/agents/factory-builder.md +0 -20
- package/src/repo/.opencode/agents/factory-reviewer-code.md +0 -20
- package/src/repo/.opencode/agents/factory-reviewer-security.md +0 -20
- package/src/repo/.opencode/agents/factory-reviewer-ui.md +0 -20
- package/src/repo/.opencode/agents/factory-reviewer-ux.md +0 -20
- package/src/repo/.opencode/agents/factory-spec-writer.md +0 -20
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [5.1.0] - 2026-10-21
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Factory runs on the native `planner`, `implementer`, and `reviewer` agents instead of seven `factory-*` agents. Each role's Factory rules (outputs, evidence, verdict format, escalation triggers) moved into role briefs in `.agents/skills/factory/roles/`. Reviewers and the approver return their report, and the orchestrator saves it as `round-<N>/review-<lens>.md` or `decision.md`. The gates, verdicts, approval rules, and rework flow are unchanged.
|
|
15
|
+
- `doctor` lists the removed `factory-*` files as stale toolkit files (matched by path and content hash) and never deletes them. The OpenCode `factory-*` agents also match their 5.0.0 hashes, not only 5.0.1.
|
|
16
|
+
- Factory dispatch states that the role brief overrides the dispatched agent's default output format and file-writing rules, and the reply's first line follows the brief.
|
|
17
|
+
- The Claude `planner` agent gets `Glob` and `Bash(*)` (plan mode deletes a stale `tasks.md`); `implementer` and `reviewer` get `Glob`.
|
|
18
|
+
|
|
19
|
+
### Removed
|
|
20
|
+
|
|
21
|
+
- The seven `factory-*` agents (spec writer, builder, code, security, ux, and ui reviewers, approver) and their `.claude/agents-snippets/` prompts, from `.claude/agents/`, `.cursor/agents/`, `.github/agents/`, `.opencode/agents/`, and `.claude/agents-snippets/` in both templates.
|
|
22
|
+
- `request.body.temperature` from every OpenCode agent file, and the AGENTS.md guidance that set it. The current OpenCode runner does not send it.
|
|
23
|
+
|
|
24
|
+
### Migration
|
|
25
|
+
|
|
26
|
+
- Run `patch` in each installed project, then run `doctor`. It lists the old `factory-*` files as stale. Check each listed file, then delete it by hand. Doctor does not delete anything.
|
|
27
|
+
|
|
28
|
+
## [5.0.1] - 2026-10-21
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- `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.
|
|
33
|
+
- Added `test/opencode-wrappers.test.js` to verify explicit "Read and follow" instructions in OpenCode wrappers.
|
|
34
|
+
- 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`.
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
|
|
38
|
+
- `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.
|
|
39
|
+
- OpenCode wrappers replace bare `@.claude/` imports with explicit "Read and follow" instructions. Config `instructions` loading is runtime-dependent; wrappers no longer rely on it.
|
|
40
|
+
- 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.
|
|
41
|
+
- CLI supports `--dry-run`, persisted file selection, exact-version upgrades (refusing `latest`), conditional `BOOTSTRAP.md` rewrites with backups, and toolkit version/manifest tracking.
|
|
42
|
+
- 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.
|
|
43
|
+
- `ponytail-review` permits `git diff`, `git status`, and `git show`. Document its Claude hooks as plugin-only.
|
|
44
|
+
- Backfilled 4.0.1 and 3.0.x release notes.
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
|
|
48
|
+
- Removed stale "publishing not executed" and "4.x" wording.
|
|
49
|
+
|
|
10
50
|
## [5.0.0]
|
|
11
51
|
|
|
12
52
|
### Breaking
|
|
@@ -40,6 +80,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
40
80
|
- `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
81
|
- `.cursor/rules/orient-to-recent-work.mdc` skill link now resolves (`../` → `../../`).
|
|
42
82
|
|
|
83
|
+
## [4.0.1] - 2026-10-20
|
|
84
|
+
|
|
85
|
+
### Changed
|
|
86
|
+
|
|
87
|
+
- Updated the package version for the patch release.
|
|
88
|
+
|
|
43
89
|
## [4.0.0]
|
|
44
90
|
|
|
45
91
|
### Migration
|
|
@@ -128,6 +174,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
128
174
|
- 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
175
|
- 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
176
|
|
|
177
|
+
## [3.0.x]
|
|
178
|
+
|
|
179
|
+
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.
|
|
180
|
+
|
|
181
|
+
### Added
|
|
182
|
+
|
|
183
|
+
- **3.0.0 (2026-06-09):** Shared Claude/Copilot instructions, prompt snippets, and expanded agent workflows.
|
|
184
|
+
- **3.0.2 (2026-06-10):** `gh-cli` skill with PR review-thread resolution.
|
|
185
|
+
- **3.0.7 (2026-06-22):** Ponytail skill bundle, template parity improvements, documentation pre-commit check, and `orient-to-recent-work` skill.
|
|
186
|
+
- **3.0.13 (2026-07-10):** `bkt-cli` and `glab-cli` skills.
|
|
187
|
+
- **3.0.15 (2026-07-11):** npm package and zero-dependency CLI for install, patch, upgrade, doctor, and starter setup; CLI tests and CI.
|
|
188
|
+
- **3.0.23 (2026-09-30):** Codex added to default bootstrap.
|
|
189
|
+
|
|
190
|
+
### Changed
|
|
191
|
+
|
|
192
|
+
- **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.
|
|
193
|
+
- **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.
|
|
194
|
+
- **3.0.18 (2026-07-11):** Allowed manual npm publishing through workflow dispatch.
|
|
195
|
+
- **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.
|
|
196
|
+
|
|
131
197
|
## [0.1.0] - 2026-01-26
|
|
132
198
|
|
|
133
199
|
### 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
|
|
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
|
|
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
|
-
|
|
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,13 +216,13 @@ 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
|
|
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;
|
|
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
|
| --- | --- |
|
|
207
|
-
| Agents | `agents`, JSON `system` (Markdown body for file agents),
|
|
225
|
+
| Agents | `agents`, JSON `system` (Markdown body for file agents), model `provider/model#variant` |
|
|
208
226
|
| Permissions | Ordered `permissions` with `action`, `resource`, `effect`; `shell`/`subagent` actions; last match wins |
|
|
209
227
|
| Commands | `commands`; delegated commands use `subagent` |
|
|
210
228
|
| Plugins | `plugins`; options use `{ "package": "…", "options": {} }` |
|
|
@@ -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:**
|
|
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. Do not set a temperature; the current runner does not send one. 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
|
|
|
@@ -300,7 +318,7 @@ Templates use `{{PLACEHOLDER}}` syntax for values you need to customize. The boo
|
|
|
300
318
|
|
|
301
319
|
### Factory Placeholders
|
|
302
320
|
|
|
303
|
-
Used by the opt-in factory (`.agents/skills/factory/SKILL.md` and `.
|
|
321
|
+
Used by the opt-in factory (`.agents/skills/factory/SKILL.md` and `.agents/skills/factory/roles/*.md`).
|
|
304
322
|
|
|
305
323
|
| Placeholder | Description | Example |
|
|
306
324
|
| --------------------------- | ------------------------------------------------------------------------------------------- | ------------------------ |
|
|
@@ -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
|
|
|
@@ -640,7 +660,7 @@ The factory is an opt-in pipeline for feature-sized work. One orchestrator takes
|
|
|
640
660
|
|
|
641
661
|
It runs alongside Feature Builder and TDD and does not replace them. Nothing runs until you invoke `/factory`. Quick fixes stay direct.
|
|
642
662
|
|
|
643
|
-
- **Agents:** `
|
|
663
|
+
- **Agents:** `planner` (spec and plan), `implementer` (build, repair, and rework), and `reviewer` (the code, security, ux, and ui lenses, and approval, each in the mode its dispatch names). The native agents ship for Claude Code, GitHub Copilot, Cursor, and OpenCode. Each role's Factory rules are in `.agents/skills/factory/roles/`. Codex runs those briefs directly.
|
|
644
664
|
- **Setup and reference:** [`src/repo/factory/README.md`](src/repo/factory/README.md) (the monorepo copy is in `src/monorepo/factory/`). The installer copies `factory/` into your project.
|
|
645
665
|
|
|
646
666
|
| Command | What it does |
|
|
@@ -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
|
|
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
|
|