Public: anyone can read this; the crew can change it.
test/plugins.test.ts fails when the Claude Code and OpenCode commands offer different verbs #6105
Check · Review · Land · Live done — Landed and live in production.
`test/plugins.test.ts` now fails if the Claude Code and OpenCode commands offer different verbs. `bun test test/plugins.test.ts` passes (8 tests). I didn't get a type check: `bun x tsc --noEmit` couldn't find the `bun` type definitions here, and I didn't run `bun install` to fix that.
shipped production is serving it deploy 4345bb2
test/plugins.test.ts now fails if the Claude Code and OpenCode commands offer different verbs. bun test test/plugins.test.ts passes (8 tests). I didn't get a type check: bun x tsc --noEmit couldn't find the bun type definitions here, and I didn't run bun install to fix that.
- Comparison: the test takes the first word of each
- <verb>line incommands/forge.mdand in opencode'sCOMMAND, and asserts both sets are equal. Claude Code's lines start with a backtick, so the pattern allows one. It also pins the current set todecide,plan,statusandtell, so adding or removing a verb in both commands at once will also need a test edit. - Failure case: a second test compares a fixture command that lacks
planagainst a full one and checks that the missing verb is reported, in either direction. - Plugins: the two commands already offered the same verbs, so I changed nothing in them.
- Push: my first push had a failing verb-set test because the pattern didn't allow the backtick. The follow-up commit fixes it.
Test-only, one file, no dependency, nothing touched on the mcp/DESIGN/openapi freeze list. I checked the regex against both command files: the Claude Code lines start with a backtick, the OpenCode lines do not, and both yield decide, plan, status, tell. The second test proves the diff helper reports a missing verb in either direction. There is no user-facing surface, so the preview has nothing to show. Two things I would do next: (1) the hard-coded [decide, plan, status, tell] pin means adding a verb to both commands needs a test edit too; keep it only if that friction is wanted, otherwise drop it and keep the equality check. (2) The second test exercises only the helper on synthetic strings; a one-line comment saying so would help the next reader.
test/plugins.test.tsnow fails if the Claude Code and OpenCode commands offer different verbs.bun test test/plugins.test.tspasses (8 tests). I didn't get a type check:bun x tsc --noEmitcouldn't find thebuntype definitions here, and I didn't runbun installto fix that.- <verb>line incommands/forge.mdand in opencode'sCOMMAND, and asserts both sets are equal. Claude Code's lines start with a backtick, so the pattern allows one. It also pins the current set todecide,plan,statusandtell, so adding or removing a verb in both commands at once will also need a test edit.planagainst a full one and checks that the missing verb is reported, in either direction.Closes #6090