JongHyeok Park
7976e6faf2
feat(skills): make tdd-workflow test-runner aware (npm/pnpm/yarn/bun) ( #2347 )
...
* feat(skills): make tdd-workflow test-runner aware (npm/pnpm/yarn/bun)
Add "Step 0: Detect the Test Runner" so the RED/GREEN cycle no longer
hardcodes `npm test`. Distinguishes the package manager from the test
runner (a project can install with Bun yet run Jest/Vitest), adds a runner
command matrix, and warns about `bun test` (native bun:test runner) vs
`bun run test` (runs the package.json script) — a common ESM failure mode.
Adds a Bun native test pattern section and links the bun-runtime skill.
Applied to both the canonical skills/ copy and the .agents/skills/ Codex
subset (manual sync per CONTRIBUTING).
* docs(skills): apply <test>/<coverage> placeholders in tdd-workflow steps
Address review feedback on PR #2347 : Step 0 instructs the agent to substitute
the detected runner command, but Steps 3/5/7, Run Coverage Report, Watch Mode,
Pre-Commit, and CI/CD still showed literal `npm test` / `npm run test:coverage`
— so an agent reaching those blocks could run npm test on a pnpm/bun project.
Replace them with the <test> / <test-watch> / <coverage> placeholders from
Step 0. Left untouched: the plan-handoff allowlist example and the Step 8
evidence-table samples (illustrative, not run-this instructions). Applied to
both the canonical and Codex-subset copies.
* docs(skills): make pre-commit lint runner-agnostic via <lint> placeholder
Follow-up to PR #2347 review (CodeRabbit): the pre-commit example still used
`npm run lint`, coupling it to npm after test/coverage were made runner-aware.
Add a `<lint>` column to the Step 0 runner matrix (npm run lint / pnpm lint /
yarn lint / bun run lint) and change the Pre-Commit Hook example to
`<test> && <lint>`. Applied to both the canonical and Codex-subset copies.
* chore: re-trigger CI (flaky windows/node20 npm cell)
2026-06-29 18:38:33 -07:00
..
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 17:58:57 +05:30
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-29 18:38:30 -07:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:58:42 +02:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-15 14:21:28 -04:00
2026-06-11 21:12:21 +09:00
2026-06-15 14:09:17 -04:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-29 18:38:22 -07:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-29 18:38:30 -07:00
2026-06-11 21:58:42 +02:00
2026-06-11 21:58:42 +02:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-29 15:50:49 -07:00
2026-06-11 21:12:21 +09:00
2026-06-18 16:49:58 -04:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-29 18:38:27 -07:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-29 18:38:16 -07:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-16 02:15:43 -04:00
2026-06-11 21:12:21 +09:00
2026-02-24 14:39:25 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-29 18:38:24 -07:00
2026-06-16 09:17:18 +08:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-04-05 13:30:55 -07:00
2026-06-11 21:12:21 +09:00
2026-06-07 13:26:45 +08:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-02-24 14:39:25 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-29 18:38:19 -07:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 11:39:26 -04:00
2026-06-11 21:12:21 +09:00
2026-05-12 01:47:05 -04:00
2026-05-12 01:47:05 -04:00
2026-06-07 16:05:28 +08:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-29 18:38:30 -07:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-04-02 17:09:21 -07:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-29 18:38:30 -07:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-15 14:09:17 -04:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-15 14:09:17 -04:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-15 14:09:17 -04:00
2026-06-11 21:12:21 +09:00
2026-02-24 14:39:25 +09:00
2026-06-11 21:12:21 +09:00
2026-02-17 17:04:31 +02:00
2026-06-07 12:43:04 -04:00
2026-06-29 18:38:33 -07:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-15 14:09:17 -04:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00
2026-03-29 21:21:18 -04:00
2026-06-11 21:12:21 +09:00
2026-06-12 19:14:31 +08:00
2026-06-15 14:09:17 -04:00
2026-06-11 21:12:21 +09:00
2026-06-11 21:12:21 +09:00