liteagents 2.10.0 → 2.11.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 +10 -0
- package/README.md +7 -7
- package/package.json +1 -1
- package/packages/ampcode/AGENT.md +3 -2
- package/packages/ampcode/commands/release.md +88 -0
- package/packages/claude/CLAUDE.md +2 -1
- package/packages/claude/commands/release.md +88 -0
- package/packages/droid/AGENTS.md +2 -1
- package/packages/droid/commands/release.md +88 -0
- package/packages/opencode/AGENTS.md +2 -1
- package/packages/opencode/command/release.md +88 -0
- package/packages/opencode/opencode.jsonc +4 -0
- package/packages/subagentic-manual.md +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -17,6 +17,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
+
## [2.11.0] - 2026-07-03
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- **`/release` — end-to-end feature-delivery orchestrator, added across all four packages.** A thin orchestrator (it delegates, never re-implements): resolves a feature branch (arg → `git switch` to it; on `main` with no arg → creates `feat/<slug>` and carries the work over; otherwise the current branch), then runs `/ship` + `/security` + `/diff-review` under `/verify-done` discipline — reading each sibling command's real checklist so nothing is hand-waved. A hard gate splits the safe/read-only verify half from the irreversible release half (docs → version bump → commit → push → PR → merge → tag), which confirms each step. It **stops before `npm publish`** — `publish.yml` is manual `workflow_dispatch` by design. Counts: claude commands 8→9; droid/opencode/ampcode 17→18.
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- **Doc count drift corrected while adding `/release`.** `packages/ampcode/AGENT.md` had mis-filed `live-canvas` (a skill) under its Commands table, leaving Skills at 8 rows beneath a "9 total" header; moved it to Skills so both tables reconcile at 9. README's "Commands/Skills" section still listed a standalone `/friction` bullet (collapsed into `/remember` back in 2.9.0) — removed, and the section total corrected to match "9 skills + 9 commands".
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
20
30
|
## [2.10.0] - 2026-06-16
|
|
21
31
|
|
|
22
32
|
### Changed
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
╚══════╝╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
**AI development toolkit with 11 specialized agents and
|
|
12
|
+
**AI development toolkit with 11 specialized agents and 18 commands per tool**
|
|
13
13
|
|
|
14
14
|
<p align="center">
|
|
15
15
|
<img src="https://img.shields.io/github/package-json/v/hamr0/liteagents?label=version&color=2a4f8c" alt="version (auto from package.json)">
|
|
@@ -45,10 +45,10 @@ liteagents
|
|
|
45
45
|
|
|
46
46
|
### Supported Tools
|
|
47
47
|
|
|
48
|
-
- **Claude Code** - 11 subagents + 9 skills +
|
|
49
|
-
- **Opencode** - 11 agent references +
|
|
50
|
-
- **Ampcode** - 11 subagents +
|
|
51
|
-
- **Droid** - 11 agent references +
|
|
48
|
+
- **Claude Code** - 11 subagents + 9 skills + 9 commands (+ optional live-canvas channel plugin)
|
|
49
|
+
- **Opencode** - 11 agent references + 18 commands
|
|
50
|
+
- **Ampcode** - 11 subagents + 18 commands
|
|
51
|
+
- **Droid** - 11 agent references + 18 commands
|
|
52
52
|
|
|
53
53
|
**Key Difference:**
|
|
54
54
|
- **Claude Code**: Full subagent system with orchestrator + skills (auto-triggering)
|
|
@@ -131,9 +131,8 @@ Results land in `.claude/friction/antigen_review.md` with projects, error patter
|
|
|
131
131
|
|
|
132
132
|
**Manual Skills/Commands (15):**
|
|
133
133
|
|
|
134
|
-
*Hot Memory Pipeline (
|
|
134
|
+
*Hot Memory Pipeline (2)* — see the [Hot Memory](#hot-memory--project-local-learning-from-your-own-sessions) section above for the full walkthrough:
|
|
135
135
|
- **stash** - Snapshot session context to `.claude/stash/` before compaction, handoff, or ending complex work
|
|
136
|
-
- **friction** - Analyze all JSONL sessions for frustration signals, cluster failures per project, surface antigens
|
|
137
136
|
- **remember** - Consolidate stashes + friction antigens into `.claude/memory/MEMORY.md`; auto-injected via `@MEMORY.md`
|
|
138
137
|
|
|
139
138
|
*Design*:
|
|
@@ -150,6 +149,7 @@ Results land in `.claude/friction/antigen_review.md` with projects, error patter
|
|
|
150
149
|
- **diff-review** - Review a file, branch, or range; verifies findings, fixes confirmed/unambiguous ones, asks on ambiguous or downstream-affecting ones
|
|
151
150
|
- **security** - Vulnerability scan; same verify→fix→ask flow as `/diff-review`
|
|
152
151
|
- **ship** - Pre-deployment checklist
|
|
152
|
+
- **release** - Deliver a feature end-to-end: verify → docs → merge → tag (publish stays manual)
|
|
153
153
|
- **test-generate** - Generate test suites
|
|
154
154
|
|
|
155
155
|
> **Claude-only plugin:** `live-canvas-channel` is a bundled Claude Code MCP channel plugin that ships under `~/.claude/plugins/live-canvas-marketplace/`. One-time `/plugin install` + a session started with `--dangerously-load-development-channels` unlocks live mode. Skill probes for the channel on each invocation and handholds setup when missing. See [`packages/claude/skills/live-canvas/README.md`](packages/claude/skills/live-canvas/README.md) for the full walkthrough.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "liteagents",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.0",
|
|
4
4
|
"description": "AI development toolkit with 11 specialized agents and 17 commands including live-canvas UI design with click-to-annotate feedback. Simple one-question installer for Claude, Opencode, Ampcode, and Droid.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -28,6 +28,7 @@ These subagents are available when using Ampcode CLI.
|
|
|
28
28
|
|---|---|---|---|
|
|
29
29
|
| brainstorming | Refines rough ideas into fully-formed designs through collaborative questioning | /brainstorming <session-type> <topic> | false |
|
|
30
30
|
| docs-builder | Create comprehensive project documentation with structured /docs hierarchy | /docs-builder | false |
|
|
31
|
+
| live-canvas | Design UI variations and collect click-to-annotate feedback from the browser (batch mode only on Amp) | /live-canvas | false |
|
|
31
32
|
| trace-back | Systematically traces bugs backward through call stack to identify source | /trace-back <issue-description> | false |
|
|
32
33
|
| skill-creator | Guide for creating effective skills and extending Claude capabilities | /skill-creator <skill-type> <skill-description> | false |
|
|
33
34
|
| debug-method | Four-phase debugging framework - investigate root cause before any fixes | /debug-method <bug-or-error-description> | false |
|
|
@@ -35,17 +36,17 @@ These subagents are available when using Ampcode CLI.
|
|
|
35
36
|
| test-traps | Prevents testing mock behavior and production pollution with test-only methods | /test-traps <testing-scenario> | true |
|
|
36
37
|
| verify-done | Requires running verification commands before making any success claims | /verify-done <work-to-verify> | true |
|
|
37
38
|
|
|
38
|
-
### Commands (
|
|
39
|
+
### Commands (9 total)
|
|
39
40
|
|
|
40
41
|
| ID | Description | Usage |
|
|
41
42
|
|---|---|---|
|
|
42
|
-
| live-canvas | Design UI variations and collect click-to-annotate feedback from the browser (batch mode only on Amp) | /live-canvas |
|
|
43
43
|
| optimize | Analyze and optimize performance issues | /optimize <target-area> |
|
|
44
44
|
| refactor | Refactor code while maintaining behavior and tests | /refactor <code-section> |
|
|
45
45
|
| remember | Consolidate stashes + friction into project memory | /remember |
|
|
46
46
|
| diff-review | Comprehensive code review including quality, tests, and architecture | /diff-review |
|
|
47
47
|
| security | Security vulnerability scan and analysis | /security |
|
|
48
48
|
| ship | Pre-deployment verification checklist | /ship |
|
|
49
|
+
| release | Deliver a feature end-to-end: verify, docs, merge, tag (publish stays manual) | /release [branch] |
|
|
49
50
|
| stash | Save session context for compaction recovery or handoffs | /stash ["optional-name"] |
|
|
50
51
|
| test-generate | Generate tests, run them, verify each one actually exercises the code | /test-generate <file> |
|
|
51
52
|
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release
|
|
3
|
+
description: Deliver a feature end-to-end — verify, docs, merge, tag (publish stays manual)
|
|
4
|
+
usage: /release [branch]
|
|
5
|
+
argument-hint: [branch — new or existing; else current]
|
|
6
|
+
allowed-tools: Read, Grep, Glob, Edit, Write, Bash(git *), Bash(gh *), Bash(npm *), Bash(pnpm *), Bash(yarn *), Bash(pytest *), Bash(python *), Bash(go *), Bash(cargo *), Bash(make *)
|
|
7
|
+
---
|
|
8
|
+
End-to-end feature-delivery **orchestrator**. It does **not** re-implement
|
|
9
|
+
checks — it runs your existing gates (`/ship`, `/security`, `/diff-review`)
|
|
10
|
+
under `/verify-done` discipline, then performs the release actions. Two halves
|
|
11
|
+
split by a hard gate: everything **before** the gate is safe and read-only;
|
|
12
|
+
everything **after** rewrites history and is confirmed step by step.
|
|
13
|
+
|
|
14
|
+
**A feature branch is required — `main` is only the merge target.** `$ARGUMENTS`
|
|
15
|
+
names the branch to release. Omit it only if you are already on a feature
|
|
16
|
+
branch. If you are on `main` with nothing named, a branch is created for you —
|
|
17
|
+
but you should be releasing a deliberately-named feature branch.
|
|
18
|
+
|
|
19
|
+
## Phase 0 — Preflight (resolve a feature branch — never `main`)
|
|
20
|
+
- **Resolve the release branch** — whatever gets merged into `main`:
|
|
21
|
+
- `$ARGUMENTS` given → `git switch` to it (create it if it does not exist).
|
|
22
|
+
- else not on `main` → release the **current** branch.
|
|
23
|
+
- else on `main` with no arg → **create** `feat/<slug>` (named for the
|
|
24
|
+
change) and carry your working changes onto it. **Never release `main`.**
|
|
25
|
+
- **Land the feature on the branch** — if the working tree still has
|
|
26
|
+
uncommitted feature changes, commit them now; the gates must review a real
|
|
27
|
+
diff, not a dirty tree.
|
|
28
|
+
- `git fetch origin`; the release diff is `origin/main...HEAD` (now guaranteed
|
|
29
|
+
to be the resolved branch). If it is empty, **stop** — nothing to release.
|
|
30
|
+
- Print a one-line plan: branch · commit count · files changed.
|
|
31
|
+
|
|
32
|
+
## Phase 1 — VERIFY (delegate; no hand-waving)
|
|
33
|
+
**First, load the real checklists.** Locate and **read** the sibling command
|
|
34
|
+
definitions so you apply their exact checks, not an approximation — glob your
|
|
35
|
+
installed commands/skills for `ship.md`, `security.md`, `diff-review.md`, and
|
|
36
|
+
`verify-done` (a skill or command). If one cannot be found, run that check from
|
|
37
|
+
its name and **flag that its full checklist was unavailable** — never pretend
|
|
38
|
+
it passed.
|
|
39
|
+
|
|
40
|
+
Then run each gate and capture **fresh evidence** — the exact command, its exit
|
|
41
|
+
code, and the result. Per `/verify-done`: a check you did **not** actually run
|
|
42
|
+
is a **FAIL**, never an assumed pass.
|
|
43
|
+
- **`/ship`** — pre-deploy gate (tests, lint, build, secrets, authz, rate
|
|
44
|
+
limit, data scope, migrations, docs-sync).
|
|
45
|
+
- **`/security`** — on the changed files.
|
|
46
|
+
- **`/diff-review`** — on `origin/main...HEAD`.
|
|
47
|
+
|
|
48
|
+
Emit a coverage table, one row per gate: `ran? ✓/✗` · evidence · verdict. If
|
|
49
|
+
any row is ✗ (could not run), the run is **Blocked 🛑** — do not continue.
|
|
50
|
+
|
|
51
|
+
## 🚦 Gate
|
|
52
|
+
- **Any Critical** (failing tests/build, a Critical security or diff-review
|
|
53
|
+
finding) → **stop**, report, ask how to proceed. Touch no history.
|
|
54
|
+
- **Warnings, or anything you cannot confidently decide** → **stop**,
|
|
55
|
+
summarize, ask.
|
|
56
|
+
- **All clean** → continue to Phase 2.
|
|
57
|
+
|
|
58
|
+
## Phase 2 — DOCS (only what the feature changed)
|
|
59
|
+
Update as needed, matching each file's existing format; touch nothing
|
|
60
|
+
unrelated. If a doc needs no change, **say so** rather than editing for its
|
|
61
|
+
own sake.
|
|
62
|
+
- **CHANGELOG.md** — new entry.
|
|
63
|
+
- **PRD** — the feature's PRD entry / status.
|
|
64
|
+
- **context / guide** — the project's context or guide doc.
|
|
65
|
+
- **README.md** — only if user-facing usage changed.
|
|
66
|
+
|
|
67
|
+
## Phase 3 — RELEASE (irreversible — confirm each step)
|
|
68
|
+
1. **Version bump** — pick the semver level from the change (patch / minor /
|
|
69
|
+
major; ask if ambiguous) and update `package.json`.
|
|
70
|
+
2. **Commit** — `release: vX.Y.Z — <summary>`, including the docs + bump.
|
|
71
|
+
3. **Push** the branch.
|
|
72
|
+
4. **Open PR** — `gh pr create` into `main` (main is PR-protected: 1 approving
|
|
73
|
+
review).
|
|
74
|
+
5. **Merge** — `gh pr merge --delete-branch`. If the review requirement blocks
|
|
75
|
+
it, **stop** and ask the user to approve — never force or bypass protection.
|
|
76
|
+
6. **Tag** — after the merge, `git tag vX.Y.Z` on `main` and push it. Keep
|
|
77
|
+
cut→tag tight — one frozen step.
|
|
78
|
+
|
|
79
|
+
## Stop here — publish is your call
|
|
80
|
+
Do **not** publish. `publish.yml` is manual `workflow_dispatch` **by design**.
|
|
81
|
+
Print the handoff:
|
|
82
|
+
> Merged, branch deleted, tagged **vX.Y.Z**. To publish, run it yourself:
|
|
83
|
+
> `gh workflow run publish.yml`
|
|
84
|
+
> Then confirm the version is actually live (`npm view <pkg> versions`) and
|
|
85
|
+
> validate the **installed** artifact, not the working tree.
|
|
86
|
+
|
|
87
|
+
Final report: **Delivered ✅ (vX.Y.Z — publish pending)** or **Blocked 🛑**
|
|
88
|
+
with the specific reason.
|
|
@@ -36,7 +36,7 @@ These subagents are available when using Claude Code CLI. Droid can reference th
|
|
|
36
36
|
| test-traps | Prevents testing mock behavior and production pollution with test-only methods | /test-traps <testing-scenario> | true |
|
|
37
37
|
| verify-done | Requires running verification commands before making any success claims | /verify-done <work-to-verify> | true |
|
|
38
38
|
|
|
39
|
-
### Commands (
|
|
39
|
+
### Commands (9 total)
|
|
40
40
|
|
|
41
41
|
| ID | Description | Usage |
|
|
42
42
|
|---|---|---|
|
|
@@ -46,6 +46,7 @@ These subagents are available when using Claude Code CLI. Droid can reference th
|
|
|
46
46
|
| diff-review | Comprehensive code review including quality, tests, and architecture | /diff-review |
|
|
47
47
|
| security | Security vulnerability scan and analysis | /security |
|
|
48
48
|
| ship | Pre-deployment verification checklist | /ship |
|
|
49
|
+
| release | Deliver a feature end-to-end: verify, docs, merge, tag (publish stays manual) | /release [branch] |
|
|
49
50
|
| stash | Save session context for compaction recovery or handoffs | /stash ["optional-name"] |
|
|
50
51
|
| test-generate | Generate tests, run them, verify each one actually exercises the code | /test-generate <file> |
|
|
51
52
|
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release
|
|
3
|
+
description: Deliver a feature end-to-end — verify, docs, merge, tag (publish stays manual)
|
|
4
|
+
usage: /release [branch]
|
|
5
|
+
argument-hint: [branch — new or existing; else current]
|
|
6
|
+
allowed-tools: Read, Grep, Glob, Edit, Write, Bash(git:*), Bash(gh:*), Bash(npm:*), Bash(pnpm:*), Bash(yarn:*), Bash(pytest:*), Bash(python:*), Bash(go:*), Bash(cargo:*), Bash(make:*)
|
|
7
|
+
---
|
|
8
|
+
End-to-end feature-delivery **orchestrator**. It does **not** re-implement
|
|
9
|
+
checks — it runs your existing gates (`/ship`, `/security`, `/diff-review`)
|
|
10
|
+
under `/verify-done` discipline, then performs the release actions. Two halves
|
|
11
|
+
split by a hard gate: everything **before** the gate is safe and read-only;
|
|
12
|
+
everything **after** rewrites history and is confirmed step by step.
|
|
13
|
+
|
|
14
|
+
**A feature branch is required — `main` is only the merge target.** `$ARGUMENTS`
|
|
15
|
+
names the branch to release. Omit it only if you are already on a feature
|
|
16
|
+
branch. If you are on `main` with nothing named, a branch is created for you —
|
|
17
|
+
but you should be releasing a deliberately-named feature branch.
|
|
18
|
+
|
|
19
|
+
## Phase 0 — Preflight (resolve a feature branch — never `main`)
|
|
20
|
+
- **Resolve the release branch** — whatever gets merged into `main`:
|
|
21
|
+
- `$ARGUMENTS` given → `git switch` to it (create it if it does not exist).
|
|
22
|
+
- else not on `main` → release the **current** branch.
|
|
23
|
+
- else on `main` with no arg → **create** `feat/<slug>` (named for the
|
|
24
|
+
change) and carry your working changes onto it. **Never release `main`.**
|
|
25
|
+
- **Land the feature on the branch** — if the working tree still has
|
|
26
|
+
uncommitted feature changes, commit them now; the gates must review a real
|
|
27
|
+
diff, not a dirty tree.
|
|
28
|
+
- `git fetch origin`; the release diff is `origin/main...HEAD` (now guaranteed
|
|
29
|
+
to be the resolved branch). If it is empty, **stop** — nothing to release.
|
|
30
|
+
- Print a one-line plan: branch · commit count · files changed.
|
|
31
|
+
|
|
32
|
+
## Phase 1 — VERIFY (delegate; no hand-waving)
|
|
33
|
+
**First, load the real checklists.** Locate and **read** the sibling command
|
|
34
|
+
definitions so you apply their exact checks, not an approximation — glob your
|
|
35
|
+
installed commands/skills for `ship.md`, `security.md`, `diff-review.md`, and
|
|
36
|
+
`verify-done` (a skill or command). If one cannot be found, run that check from
|
|
37
|
+
its name and **flag that its full checklist was unavailable** — never pretend
|
|
38
|
+
it passed.
|
|
39
|
+
|
|
40
|
+
Then run each gate and capture **fresh evidence** — the exact command, its exit
|
|
41
|
+
code, and the result. Per `/verify-done`: a check you did **not** actually run
|
|
42
|
+
is a **FAIL**, never an assumed pass.
|
|
43
|
+
- **`/ship`** — pre-deploy gate (tests, lint, build, secrets, authz, rate
|
|
44
|
+
limit, data scope, migrations, docs-sync).
|
|
45
|
+
- **`/security`** — on the changed files.
|
|
46
|
+
- **`/diff-review`** — on `origin/main...HEAD`.
|
|
47
|
+
|
|
48
|
+
Emit a coverage table, one row per gate: `ran? ✓/✗` · evidence · verdict. If
|
|
49
|
+
any row is ✗ (could not run), the run is **Blocked 🛑** — do not continue.
|
|
50
|
+
|
|
51
|
+
## 🚦 Gate
|
|
52
|
+
- **Any Critical** (failing tests/build, a Critical security or diff-review
|
|
53
|
+
finding) → **stop**, report, ask how to proceed. Touch no history.
|
|
54
|
+
- **Warnings, or anything you cannot confidently decide** → **stop**,
|
|
55
|
+
summarize, ask.
|
|
56
|
+
- **All clean** → continue to Phase 2.
|
|
57
|
+
|
|
58
|
+
## Phase 2 — DOCS (only what the feature changed)
|
|
59
|
+
Update as needed, matching each file's existing format; touch nothing
|
|
60
|
+
unrelated. If a doc needs no change, **say so** rather than editing for its
|
|
61
|
+
own sake.
|
|
62
|
+
- **CHANGELOG.md** — new entry.
|
|
63
|
+
- **PRD** — the feature's PRD entry / status.
|
|
64
|
+
- **context / guide** — the project's context or guide doc.
|
|
65
|
+
- **README.md** — only if user-facing usage changed.
|
|
66
|
+
|
|
67
|
+
## Phase 3 — RELEASE (irreversible — confirm each step)
|
|
68
|
+
1. **Version bump** — pick the semver level from the change (patch / minor /
|
|
69
|
+
major; ask if ambiguous) and update `package.json`.
|
|
70
|
+
2. **Commit** — `release: vX.Y.Z — <summary>`, including the docs + bump.
|
|
71
|
+
3. **Push** the branch.
|
|
72
|
+
4. **Open PR** — `gh pr create` into `main` (main is PR-protected: 1 approving
|
|
73
|
+
review).
|
|
74
|
+
5. **Merge** — `gh pr merge --delete-branch`. If the review requirement blocks
|
|
75
|
+
it, **stop** and ask the user to approve — never force or bypass protection.
|
|
76
|
+
6. **Tag** — after the merge, `git tag vX.Y.Z` on `main` and push it. Keep
|
|
77
|
+
cut→tag tight — one frozen step.
|
|
78
|
+
|
|
79
|
+
## Stop here — publish is your call
|
|
80
|
+
Do **not** publish. `publish.yml` is manual `workflow_dispatch` **by design**.
|
|
81
|
+
Print the handoff:
|
|
82
|
+
> Merged, branch deleted, tagged **vX.Y.Z**. To publish, run it yourself:
|
|
83
|
+
> `gh workflow run publish.yml`
|
|
84
|
+
> Then confirm the version is actually live (`npm view <pkg> versions`) and
|
|
85
|
+
> validate the **installed** artifact, not the working tree.
|
|
86
|
+
|
|
87
|
+
Final report: **Delivered ✅ (vX.Y.Z — publish pending)** or **Blocked 🛑**
|
|
88
|
+
with the specific reason.
|
package/packages/droid/AGENTS.md
CHANGED
|
@@ -22,7 +22,7 @@ These subagents are available when using Claude Code CLI. Droid can reference th
|
|
|
22
22
|
| system-architect | Architect | Use for system design, architecture documents, technology selection, API design, and infrastructure planning |
|
|
23
23
|
| ui-designer | UX Expert | Use for UI/UX design, wireframes, prototypes, front-end specifications, and user experience optimization |
|
|
24
24
|
|
|
25
|
-
## Droid Commands (
|
|
25
|
+
## Droid Commands (18 total)
|
|
26
26
|
|
|
27
27
|
| ID | Description | Usage | Auto |
|
|
28
28
|
|---|---|---|---|
|
|
@@ -36,6 +36,7 @@ These subagents are available when using Claude Code CLI. Droid can reference th
|
|
|
36
36
|
| trace-back | Systematically traces bugs backward through call stack to identify source | /trace-back <issue-description> | false |
|
|
37
37
|
| security | Security vulnerability scan and analysis | /security | - |
|
|
38
38
|
| ship | Pre-deployment verification checklist | /ship | - |
|
|
39
|
+
| release | Deliver a feature end-to-end: verify, docs, merge, tag (publish stays manual) | /release [branch] | - |
|
|
39
40
|
| skill-creator | Guide for creating effective skills and extending Claude capabilities | /skill-creator <skill-type> <skill-description> | false |
|
|
40
41
|
| stash | Save session context for compaction recovery or handoffs | /stash ["optional-name"] | - |
|
|
41
42
|
| debug-method | Four-phase debugging framework - investigate root cause before any fixes | /debug-method <bug-or-error-description> | false |
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release
|
|
3
|
+
description: Deliver a feature end-to-end — verify, docs, merge, tag (publish stays manual)
|
|
4
|
+
usage: /release [branch]
|
|
5
|
+
argument-hint: [branch — new or existing; else current]
|
|
6
|
+
allowed-tools: Read, Grep, Glob, Edit, Write, Bash(git *), Bash(gh *), Bash(npm *), Bash(pnpm *), Bash(yarn *), Bash(pytest *), Bash(python *), Bash(go *), Bash(cargo *), Bash(make *)
|
|
7
|
+
---
|
|
8
|
+
End-to-end feature-delivery **orchestrator**. It does **not** re-implement
|
|
9
|
+
checks — it runs your existing gates (`/ship`, `/security`, `/diff-review`)
|
|
10
|
+
under `/verify-done` discipline, then performs the release actions. Two halves
|
|
11
|
+
split by a hard gate: everything **before** the gate is safe and read-only;
|
|
12
|
+
everything **after** rewrites history and is confirmed step by step.
|
|
13
|
+
|
|
14
|
+
**A feature branch is required — `main` is only the merge target.** `$ARGUMENTS`
|
|
15
|
+
names the branch to release. Omit it only if you are already on a feature
|
|
16
|
+
branch. If you are on `main` with nothing named, a branch is created for you —
|
|
17
|
+
but you should be releasing a deliberately-named feature branch.
|
|
18
|
+
|
|
19
|
+
## Phase 0 — Preflight (resolve a feature branch — never `main`)
|
|
20
|
+
- **Resolve the release branch** — whatever gets merged into `main`:
|
|
21
|
+
- `$ARGUMENTS` given → `git switch` to it (create it if it does not exist).
|
|
22
|
+
- else not on `main` → release the **current** branch.
|
|
23
|
+
- else on `main` with no arg → **create** `feat/<slug>` (named for the
|
|
24
|
+
change) and carry your working changes onto it. **Never release `main`.**
|
|
25
|
+
- **Land the feature on the branch** — if the working tree still has
|
|
26
|
+
uncommitted feature changes, commit them now; the gates must review a real
|
|
27
|
+
diff, not a dirty tree.
|
|
28
|
+
- `git fetch origin`; the release diff is `origin/main...HEAD` (now guaranteed
|
|
29
|
+
to be the resolved branch). If it is empty, **stop** — nothing to release.
|
|
30
|
+
- Print a one-line plan: branch · commit count · files changed.
|
|
31
|
+
|
|
32
|
+
## Phase 1 — VERIFY (delegate; no hand-waving)
|
|
33
|
+
**First, load the real checklists.** Locate and **read** the sibling command
|
|
34
|
+
definitions so you apply their exact checks, not an approximation — glob your
|
|
35
|
+
installed commands/skills for `ship.md`, `security.md`, `diff-review.md`, and
|
|
36
|
+
`verify-done` (a skill or command). If one cannot be found, run that check from
|
|
37
|
+
its name and **flag that its full checklist was unavailable** — never pretend
|
|
38
|
+
it passed.
|
|
39
|
+
|
|
40
|
+
Then run each gate and capture **fresh evidence** — the exact command, its exit
|
|
41
|
+
code, and the result. Per `/verify-done`: a check you did **not** actually run
|
|
42
|
+
is a **FAIL**, never an assumed pass.
|
|
43
|
+
- **`/ship`** — pre-deploy gate (tests, lint, build, secrets, authz, rate
|
|
44
|
+
limit, data scope, migrations, docs-sync).
|
|
45
|
+
- **`/security`** — on the changed files.
|
|
46
|
+
- **`/diff-review`** — on `origin/main...HEAD`.
|
|
47
|
+
|
|
48
|
+
Emit a coverage table, one row per gate: `ran? ✓/✗` · evidence · verdict. If
|
|
49
|
+
any row is ✗ (could not run), the run is **Blocked 🛑** — do not continue.
|
|
50
|
+
|
|
51
|
+
## 🚦 Gate
|
|
52
|
+
- **Any Critical** (failing tests/build, a Critical security or diff-review
|
|
53
|
+
finding) → **stop**, report, ask how to proceed. Touch no history.
|
|
54
|
+
- **Warnings, or anything you cannot confidently decide** → **stop**,
|
|
55
|
+
summarize, ask.
|
|
56
|
+
- **All clean** → continue to Phase 2.
|
|
57
|
+
|
|
58
|
+
## Phase 2 — DOCS (only what the feature changed)
|
|
59
|
+
Update as needed, matching each file's existing format; touch nothing
|
|
60
|
+
unrelated. If a doc needs no change, **say so** rather than editing for its
|
|
61
|
+
own sake.
|
|
62
|
+
- **CHANGELOG.md** — new entry.
|
|
63
|
+
- **PRD** — the feature's PRD entry / status.
|
|
64
|
+
- **context / guide** — the project's context or guide doc.
|
|
65
|
+
- **README.md** — only if user-facing usage changed.
|
|
66
|
+
|
|
67
|
+
## Phase 3 — RELEASE (irreversible — confirm each step)
|
|
68
|
+
1. **Version bump** — pick the semver level from the change (patch / minor /
|
|
69
|
+
major; ask if ambiguous) and update `package.json`.
|
|
70
|
+
2. **Commit** — `release: vX.Y.Z — <summary>`, including the docs + bump.
|
|
71
|
+
3. **Push** the branch.
|
|
72
|
+
4. **Open PR** — `gh pr create` into `main` (main is PR-protected: 1 approving
|
|
73
|
+
review).
|
|
74
|
+
5. **Merge** — `gh pr merge --delete-branch`. If the review requirement blocks
|
|
75
|
+
it, **stop** and ask the user to approve — never force or bypass protection.
|
|
76
|
+
6. **Tag** — after the merge, `git tag vX.Y.Z` on `main` and push it. Keep
|
|
77
|
+
cut→tag tight — one frozen step.
|
|
78
|
+
|
|
79
|
+
## Stop here — publish is your call
|
|
80
|
+
Do **not** publish. `publish.yml` is manual `workflow_dispatch` **by design**.
|
|
81
|
+
Print the handoff:
|
|
82
|
+
> Merged, branch deleted, tagged **vX.Y.Z**. To publish, run it yourself:
|
|
83
|
+
> `gh workflow run publish.yml`
|
|
84
|
+
> Then confirm the version is actually live (`npm view <pkg> versions`) and
|
|
85
|
+
> validate the **installed** artifact, not the working tree.
|
|
86
|
+
|
|
87
|
+
Final report: **Delivered ✅ (vX.Y.Z — publish pending)** or **Blocked 🛑**
|
|
88
|
+
with the specific reason.
|
|
@@ -22,7 +22,7 @@ These subagents are available when using Claude Code CLI. Opencode can reference
|
|
|
22
22
|
| system-architect | Architect | Use for system design, architecture documents, technology selection, API design, and infrastructure planning |
|
|
23
23
|
| ui-designer | UX Expert | Use for UI/UX design, wireframes, prototypes, front-end specifications, and user experience optimization |
|
|
24
24
|
|
|
25
|
-
## Opencode Commands (
|
|
25
|
+
## Opencode Commands (18 total)
|
|
26
26
|
|
|
27
27
|
| ID | Description | Usage | Auto |
|
|
28
28
|
|---|---|---|---|
|
|
@@ -36,6 +36,7 @@ These subagents are available when using Claude Code CLI. Opencode can reference
|
|
|
36
36
|
| trace-back | Systematically traces bugs backward through call stack to identify source | /trace-back <issue-description> | false |
|
|
37
37
|
| security | Security vulnerability scan and analysis | /security | - |
|
|
38
38
|
| ship | Pre-deployment verification checklist | /ship | - |
|
|
39
|
+
| release | Deliver a feature end-to-end: verify, docs, merge, tag (publish stays manual) | /release [branch] | - |
|
|
39
40
|
| skill-creator | Guide for creating effective skills and extending Claude capabilities | /skill-creator <skill-type> <skill-description> | false |
|
|
40
41
|
| stash | Save session context for compaction recovery or handoffs | /stash ["optional-name"] | - |
|
|
41
42
|
| debug-method | Four-phase debugging framework - investigate root cause before any fixes | /debug-method <bug-or-error-description> | false |
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release
|
|
3
|
+
description: Deliver a feature end-to-end — verify, docs, merge, tag (publish stays manual)
|
|
4
|
+
usage: /release [branch]
|
|
5
|
+
argument-hint: [branch — new or existing; else current]
|
|
6
|
+
allowed-tools: Read, Grep, Glob, Edit, Write, Bash(git *), Bash(gh *), Bash(npm *), Bash(pnpm *), Bash(yarn *), Bash(pytest *), Bash(python *), Bash(go *), Bash(cargo *), Bash(make *)
|
|
7
|
+
---
|
|
8
|
+
End-to-end feature-delivery **orchestrator**. It does **not** re-implement
|
|
9
|
+
checks — it runs your existing gates (`/ship`, `/security`, `/diff-review`)
|
|
10
|
+
under `/verify-done` discipline, then performs the release actions. Two halves
|
|
11
|
+
split by a hard gate: everything **before** the gate is safe and read-only;
|
|
12
|
+
everything **after** rewrites history and is confirmed step by step.
|
|
13
|
+
|
|
14
|
+
**A feature branch is required — `main` is only the merge target.** `$ARGUMENTS`
|
|
15
|
+
names the branch to release. Omit it only if you are already on a feature
|
|
16
|
+
branch. If you are on `main` with nothing named, a branch is created for you —
|
|
17
|
+
but you should be releasing a deliberately-named feature branch.
|
|
18
|
+
|
|
19
|
+
## Phase 0 — Preflight (resolve a feature branch — never `main`)
|
|
20
|
+
- **Resolve the release branch** — whatever gets merged into `main`:
|
|
21
|
+
- `$ARGUMENTS` given → `git switch` to it (create it if it does not exist).
|
|
22
|
+
- else not on `main` → release the **current** branch.
|
|
23
|
+
- else on `main` with no arg → **create** `feat/<slug>` (named for the
|
|
24
|
+
change) and carry your working changes onto it. **Never release `main`.**
|
|
25
|
+
- **Land the feature on the branch** — if the working tree still has
|
|
26
|
+
uncommitted feature changes, commit them now; the gates must review a real
|
|
27
|
+
diff, not a dirty tree.
|
|
28
|
+
- `git fetch origin`; the release diff is `origin/main...HEAD` (now guaranteed
|
|
29
|
+
to be the resolved branch). If it is empty, **stop** — nothing to release.
|
|
30
|
+
- Print a one-line plan: branch · commit count · files changed.
|
|
31
|
+
|
|
32
|
+
## Phase 1 — VERIFY (delegate; no hand-waving)
|
|
33
|
+
**First, load the real checklists.** Locate and **read** the sibling command
|
|
34
|
+
definitions so you apply their exact checks, not an approximation — glob your
|
|
35
|
+
installed commands/skills for `ship.md`, `security.md`, `diff-review.md`, and
|
|
36
|
+
`verify-done` (a skill or command). If one cannot be found, run that check from
|
|
37
|
+
its name and **flag that its full checklist was unavailable** — never pretend
|
|
38
|
+
it passed.
|
|
39
|
+
|
|
40
|
+
Then run each gate and capture **fresh evidence** — the exact command, its exit
|
|
41
|
+
code, and the result. Per `/verify-done`: a check you did **not** actually run
|
|
42
|
+
is a **FAIL**, never an assumed pass.
|
|
43
|
+
- **`/ship`** — pre-deploy gate (tests, lint, build, secrets, authz, rate
|
|
44
|
+
limit, data scope, migrations, docs-sync).
|
|
45
|
+
- **`/security`** — on the changed files.
|
|
46
|
+
- **`/diff-review`** — on `origin/main...HEAD`.
|
|
47
|
+
|
|
48
|
+
Emit a coverage table, one row per gate: `ran? ✓/✗` · evidence · verdict. If
|
|
49
|
+
any row is ✗ (could not run), the run is **Blocked 🛑** — do not continue.
|
|
50
|
+
|
|
51
|
+
## 🚦 Gate
|
|
52
|
+
- **Any Critical** (failing tests/build, a Critical security or diff-review
|
|
53
|
+
finding) → **stop**, report, ask how to proceed. Touch no history.
|
|
54
|
+
- **Warnings, or anything you cannot confidently decide** → **stop**,
|
|
55
|
+
summarize, ask.
|
|
56
|
+
- **All clean** → continue to Phase 2.
|
|
57
|
+
|
|
58
|
+
## Phase 2 — DOCS (only what the feature changed)
|
|
59
|
+
Update as needed, matching each file's existing format; touch nothing
|
|
60
|
+
unrelated. If a doc needs no change, **say so** rather than editing for its
|
|
61
|
+
own sake.
|
|
62
|
+
- **CHANGELOG.md** — new entry.
|
|
63
|
+
- **PRD** — the feature's PRD entry / status.
|
|
64
|
+
- **context / guide** — the project's context or guide doc.
|
|
65
|
+
- **README.md** — only if user-facing usage changed.
|
|
66
|
+
|
|
67
|
+
## Phase 3 — RELEASE (irreversible — confirm each step)
|
|
68
|
+
1. **Version bump** — pick the semver level from the change (patch / minor /
|
|
69
|
+
major; ask if ambiguous) and update `package.json`.
|
|
70
|
+
2. **Commit** — `release: vX.Y.Z — <summary>`, including the docs + bump.
|
|
71
|
+
3. **Push** the branch.
|
|
72
|
+
4. **Open PR** — `gh pr create` into `main` (main is PR-protected: 1 approving
|
|
73
|
+
review).
|
|
74
|
+
5. **Merge** — `gh pr merge --delete-branch`. If the review requirement blocks
|
|
75
|
+
it, **stop** and ask the user to approve — never force or bypass protection.
|
|
76
|
+
6. **Tag** — after the merge, `git tag vX.Y.Z` on `main` and push it. Keep
|
|
77
|
+
cut→tag tight — one frozen step.
|
|
78
|
+
|
|
79
|
+
## Stop here — publish is your call
|
|
80
|
+
Do **not** publish. `publish.yml` is manual `workflow_dispatch` **by design**.
|
|
81
|
+
Print the handoff:
|
|
82
|
+
> Merged, branch deleted, tagged **vX.Y.Z**. To publish, run it yourself:
|
|
83
|
+
> `gh workflow run publish.yml`
|
|
84
|
+
> Then confirm the version is actually live (`npm view <pkg> versions`) and
|
|
85
|
+
> validate the **installed** artifact, not the working tree.
|
|
86
|
+
|
|
87
|
+
Final report: **Delivered ✅ (vX.Y.Z — publish pending)** or **Blocked 🛑**
|
|
88
|
+
with the specific reason.
|
|
@@ -169,6 +169,10 @@
|
|
|
169
169
|
"template": "{file:./command/ship.md}",
|
|
170
170
|
"description": "Pre-deployment verification checklist"
|
|
171
171
|
},
|
|
172
|
+
"release": {
|
|
173
|
+
"template": "{file:./command/release.md}",
|
|
174
|
+
"description": "Deliver a feature end-to-end: verify, docs, merge, tag (publish stays manual)"
|
|
175
|
+
},
|
|
172
176
|
"remember": {
|
|
173
177
|
"template": "{file:./command/remember.md}",
|
|
174
178
|
"description": "Consolidate stashes + friction into project memory"
|
|
@@ -54,8 +54,8 @@ Install for your platform:
|
|
|
54
54
|
- tdd-flow, test-traps, verify-done (auto-trigger)
|
|
55
55
|
- brainstorming, debug-method, docs-builder, live-canvas, etc.
|
|
56
56
|
|
|
57
|
-
**
|
|
58
|
-
- optimize, refactor, remember, diff-review, security, ship, stash, test-generate
|
|
57
|
+
**9 Commands** - Simple workflow helpers
|
|
58
|
+
- optimize, refactor, remember, diff-review, security, ship, release, stash, test-generate
|
|
59
59
|
|
|
60
60
|
**Orchestration System**
|
|
61
61
|
- Automatic intent matching to 9 workflow patterns
|
|
@@ -117,17 +117,18 @@ Install for your platform:
|
|
|
117
117
|
- `skill-creator` - Guide for creating new skills
|
|
118
118
|
- `debug-method` - Four-phase debugging framework
|
|
119
119
|
|
|
120
|
-
**Simple Commands (
|
|
120
|
+
**Simple Commands (9)**
|
|
121
121
|
- `optimize` - Performance analysis
|
|
122
122
|
- `refactor` - Maintain behavior while improving code
|
|
123
123
|
- `remember` - Consolidate stashes + friction into project memory
|
|
124
124
|
- `diff-review` - Review a file, branch, or range; verifies findings before fixing
|
|
125
125
|
- `security` - Vulnerability scanning
|
|
126
126
|
- `ship` - Pre-deployment checklist
|
|
127
|
+
- `release` - Deliver a feature end-to-end: verify → docs → merge → tag (publish stays manual)
|
|
127
128
|
- `stash` - Save session context for compaction recovery or handoffs
|
|
128
129
|
- `test-generate` - Test suite generation
|
|
129
130
|
|
|
130
|
-
### Droid/OpenCode:
|
|
131
|
+
### Droid/OpenCode: 18 Commands
|
|
131
132
|
|
|
132
133
|
Same functionality as skills+commands, but:
|
|
133
134
|
- All invoked as commands (no auto-triggering)
|
|
@@ -137,7 +138,7 @@ Same functionality as skills+commands, but:
|
|
|
137
138
|
|
|
138
139
|
**Command Categories**:
|
|
139
140
|
- **Development & Testing (6)**: tdd-flow, test-traps, test-generate, debug-method, trace-back, verify-done
|
|
140
|
-
- **Code Operations (
|
|
141
|
+
- **Code Operations (6)**: refactor, optimize, diff-review, security, ship, release
|
|
141
142
|
- **Session & Memory (5)**: brainstorming, skill-creator, docs-builder, stash, remember
|
|
142
143
|
- **Design (1)**: live-canvas
|
|
143
144
|
|