{"_id":"@wbern/claude-instructions","_rev":"43-3faaca9432a2a0c17fad2216727abb27","name":"@wbern/claude-instructions","dist-tags":{"latest":"2.11.0"},"versions":{"1.0.1":{"name":"@wbern/claude-instructions","version":"1.0.1","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.0.1","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"bde913a09fbeeb045d14b2b5cce37d84d7841509","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.0.1.tgz","fileCount":37,"integrity":"sha512-QsQkW0Px3L0kk2wF10ctIYXTSUS/dvRcktJOq4PiC1wEQRgGlAbQiA8bcV7XxR/tc1NZS7UiqV+BaiUHBVPUXw==","signatures":[{"sig":"MEYCIQDF5uoGb3Pz71WP/jp/I3fmJvyaW3WFN9v44+wBtlA0CwIhALlKXPougtcsbmbne1psac5FsU4ftvA4+ZomMM6p56yg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167491},"type":"module","_from":"file:wbern-claude-instructions-1.0.1.tgz","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"test":"vitest run","build":"bash scripts/build.sh","clean":"rm -rf downloads","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","build:dev":"bash scripts/build-dev.sh","clean:dev":"rm -rf .claude/commands","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"wbern","email":"william@bernting.se"},"_resolved":"/private/var/folders/5j/_3mhl31533l98g51q18lksv80000gn/T/d6fd57a99e998e94fe826e7b759d34c9/wbern-claude-instructions-1.0.1.tgz","_integrity":"sha512-QsQkW0Px3L0kk2wF10ctIYXTSUS/dvRcktJOq4PiC1wEQRgGlAbQiA8bcV7XxR/tc1NZS7UiqV+BaiUHBVPUXw==","repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.5.1","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.6.0","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","tsup":"^8.5.1","husky":"^9.1.7","vitest":"^4.0.8","typescript":"^5.9.3","@types/node":"^24.10.1","markdown-magic":"^4.0.4","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.0.1_1764249240010_0.12129081761350169","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.1.0":{"name":"@wbern/claude-instructions","version":"1.1.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.1.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"1632c72e01ffab6aa34f02bab025bb08d4db2b71","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.1.0.tgz","fileCount":37,"integrity":"sha512-/NvveL5nVu9CoRFfQoKmiaI0cBV240scsA7AdYH8HgwmZzDi3bVN05CrvJt+gsf4UTP/R7Co4voocijcY/GHVQ==","signatures":[{"sig":"MEUCIQDcvTb0tId9bcb6ajAKV/Jo2bsxXRgtKC6GZSTVeqRwmgIgEI2KgJ2HbPcJRK4rQxov7/W/Go+2XY8FrM1D0Ns1GXA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":167603},"type":"module","gitHead":"859978da800c53f04b26df5436ea76fc258ae492","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"test":"vitest run","build":"bash scripts/build.sh","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","build:dev":"bash scripts/build-dev.sh","clean:dev":"rm -rf .claude/commands","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.4","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","tsup":"^8.5.1","husky":"^9.1.7","vitest":"^4.0.8","typescript":"^5.9.3","@types/node":"^24.10.1","markdown-magic":"^4.0.4","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.1.0_1764252453611_0.027016196222486633","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.2.0":{"name":"@wbern/claude-instructions","version":"1.2.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.2.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"28c4caa9809d17621826a0e366a8343decdb0475","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.2.0.tgz","fileCount":37,"integrity":"sha512-N3tEC3nN3QuizAeb2y6ncDhADcy6a8bAtOKX04oSHJg2+EjvZ57Om357Zxthp0SdIEKnXBJeJcg8f6lpYZqupg==","signatures":[{"sig":"MEQCIEtgwQhhiQLFxOuGRnF0ezeapOj+kkRsqet9oF59oeX2AiAkfYfdcT5ibuW8O3h11Q2GaHGwiJDlfmyqPithRd37ow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":169271},"type":"module","gitHead":"4b831a8a6a496cd9cc297560db5bdc3a2846171c","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"test":"vitest run","build":"bash scripts/build.sh","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","build:dev":"bash scripts/build-dev.sh","clean:dev":"rm -rf .claude/commands","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.4","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","tsup":"^8.5.1","husky":"^9.1.7","vitest":"^4.0.8","typescript":"^5.9.3","@types/node":"^24.10.1","markdown-magic":"^4.0.4","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.2.0_1764266170998_0.5339541430279104","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.3.0":{"name":"@wbern/claude-instructions","version":"1.3.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.3.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"75e4298cac62701a95f337d9aad7c1d879f516bc","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.3.0.tgz","fileCount":41,"integrity":"sha512-VOgvkA9lxqQ709eeYuzICX+Km3QiDBT5zb6r+jnyUnCCvy/t8NuXLNs0riqzgVBSN2Pa/7nTt7D+LTfVdqJe2w==","signatures":[{"sig":"MEUCIBazMg/e4tVX0tKV77BVPk4B5f4ybzs0njbHEj0vVoLhAiEAlgB/VO45FA5Fr2/Ex5Tx35NSjpTw8sDejDWZUD105Ao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178659},"type":"module","gitHead":"9623e5484c03289267f8104985eaefbdc6f28ade","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"test":"vitest run","build":"bash scripts/build.sh","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","build:dev":"bash scripts/build-dev.sh","clean:dev":"rm -rf .claude/commands","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.4","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","tsup":"^8.5.1","husky":"^9.1.7","vitest":"^4.0.8","typescript":"^5.9.3","@types/node":"^24.10.1","markdown-magic":"^4.0.4","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.3.0_1764360876302_0.10675735006485687","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.4.0":{"name":"@wbern/claude-instructions","version":"1.4.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.4.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"491ba18a09eb81421cb0cacb9ce704beda3b317c","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.4.0.tgz","fileCount":41,"integrity":"sha512-paeDZn6sF9KvE1En/VMaseBncHzsJTcXnbg1CqoQi7x/CIgb2aFoWWKdvLXIPCehJuBGC8fdWc5W3uAOXUIV2A==","signatures":[{"sig":"MEUCIQC9bR23oddZn4GZaSGzbK6rp6j2t6YxR9QeoHQVz66I9wIgOa1PQOczxfOoqLS4wxPMOEVUqSnKKqWcZuaPAcP4yxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":180678},"type":"module","gitHead":"842bcb1c802578b93d5be41f575571d6b2ce316f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.4","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.8","prettier":"^3.7.2","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","markdown-magic":"^4.0.4","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.4.0_1764455612012_0.0480190394332054","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.5.0":{"name":"@wbern/claude-instructions","version":"1.5.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.5.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"d2095a7fa50b63af3d494a19f448930f826b8bfe","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.5.0.tgz","fileCount":43,"integrity":"sha512-LCyWHvGOduC8+byxT0UgUOwTOZxshDOaXej3EL/ugVpNlG/DjKxxXvds/81ZYzGrGWmgDQWPo3p3RJ2e5nUpGw==","signatures":[{"sig":"MEYCIQDYsQDIaF7zTAD0E9atzVqs1eoZJgHc2KmfPWfxu0dS5AIhAJMWDTVC2yLoVKS2etoYf3+VNGKZXi12ZfBbWHvG6dGN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":192565},"type":"module","gitHead":"b4f856153c8584017ad133d61555ca57ec44db85","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.4","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.8","prettier":"^3.7.2","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","markdown-magic":"^4.0.4","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.5.0_1764701760717_0.06689746561651355","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.6.0":{"name":"@wbern/claude-instructions","version":"1.6.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.6.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"8375d85e220c366adf58e58d7d6a8a5f123ddbfa","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.6.0.tgz","fileCount":43,"integrity":"sha512-4TRau4YYU6XxMM5J3NV06cHGArYn47KGz+CBOxAhs3dO2zlOs81kgRM46zj+DdvXTi03sljqb1/LIWcDo4SRiA==","signatures":[{"sig":"MEUCIQCRzOZ0mLM+ZcGdzU7xcDIV8RuiX+v6Qqs1+yEFNA0LywIgDO++NP/ZtdCWG+usuN3XbiHNd+w6ICpXfa4jAVvPO64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":194772},"type":"module","gitHead":"f5adec03c40fab20f86c91e8e77e952215a23fef","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.4","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.8","prettier":"^3.7.2","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","markdown-magic":"^4.0.4","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.6.0_1764709582708_0.38875850767933895","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.7.0":{"name":"@wbern/claude-instructions","version":"1.7.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.7.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"4f4f7a7045d190ffd5a461f4178bd13e8f861644","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.7.0.tgz","fileCount":43,"integrity":"sha512-B6xQKadgvA+g1u2YsLkNOx4kylaShGgAjqnuBswJlYaiHFZISlHvXdxe3X80xZFtdSGEcaiU7+7gYxi4yjoOuw==","signatures":[{"sig":"MEUCIQDcBep6tiKerV6xsHb96Lstte3Dsl4DQZ8oB0/XMCaXigIgHnev7AA20NISV0QrMgW40txbzxnxVakhprK3Tjk5x24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":195534},"type":"module","gitHead":"7c17d619fffd73ac6bfe1a00ed510d38af20ddb1","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.4","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.8","prettier":"^3.7.2","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","markdown-magic":"^4.0.4","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.7.0_1764751629906_0.5824584431766031","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.8.0":{"name":"@wbern/claude-instructions","version":"1.8.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.8.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"1e18de60ee2c074ccc075da8a77836fa73509e55","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.8.0.tgz","fileCount":43,"integrity":"sha512-DPuyez41eV1QVFFJvCQzI4kHVrk08FfGQt+Ces10rOhdnQbc2tWvpbpxHPr1OWtYUZjRQnOFLaCsf7mKuHwoSw==","signatures":[{"sig":"MEYCIQDopZr6GmApK0yk6Xa3J8LINl9TPdfUmLEEdZuUZzOHKwIhALN1+i2aKzRuQAc8aL7SPi90vcqcqH0xd0Ly6w0ll+Cr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":201264},"type":"module","gitHead":"ad906cce50cf8a15dc4023b732c2b563fdbd9aca","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.4","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.8","prettier":"^3.7.2","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","markdown-magic":"^4.0.4","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.8.0_1764772050307_0.41635987278584996","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.8.1":{"name":"@wbern/claude-instructions","version":"1.8.1","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.8.1","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"3d814d15ef302e95eb9b9bed4b1461467e7fc1db","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.8.1.tgz","fileCount":43,"integrity":"sha512-Mvm9yGQLCCvyo/erwNNtBuGmcuu63h9qJUZPW0xj91+EcJWRnVMVqR5+LXpldw8md49rlhH7UlTwdCm2e1ZOVQ==","signatures":[{"sig":"MEYCIQCXU2y0wRTSwb8lNjhqT8xn8rxm3sB8BRF+K4xOFBvNxQIhAKUPlC+b2jNcGTYCt5DiVVW4oxwti9YZQeWxAGPJB+e5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":201254},"type":"module","gitHead":"de770c84281164dd7ba54c7822594e28a2272607","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.4","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.8","prettier":"^3.7.2","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","markdown-magic":"^4.0.4","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.8.1_1764844189895_0.23810063058183917","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.9.0":{"name":"@wbern/claude-instructions","version":"1.9.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.9.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"a7d348c05e199ee80b8e419cac3a9a421ebabad3","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.9.0.tgz","fileCount":45,"integrity":"sha512-mgfh6Y3T+see7s7BGutYlWm3SqIHTgkbRWiTMFMmBdqgqo6V+qQ8OMYBVssFhxKM3kKjxivW/vgpq7W/9qq3Pg==","signatures":[{"sig":"MEYCIQD3/QqfHR159bsOhVcEd3m6ke+lGYHRsT+ktHxdjSCHFgIhAKSf7Md7xtCYaa157fLs/FcdIsb8HBa2rzCkDOZRNwDv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":222955},"type":"module","gitHead":"e95257e7d40904b1fb6fd8ddcf49859dd60597bd","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.4","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.8","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","markdown-magic":"^4.0.4","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.9.0_1764949073816_0.9614161779429911","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.10.0":{"name":"@wbern/claude-instructions","version":"1.10.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.10.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"09bfc5a2625a05c0b61322b041fc114453d00b1b","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.10.0.tgz","fileCount":48,"integrity":"sha512-78iFHqkQzU58i+/aFdW6lOLnqwrzufqgbJdh4H+lG3Un9XBQuoSTlOVD34YCZxTkqn2SXKcfbexgGgSD0nFxDw==","signatures":[{"sig":"MEQCIHqLy5ORdDYkPtLjNqMAzRmP5YSDzyrjdOC+5OQ6zq+HAiAQAYSWkHQ63ISeFCd2mswC4ziRQOvk43g+Fxby7E3P6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":248085},"type":"module","gitHead":"16a1a3fb2aea7778d4efb5d122c7224ac4138292","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.10.0_1765379206019_0.0647458534838441","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.11.0":{"name":"@wbern/claude-instructions","version":"1.11.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.11.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"f1f989525edbfa4044200e72cfbfe1cb25f6d392","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.11.0.tgz","fileCount":48,"integrity":"sha512-sU1JhwUWdGUkgWFQceRINuwsYlEOJo5yNCQ9pNJf0aLtp+WtIfZwfg0GYbKOalZIoJFW/+rqcvJvrJTYqmPcKA==","signatures":[{"sig":"MEQCICDQnyB1MNvHsTbMNaX/a4f6yb/g3KeWLkbjbD902pM1AiB7GqsTVmnFXsZZOLaC4ZiQA+NL/lS1amNEUsP6kXBFcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256489},"type":"module","gitHead":"e714c811a0a5bda73716c81262005b9200faad31","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.11.0_1765402857912_0.5857074083815372","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.12.0":{"name":"@wbern/claude-instructions","version":"1.12.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.12.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"0c8f55342e5255734be3122c2d91b52a8473a8d8","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.12.0.tgz","fileCount":48,"integrity":"sha512-tfaXRmg+Op3OqU3JK8pF4jipgLSxS9aWQuxsfz5fkSWRyoP7n26nbV4kIftV1dYR2HQGJnLGVvEtziAnk4xZAw==","signatures":[{"sig":"MEQCIBUayj4Ic66Ft+icMbSmjNd80w1/xjz9LDiYCeyRP2hCAiAgy83Jrw5k1/+pItC+oJGQa2t1Ei2TyMyHmE8iNzHh1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":262671},"type":"module","gitHead":"b74f6cd383fe14eb77cf62c20927b8bbf836bf48","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.12.0_1765453214253_0.8931418333194541","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.13.0":{"name":"@wbern/claude-instructions","version":"1.13.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.13.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"fa669b92248f02b10ae985be41d395477397cc7e","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.13.0.tgz","fileCount":48,"integrity":"sha512-2MDoytwOpbW0l7Zf9rKURbO44NrDh8ZOS4/FvB/2RiqtU3GSakrqiYoXUcr8q9sHlAWh8kqOsKrvkVewGS1oUg==","signatures":[{"sig":"MEUCIHGvHdM69CGpha0x5CuUCbDLP8C+qZtEx3D05QZk5lOgAiEA4PhVoX8D/dI29PKVNyh6c6h6FpTvl7obbXDwkwfy8eY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":263949},"type":"module","gitHead":"d637bc51c71f7478d4ad007a4e1f83bec88c3f1c","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.13.0_1765466874186_0.3104291706526119","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.14.0":{"name":"@wbern/claude-instructions","version":"1.14.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.14.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"b379d3ec2af555c81fc487a3731640de996aaafb","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.14.0.tgz","fileCount":48,"integrity":"sha512-1KXUj+UrkAEP4zJSR4senrWcSFPPnctUyP+lZ9zar479l10g7ohahiAbZFtlQepmMIKr7ZNFLORXblBSp9QADA==","signatures":[{"sig":"MEUCIGrygLfH10M8PXybZBd7yvqTROJ/3arSgAPs2l2BJ8JSAiEAktKB52GJC5Wv/x5e35F+gcvfyWTPuw5/geW5JlUSalw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":264508},"type":"module","gitHead":"440e8624e5f5334459018fc8fa461d8f812c70ff","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.14.0_1765536236580_0.15266650895223277","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.15.0":{"name":"@wbern/claude-instructions","version":"1.15.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.15.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"db6bf164a263740d813ae62145202510fc729174","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.15.0.tgz","fileCount":48,"integrity":"sha512-PkyR48W0tQVXL2OUwKWgnpksRP5TOzcrGKEMw5b4GGwE6DoecRTq9LqkMR7l1u7MLXvhobBHxm1xs7dSJ0ciyg==","signatures":[{"sig":"MEUCIQDrILCdM8WH342mzvswm5poerJlF8FVrdXH7F6SX8OqOAIgWB1PlW0nZSWmv+wgieyYUtTzngi7iwTyQjpcqJVXSls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":265181},"type":"module","gitHead":"5a6cf147c47727ffa5a3ca11ef10e64660a389bc","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.15.0_1765550632708_0.4289006631392218","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.16.0":{"name":"@wbern/claude-instructions","version":"1.16.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.16.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"0b1db574cc2f52337e67089997f99a0e7880536c","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.16.0.tgz","fileCount":48,"integrity":"sha512-/QwFxsygJXaCiNbnSyK9F5AujO3LelR29A+Icyu2qY8ob+qcYK1CrBbRtESIVM6wLCzNEiHAK+Q92WBWtOwl9w==","signatures":[{"sig":"MEQCIHuYoh9e2EKMZV4JAxeEjjsjjjxS5OORqqJvE/quxQ0QAiA0AEudgo7NNg3t2sKZ0y1MUnZK8H+F+/Kso6QsES+6dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":265577},"type":"module","gitHead":"4d75ab5848523b70f93ad435aba3b90cba98b735","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.16.0_1765552093982_0.9216722761100411","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.17.0":{"name":"@wbern/claude-instructions","version":"1.17.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.17.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"b22b56c3905e690f8dcfc32278af7ce7f0f9ffcb","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.17.0.tgz","fileCount":48,"integrity":"sha512-S2YOM55nyfaXCr3t4/cz4EeWu7lhFrI295Jvy+WzG2w/4GId7ICYRsNKO2UIwi6in1afIx6UBx4ed1Ry9H2IDA==","signatures":[{"sig":"MEUCIQCRpnocDU2rNqCQECeTOWedV1PkhDI9tfTWGmqL/awEYwIgLShACzktck0t43kqe54aY5bp9zRVzjOphroH+gDkz64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":265703},"type":"module","gitHead":"992d5e0042e2bb1b14c69e1312ac5f402bf7affb","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.17.0_1765713941901_0.061687916497439765","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.18.0":{"name":"@wbern/claude-instructions","version":"1.18.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.18.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"48a0e7695fe6eeeda84677cf171c4eede06864bd","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.18.0.tgz","fileCount":50,"integrity":"sha512-i26eG+NOT5tNLoKCqewhzrCie4aywjxJp9XDx76tyJxBxnf2TZ3GlQ06ECbuX8hfof/Q2foov5Md0fSYpQ3VQg==","signatures":[{"sig":"MEQCIBku51k3J0hnmzkEC0+YmHEkadmJ+6LYc6mhy92cfP57AiBqX1t1nb7nfByJP11B+pGhbFg31q8NH79AlNdEj9U4rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":299547},"type":"module","gitHead":"443ebb0df24f843b9ea625d71a15f844c2f35f6c","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.18.0_1765742483129_0.8057304386863986","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.18.1":{"name":"@wbern/claude-instructions","version":"1.18.1","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.18.1","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"59f0e0408bbbe931dc6c96e5b566f735a23b14c6","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.18.1.tgz","fileCount":50,"integrity":"sha512-Zl51iEUzmjfmAZYr5bZ3r2fHV2baZRwTy5DfZ+UhkWKW8Uwy2ai+UNKE8l4EpcgDWRgb9H9n/O443/zsx7B4pQ==","signatures":[{"sig":"MEQCIDdUO96VGeBNNqDFWzHv0pxDEgg2jHOBRGyuSHctQ3ALAiBhPM8pD5uD30Z0Y7vGNV7AhhtZRdoSVUUrgR3LZDJliA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.18.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":299707},"type":"module","gitHead":"28629a8eec0d007a772ddb7dc4cae68cd834ef51","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.18.1_1765789603488_0.3142156800026479","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.19.0":{"name":"@wbern/claude-instructions","version":"1.19.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.19.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"05557591bc1aca9e642f709ac70d97d708a2abe8","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.19.0.tgz","fileCount":52,"integrity":"sha512-UbX+wmXM/kQC2TZ546+riPa2ovictwfbi6bqOFtGC9n9gJRaXbQ3n6ATk6GERhDgnfZlGSlLvSV6sMZnszV0Tg==","signatures":[{"sig":"MEQCIHo7M94RgJHCiAbbo9mbq4h9A4jXsX7EBrqEQnNVWX0cAiBJGPTNC6fWGntS3eRx5HegT8DMmaS4O99356LiHs2rAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":310297},"type":"module","gitHead":"85fabf4f48c92394787c9f9e8003c093c791bd89","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","markdownlint":"^0.40.0","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.19.0_1765807013535_0.95846011779453","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.20.0":{"name":"@wbern/claude-instructions","version":"1.20.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.20.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"0cbc550390ab6f867459a0f57cf780f58132a413","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.20.0.tgz","fileCount":52,"integrity":"sha512-htmvnhlCMvdNx90c9TQgFY2vFDQPPo577nUALTFtW5BwxgoTlnjb/IHsi7mGzYQocNjkWZPEnmxR5q74vBMy+w==","signatures":[{"sig":"MEYCIQCe+JM768Cm6MkienSMAhucw8uQeo6aFbLSaIBdcWaU9gIhAMbjulBWu+s3k1vQ5X5wM3rgk8draVXQxABx6XDdxrI+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":310747},"type":"module","gitHead":"8edecce31d1bb9f03da70525ea84bfff199c5a00","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","markdownlint":"^0.40.0","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.20.0_1765813098903_0.9899383882375312","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"1.21.0":{"name":"@wbern/claude-instructions","version":"1.21.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@1.21.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"7daeec60d13c28bad45dbcd8482d89eeb9ab4bd8","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-1.21.0.tgz","fileCount":52,"integrity":"sha512-lkf86kCR5GewWgMhFJt+K+ZX946ZACpIFHywdlRckw7kljz57yk1YFWvYhzHBA6QYR69GDMf06jS9XYDGtq7Cw==","signatures":[{"sig":"MEUCIHCkbtIhuET3AGT7VupA2+Di9++TfQfvltNP0Cor5HThAiEAopp40gNbR6xTDqdliH4riTX0Y2nJF18kzD+motsRNgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@1.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":310353},"type":"module","gitHead":"6794e06614a2f4b2c2ef77ac93cf6168cf7f146b","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","clean":"rm -rf downloads","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","markdownlint":"^0.40.0","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_1.21.0_1765835122489_0.3318772947939628","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.0.0":{"name":"@wbern/claude-instructions","version":"2.0.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.0.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"6ec41a150dac660218edccd8aaa075f8d2c65a24","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.0.0.tgz","fileCount":49,"integrity":"sha512-5Jqi1OqgVZTKP1AFGM3SKKjkTDpHMlStjRF2r4pv3jov6ld4O8yv61uCf+yweG8VMrxBP/gYKBGDMTV03SIaRg==","signatures":[{"sig":"MEUCIBzISZB3ol+yO1Zw+q1avcK1FqnuiYFfgx1qC1RXn2PnAiEAyGtb0LrE7UmnGAxCWoD6mYs5V806PJg03x2/fNX/yQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":164236},"type":"module","gitHead":"ad4f066cb9cf81ec26428573a27b8f0e3637e3b1","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"tsx scripts/build.ts","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","test:coverage":"vitest run --coverage","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fs-extra":"^11.3.2","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","markdownlint":"^0.40.0","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.0.0_1765902072385_0.3082260062942894","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.1.0":{"name":"@wbern/claude-instructions","version":"2.1.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.1.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"91c01ff3f1637bce79e34a2c54d6bd1b6e41567e","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.1.0.tgz","fileCount":50,"integrity":"sha512-FtIjJYB+CgmYVs7+7R9PKYKLhF8JpFGzhJssoj5CV8QjDe7/XGXEOnISAsOkvfHlLAwr7a4oTrSDPMkAPD3BlA==","signatures":[{"sig":"MEUCID14094Rs2I3Yr3Ak/Ti+KtmDfW8xNv1y+BDXu86504YAiEAmSNGkx+JulZUPW3Q+JxkpMpNZs46CfL2mlqQNuiWHAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166375},"type":"module","gitHead":"1debb66ca08ff75a0eabe11d8539c652ddadb13b","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && node bin/cli.js --scope=project --flags=beads,no-plan-files --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.12.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.2","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.1.0_1766349696496_0.7863890506303286","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.2.0":{"name":"@wbern/claude-instructions","version":"2.2.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.2.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"dc44755da16d176c38061d9fcfb759d13cbcf02c","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.2.0.tgz","fileCount":51,"integrity":"sha512-rVpcuTpoRYmmE0pnM/oqRopqxyndUOhJtHLLwAeTFoQcMrd7dsziaf8hEZO7LNuXGhLPJTHU9eiiUE0ig2Zoxw==","signatures":[{"sig":"MEUCIQDtjNUMbhDdoIf+GwrtTudVo8zJGt00StXmvmjf87oI2QIgLunHgEkBIZwIM+Cb4DSfbv7jUWLQIEYJcwVub0eFVng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171732},"type":"module","gitHead":"aff55f2078f5624611f09cb4cfb9c18c267ec8c2","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && node bin/cli.js --scope=project --flags=beads,no-plan-files --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.12.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.2","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.2.0_1766355478144_0.5220185076508568","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.2.1":{"name":"@wbern/claude-instructions","version":"2.2.1","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.2.1","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"0cbd7b49298df57e10a60585f20645d94a636ec0","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.2.1.tgz","fileCount":51,"integrity":"sha512-qOaPKmZQlGNik3J50/DIwP9EM5Exheg+Tp5L2FOjbSzJhGWWf4tltyAVEAC21QG9jXB5JKAaIFsSFD4YENf0SQ==","signatures":[{"sig":"MEQCIA5F+PKkByy6+5zVXYYuDiAMRYD5WlD2k5xdwff1eKZoAiBiy+GsI8PtArd6jeAcHdWtRwkL0ohJpbuWJxNwlYjuCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174222},"type":"module","gitHead":"2ac3f93ce72c88da77b34731ab50a08fb82303fa","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && node bin/cli.js --scope=project --flags=beads,no-plan-files --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.7.0","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.12.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.2","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.2.1_1766359315258_0.37769044087374826","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.3.0":{"name":"@wbern/claude-instructions","version":"2.3.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.3.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"70072dee9f657c4aae1935c53088dd3172d69182","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.3.0.tgz","fileCount":51,"integrity":"sha512-biXFZzs6S3/ZflVzGI+ONaIepdqA8Xj6gW21BaQb6ViwvTvqZpWMy4bwbueTDv7LdA+pJoLvgYbDgIobIOFxEQ==","signatures":[{"sig":"MEQCIFsJlhFQF0ExRNNBFzXXwfPxCYEtDalmB6+0pEMnL/dpAiBBJWgyf8BM7NC5GjjwDRA3X7PbXk3lgz/V/5/zOwDF0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174837},"type":"module","gitHead":"16fc99bdb8dc8295e26018ac9f48707703c676ee","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version}"}]],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && rm -f .claude/commands/*.md && node bin/cli.js --scope=project --flags=beads,no-plan-files --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.2","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.12.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.2","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","semantic-release":"^25.0.2","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15","@semantic-release/git":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.3.0_1766411731521_0.023798997301577973","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.4.0":{"name":"@wbern/claude-instructions","version":"2.4.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.4.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"49a9fc5902c5f9c8c781f0ce9f6f5c790b32e23e","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.4.0.tgz","fileCount":51,"integrity":"sha512-UYlkCOfCl3zJSwLxDCDarCReVXdMcH3S3JcQ4Mb1EB5UJrakppVxDKaTukucqGqIh04SG8CpNHXTnU/T4SraOQ==","signatures":[{"sig":"MEQCIGIp2sSbiGoJ40fNVLfiGinlJsfRAz/4vc2rOVxjxEMmAiB3ByLoW4uRyRnKyNWIMaXzHbcS/1N3A5fpIUSeevc1zw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":175688},"type":"module","gitHead":"f6183890a531f1d8accb591eec77c82ee3604465","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version}"}]],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && rm -f .claude/commands/*.md && node bin/cli.js --scope=project --flags=beads,no-plan-files --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.2","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.12.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.2","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","diff":"^8.0.2","knip":"^5.70.2","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","eslint":"^9.39.1","vitest":"^4.0.15","prettier":"^3.7.2","@eslint/js":"^9.39.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.46.0","semantic-release":"^25.0.2","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.15","@semantic-release/git":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.4.0_1766506124863_0.06954894894954688","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.4.1":{"name":"@wbern/claude-instructions","version":"2.4.1","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.4.1","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"304ae84f65550765696213d1ebf5c01234ec501f","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.4.1.tgz","fileCount":51,"integrity":"sha512-tHQg2oy+L9xEWuiMmPRwSxp9BqYsUqE/hzrNxDi3J1mWXVCaIye6340hLC7SIbxSEXow1vvHmQ1E50f0tp5ijw==","signatures":[{"sig":"MEYCIQC9PHpM8R4dvmyXT2S7EFARcH3TJasVPIjOHfK0PVX7ggIhAIGwtZ8Tq804fZDz8/KrKn/dPAGRY9Boi/opiUNXZ6fG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":175611},"type":"module","gitHead":"2022a9486b49b06b9dde00303fa91a870dba6a58","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version}"}]],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && rm -f .claude/commands/*.md && node bin/cli.js --scope=project --flags=beads,no-plan-files --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.2","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.12.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.3","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","diff":"^8.0.2","knip":"^5.77.0","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","vitest":"^4.0.16","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@biomejs/biome":"^2.3.10","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.47.0","semantic-release":"^25.0.2","@vitest/coverage-v8":"^4.0.16","@semantic-release/git":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.4.1_1766616512532_0.5966777086438073","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.5.0":{"name":"@wbern/claude-instructions","version":"2.5.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.5.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"15d12d2ba8a44691913803b8c41e7f94184bc2f0","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.5.0.tgz","fileCount":51,"integrity":"sha512-gW6JWRNx2Rho7ichsz4uZHWxyI36UMrYKIX/8T2QK9MocOF73N3XlBf5kQLUU3Jur3N37ZBenOsbkLs0knRFDA==","signatures":[{"sig":"MEYCIQDguSTyybSbEi1z53x4kexo1fWlP+qPzfOsi5qAGIcLSwIhAJ0kclkzv7ZFhupxeBVYg4f37YdqCZlRQ6krY+0bXGsd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176993},"type":"module","gitHead":"7e518664618ce77f905b1d67bc49d3d0024afa3e","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version}"}]],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && rm -f .claude/commands/*.md && node bin/cli.js --scope=project --flags=beads,no-plan-files --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.2","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.12.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.3","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","diff":"^8.0.2","knip":"^5.77.0","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","vitest":"^4.0.16","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@biomejs/biome":"^2.3.10","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.47.0","semantic-release":"^25.0.2","@vitest/coverage-v8":"^4.0.16","@semantic-release/git":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.5.0_1766744245521_0.6324218807566722","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.6.0":{"name":"@wbern/claude-instructions","version":"2.6.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.6.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"86cee8c19357aea77418e310b02456d7e12d4d0b","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.6.0.tgz","fileCount":55,"integrity":"sha512-qIlY+CnARRtQnznLEIjObOQLA3bm7bO2D26NxR2Bj9gOuAFfne5u4TX9qfZfaCH6sh1Chp/i/xY0IY07kRfSPg==","signatures":[{"sig":"MEUCIGWGObwMH4OdlZUtnf31HHnByi35Ya36TXVmjaSfUDSmAiEAjau4ZAE/EQlMHoDzNnHqI7TNEM++OWmvmY5SrPKzvso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184954},"type":"module","gitHead":"d9deebd49d2556de92a4d0c597530aea76f886f8","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version}"}]],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && rm -f .claude/commands/*.md && node bin/cli.js --scope=project --flags=beads,no-plan-files --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.2","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.12.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.3","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","diff":"^8.0.2","knip":"^5.77.0","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","vitest":"^4.0.16","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@biomejs/biome":"^2.3.10","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.47.0","semantic-release":"^25.0.2","@vitest/coverage-v8":"^4.0.16","@semantic-release/git":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.6.0_1766860422588_0.4698869223635924","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.7.0":{"name":"@wbern/claude-instructions","version":"2.7.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.7.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"a6b68365223da59c37ad5d43e6ea9ddc6ca649cf","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.7.0.tgz","fileCount":56,"integrity":"sha512-7/RA2oLl1KdDOb521NkiWuiwLTOcihgxkf6NkLt6tS1BefrLtCjE1n0wqbe9gxOF7dubKIbPALKS+JR+h7bwbQ==","signatures":[{"sig":"MEUCIBH3rrxUPHhiWWtOXE2znSc4JvbMB3VJmwxZxef1dR3KAiEA/FGKPnHGPP7kX0Dpl7igegDWIboyXrNmC5DRRGoIEQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":187205},"type":"module","gitHead":"4df671e9ae8b962c2695f4aac4231b421aec0c1f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version}"}]],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && rm -f .claude/commands/*.md && node bin/cli.js --scope=project --flags=beads,no-plan-files --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.2","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.12.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.3","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","diff":"^8.0.2","knip":"^5.77.0","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","vitest":"^4.0.16","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@biomejs/biome":"^2.3.10","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.47.0","semantic-release":"^25.0.2","@vitest/coverage-v8":"^4.0.16","@semantic-release/git":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.7.0_1766868173838_0.7658342462390018","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.8.0":{"name":"@wbern/claude-instructions","version":"2.8.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.8.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"8dd068f4f4f12e5323291ca0a97dbd679d4120a4","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.8.0.tgz","fileCount":56,"integrity":"sha512-9bmSPrWAvGv9cBA8zVfLS8cC9BtP13/FG/IQwNwgCx61i+jewPb00G1gTzBvPSBHBtmTrDGjhKei/ZDK8HSgxA==","signatures":[{"sig":"MEQCIFqqxyaTJLklIgbmsQfq/XnF3HXYLxp1lvLrG2Z7G32ZAiBQKZuu5cC89fXC9K4nvRj4qkYQWafe4P84g0iBNCANxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":187375},"type":"module","gitHead":"4d5ce89ca1fa330537872fcfdc30ef4fc698f77d","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version}"}]],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && rm -f .claude/commands/*.md && node bin/cli.js --scope=project --flags=beads,no-plan-files --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.2","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.12.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.3","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","diff":"^8.0.2","knip":"^5.77.0","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","vitest":"^4.0.16","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@biomejs/biome":"^2.3.10","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.47.0","semantic-release":"^25.0.2","@vitest/coverage-v8":"^4.0.16","@semantic-release/git":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.8.0_1767048982341_0.31904666618050714","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.8.1":{"name":"@wbern/claude-instructions","version":"2.8.1","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.8.1","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"a3e816ed91a03cfd53cfc45aa0f6c9f371caecd1","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.8.1.tgz","fileCount":56,"integrity":"sha512-Xix+r418vexLK/GCt40NqXwUYX3ComFL4pDgijL5XtWHLi/bdPANjLaTR8UdtX+/t6wRqQZovv1PocYViII1hw==","signatures":[{"sig":"MEUCIHNvzVjhQ3JZjn1s7auJyomz2yAi5Ffm1ZRNn/yWwslZAiEA6rbbp/IX5VFpPJ51rbSs1YMQR6C/FZwD8H54sJEzaLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":187400},"type":"module","gitHead":"0826c0fcfa9189a1bc0a2c8c65b82ff7a583381d","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version}"}]],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && rm -f .claude/commands/*.md && node bin/cli.js --scope=project --flags=beads,no-plan-files --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.2","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.12.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.3","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","diff":"^8.0.2","knip":"^5.77.0","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","vitest":"^4.0.16","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@biomejs/biome":"^2.3.10","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.47.0","semantic-release":"^25.0.2","@vitest/coverage-v8":"^4.0.16","@semantic-release/git":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.8.1_1767090823193_0.5851024476922406","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.9.0":{"name":"@wbern/claude-instructions","version":"2.9.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.9.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"0c1b56bfedd0da3eb1df03c2b1afd616bfcf690b","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.9.0.tgz","fileCount":59,"integrity":"sha512-bmefb3w3r8M4y9tqhp9uipZCZCujZaCyNNZuGi+aVJYQB1UKub0wGPx4Tl409D/KHfPyo95uTILGxiLSvo/eNw==","signatures":[{"sig":"MEQCICwxrv64VnUhYcwn2GIcr38Gqcmm9by5IIbqRj7xKhu6AiAZXM4vEpJ99x2qc4zNgiT2cAmIpbxOxg2I2FToKQOuhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":196961},"type":"module","gitHead":"5c35f57975b16ed7b3a80273f8f43f58dec967b7","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version}"}]],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && rm -f .claude/commands/*.md && node bin/cli.js --scope=project --flags=beads,no-plan-files --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.2","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.3","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","diff":"^8.0.2","knip":"^5.77.0","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","vitest":"^4.0.16","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@biomejs/biome":"^2.3.10","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.47.0","semantic-release":"^25.0.2","@vitest/coverage-v8":"^4.0.16","@semantic-release/git":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.9.0_1769964857827_0.4306648769025241","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.9.1":{"name":"@wbern/claude-instructions","version":"2.9.1","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.9.1","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"8c1308c27c5f16f14a9ae054ca88309e13158241","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.9.1.tgz","fileCount":59,"integrity":"sha512-d9mgnTyRbfVqY0ac8HzhiIyPBSUfu4Myv7BEadp2Q5iqoXAOInih1VtBO/xrW1gpEsZpU/2Vegq7NEbqQOVJjg==","signatures":[{"sig":"MEUCIQC/t4Ui5bzHiQXjsfQLckRczH7Xlm3tyU+eWBEXFczZvgIgQCf+qgDV93HxaEFeJJ9rXJBZcH8qtui5qY8y4ZwBQk4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":198407},"type":"module","gitHead":"eb3a4b5e2810dc34fcb7c4c1084c082b492546cb","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version}"}]],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && rm -f .claude/commands/*.md && node bin/cli.js --scope=project --flags=beads,no-plan-files --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.2","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.3","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","diff":"^8.0.2","knip":"^5.77.0","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","vitest":"^4.0.16","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@biomejs/biome":"^2.3.10","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.47.0","semantic-release":"^25.0.2","@vitest/coverage-v8":"^4.0.16","@semantic-release/git":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.9.1_1769966176807_0.8496298038947481","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.10.0":{"name":"@wbern/claude-instructions","version":"2.10.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.10.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"1de1ebbe6a37728b5e23ac6979ad549b23d23a9d","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.10.0.tgz","fileCount":67,"integrity":"sha512-pl4SIb4jcSgpoDKaRZJZlUtdUjOg/39WKgxWwnWXGOC9h3tWMFnOyBBxt7yqoqVePcX/18pGYb3GpRJDsQa1hA==","signatures":[{"sig":"MEQCIAsLBUJTXwtdA7lubqM9aNC/2RxoRXn+ecFq3K2eEEpLAiBkCdKS2T7LWSNhDnSpzEcqWbRyC12TugLq/1HKzDyyzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":213615},"type":"module","gitHead":"349fa968e73e8b354e7c55c337af1288cadd9a2f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version}"}]],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && rm -f .claude/commands/*.md && rm -rf .claude/skills && node bin/cli.js --scope=project --flags=beads,no-plan-files --skills=tdd.md --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.2","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.3","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","diff":"^8.0.2","knip":"^5.77.0","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","vitest":"^4.0.16","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@biomejs/biome":"^2.3.10","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.47.0","semantic-release":"^25.0.2","@vitest/coverage-v8":"^4.0.16","@semantic-release/git":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.10.0_1770111536981_0.5141482204958296","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"},"2.11.0":{"name":"@wbern/claude-instructions","version":"2.11.0","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"author":{"name":"wbern"},"license":"MIT","_id":"@wbern/claude-instructions@2.11.0","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"homepage":"https://github.com/wbern/claude-instructions#readme","bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"bin":{"claude-instructions":"bin/cli.js"},"dist":{"shasum":"d61c2b34f74c0b8ff9e8b420640ba3cc508faf2c","tarball":"https://registry.npmjs.org/@wbern/claude-instructions/-/claude-instructions-2.11.0.tgz","fileCount":67,"integrity":"sha512-i9Lx3EACX6f0NRoXlRE7OhaHt8LsDTtYR0//vfXL6RkEU+RMMQ3B+ZvXtXxgZyuNyS6g7iIjSvdAfHfp6fPzTQ==","signatures":[{"sig":"MEUCIENjRzQSfaCl2yFJJ7+mcBd8O3DnxAB8CiNnH9QLxmhJAiEAnJZ6SSKPvx3e8p9Ww/+N5ibhPT2XEbphN+J7FNYxTB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@wbern%2fclaude-instructions@2.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215981},"type":"module","gitHead":"5aa47a493d2201d215f02057e17424b28497f794","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version}"}]],"branches":["main"]},"scripts":{"knip":"knip","test":"vitest run","build":"pnpm build:readme && pnpm build:commands && pnpm exec markdownlint --fix .claude/commands/*.md","prepare":"husky","generate":"tsx scripts/cli-generator.ts","build:cli":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:manual":"pnpm build:cli && TMPDIR=$(mktemp -d) && pnpm pack --pack-destination $TMPDIR && cd $TMPDIR && tar -xzf *.tgz && cd package && pnpm i && node bin/cli.js","build:readme":"tsx scripts/build.ts","test:coverage":"vitest run --coverage","build:commands":"pnpm build:cli && rm -f .claude/commands/*.md && rm -rf .claude/skills && node bin/cli.js --scope=project --flags=beads,no-plan-files --skills=tdd.md --include-contrib-commands --overwrite","prepublishOnly":"bash scripts/check-publish.sh && pnpm build && pnpm build:cli","duplication-check":"jscpd","test:quick-manual":"pnpm build:cli && node bin/cli.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:951dcb84-96c0-4844-8b06-583abe097d02"}},"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"_npmVersion":"11.6.2","description":"TDD workflow commands for Claude Code CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"valibot":"^1.2.0","fs-extra":"^11.3.3","markdownlint":"^0.40.0","@clack/prompts":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","diff":"^8.0.2","knip":"^5.77.0","tsup":"^8.5.1","husky":"^9.1.7","jscpd":"^4.0.5","vitest":"^4.0.16","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@biomejs/biome":"^2.3.10","@types/fs-extra":"^11.0.4","markdownlint-cli":"^0.47.0","semantic-release":"^25.0.2","@vitest/coverage-v8":"^4.0.16","@semantic-release/git":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-instructions_2.11.0_1772026308915_0.9773387015887758","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @wbern/agent-instructions"}},"time":{"created":"2025-11-27T13:13:59.915Z","modified":"2026-05-14T15:51:15.321Z","1.0.0":"2025-11-27T12:49:04.726Z","1.0.1":"2025-11-27T13:14:00.194Z","1.1.0":"2025-11-27T14:07:33.793Z","1.2.0":"2025-11-27T17:56:11.235Z","1.3.0":"2025-11-28T20:14:36.496Z","1.4.0":"2025-11-29T22:33:32.235Z","1.5.0":"2025-12-02T18:56:00.906Z","1.6.0":"2025-12-02T21:06:22.902Z","1.7.0":"2025-12-03T08:47:10.109Z","1.8.0":"2025-12-03T14:27:30.478Z","1.8.1":"2025-12-04T10:29:50.060Z","1.9.0":"2025-12-05T15:37:53.958Z","1.10.0":"2025-12-10T15:06:46.226Z","1.11.0":"2025-12-10T21:40:58.061Z","1.12.0":"2025-12-11T11:40:14.402Z","1.13.0":"2025-12-11T15:27:54.342Z","1.14.0":"2025-12-12T10:43:56.723Z","1.15.0":"2025-12-12T14:43:52.874Z","1.16.0":"2025-12-12T15:08:14.116Z","1.17.0":"2025-12-14T12:05:42.105Z","1.18.0":"2025-12-14T20:01:23.302Z","1.18.1":"2025-12-15T09:06:43.634Z","1.19.0":"2025-12-15T13:56:53.675Z","1.20.0":"2025-12-15T15:38:19.064Z","1.21.0":"2025-12-15T21:45:22.692Z","2.0.0":"2025-12-16T16:21:12.520Z","2.1.0":"2025-12-21T20:41:36.635Z","2.2.0":"2025-12-21T22:17:58.287Z","2.2.1":"2025-12-21T23:21:55.418Z","2.3.0":"2025-12-22T13:55:31.682Z","2.4.0":"2025-12-23T16:08:45.023Z","2.4.1":"2025-12-24T22:48:32.679Z","2.5.0":"2025-12-26T10:17:25.679Z","2.6.0":"2025-12-27T18:33:42.744Z","2.7.0":"2025-12-27T20:42:53.993Z","2.8.0":"2025-12-29T22:56:22.473Z","2.8.1":"2025-12-30T10:33:43.318Z","2.9.0":"2026-02-01T16:54:17.975Z","2.9.1":"2026-02-01T17:16:16.961Z","2.10.0":"2026-02-03T09:38:57.114Z","2.11.0":"2026-02-25T13:31:49.070Z"},"bugs":{"url":"https://github.com/wbern/claude-instructions/issues"},"author":{"name":"wbern"},"license":"MIT","homepage":"https://github.com/wbern/claude-instructions#readme","keywords":["claude","claude-code","tdd","test-driven-development","ai","cli"],"repository":{"url":"git+https://github.com/wbern/claude-instructions.git","type":"git"},"description":"TDD workflow commands for Claude Code CLI","maintainers":[{"name":"wbern","email":"william@bernting.se"}],"readme":"<!--\n  ⚠️ DO NOT EDIT THIS FILE DIRECTLY\n  Edit src/README.md instead - this file is auto-generated by pnpm build\n-->\n\n# @wbern/claude-instructions\n\n[![npm version](https://img.shields.io/npm/v/@wbern/claude-instructions)](https://www.npmjs.com/package/@wbern/claude-instructions)\n[![npm downloads](https://img.shields.io/npm/dm/@wbern/claude-instructions)](https://www.npmjs.com/package/@wbern/claude-instructions)\n[![CI](https://github.com/wbern/claude-instructions/actions/workflows/release.yml/badge.svg)](https://github.com/wbern/claude-instructions/actions/workflows/release.yml)\n[![codecov](https://codecov.io/gh/wbern/claude-instructions/graph/badge.svg)](https://codecov.io/gh/wbern/claude-instructions)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Made with Claude Code](https://img.shields.io/badge/Made%20with-Claude%20Code-blueviolet)](https://claude.ai/code)\n[![Contributors](https://img.shields.io/github/contributors/wbern/claude-instructions)](https://github.com/wbern/claude-instructions/graphs/contributors)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen)](https://github.com/wbern/claude-instructions/pulls)\n[![Commands](https://img.shields.io/badge/commands-30-blue)](https://github.com/wbern/claude-instructions#available-commands)\n\n```\n       _==/          i     i          \\==_\n     /XX/            |\\___/|            \\XX\\\n   /XXXX\\            |XXXXX|            /XXXX\\\n  |XXXXXX\\_         _XXXXXXX_         _/XXXXXX|\n XXXXXXXXXXXxxxxxxxXXXXXXXXXXXxxxxxxxXXXXXXXXXXX\n|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|\nXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|\n XXXXXX/^^^^\"\\XXXXXXXXXXXXXXXXXXXXX/^^^^^\\XXXXXX\n  |XXX|       \\XXX/^^\\XXXXX/^^\\XXX/       |XXX|\n    \\XX\\       \\X/    \\XXX/    \\X/       /XX/\n       \"\\       \"      \\X/      \"       /\"\n```\n\n**TDD workflow commands for Claude Code CLI.**\n\n> \"TDD helps you to pay attention to the right issues at the right time so you can make your designs cleaner, you can refine your designs as you learn.\" — Kent Beck\n\nClaude Code supports [custom slash commands](https://docs.anthropic.com/en/docs/claude-code/slash-commands)—type `/foo` and Claude receives the contents of `foo.md` as instructions (from `.claude/commands/` in your repo or `~/.claude/commands/` in your home directory). This repo provides ready-made commands for Test-Driven Development workflows.\n\nCustom commands are just a glorified copy-paste mechanism—but that simplicity is what makes them effective for establishing consistent development practices.\n\nInstead of explaining TDD principles each session, type `/red` to write a failing test, `/green` to make it pass, `/refactor` to clean up. The commands guide Claude through each step methodically—you focus on what to build, Claude handles the how.\n\nWant to go faster? Use `/cycle` to let Claude run the entire red-green-refactor sequence before checking in with you. For even more autonomy (your mileage may vary), `/tdd` gives Claude full discretion on when to advance between phases.\n\nAlso included are commands for commits, PRs, code reviews, and other tasks that come up during day-to-day development.\n\n## Installation\n\n```bash\nnpx @wbern/claude-instructions    # npm\n```\n\n```bash\npnpm dlx @wbern/claude-instructions   # pnpm\n```\n\nThe interactive installer lets you choose:\n\n- **Feature flags**: Enable optional integrations like [Beads MCP](https://github.com/steveyegge/beads)\n- **Scope**: User-level (global) or project-level installation\n\nAfter installation, restart Claude Code if it's currently running.\n\n### Adding to Your Repository\n\nTo automatically regenerate commands when teammates install dependencies, add it as a dev dependency with a postinstall script:\n\n```bash\nnpm install --save-dev @wbern/claude-instructions\n```\n\nThen add a postinstall script to your `package.json`:\n\n```json\n{\n  \"scripts\": {\n    \"postinstall\": \"claude-instructions --scope=project --overwrite\"\n  },\n  \"devDependencies\": {\n    \"@wbern/claude-instructions\": \"^2.11.0\"\n  }\n}\n```\n\nThis ensures commands are regenerated whenever anyone runs `npm install`, `pnpm install`, or `yarn install`.\n\n**CLI Options:**\n\n| Option | Description |\n|--------|-------------|\n| `--scope=project` | Installation scope (project, user, or a custom path) |\n| `--prefix=my-` | Add prefix to command names |\n| `--commands=commit,red,green` | Install only specific commands |\n| `--skip-template-injection` | Skip injecting project CLAUDE.md customizations |\n| `--update-existing` | Only update already-installed commands |\n| `--overwrite` | Overwrite conflicting files without prompting |\n| `--skip-on-conflict` | Skip conflicting files without prompting |\n| `--flags=beads,github` | Enable feature flags (beads, github, gitlab, etc.) |\n| `--allowed-tools=Bash(git diff:*),Bash(git status:*)` | Pre-approve tools for commands (non-interactive mode) |\n| `--skills=tdd,commit` | Generate selected commands as skills (.claude/skills/) |\n| `--help, -h` | Show help message |\n| `--version, -v` | Show version number |\n\n## Customizing Commands\n\nYou can inject project-specific instructions into generated commands by adding a `<claude-commands-template>` block to your `CLAUDE.md` or `AGENTS.md` file.\n\n### Basic Usage\n\nAdd this to your project's `CLAUDE.md`:\n\n```markdown\n# My Project\n\nOther instructions here...\n\n<claude-commands-template>\n## Project-Specific Rules\n\n- Always use pnpm instead of npm\n- Run tests with `pnpm test`\n</claude-commands-template>\n```\n\nWhen you run `claude-instructions`, the template content is appended to all generated commands.\n\n### Targeting Specific Commands\n\nUse the `commands` attribute to inject content only into specific commands:\n\n```markdown\n<claude-commands-template commands=\"commit,ask\">\n## Git Conventions\n\n- Use conventional commits format\n- Reference issue numbers in commits\n</claude-commands-template>\n```\n\nThis injects the content only into `commit.md` and `ask.md`.\n\n### File Priority\n\nThe generator looks for template blocks in this order:\n\n1. `CLAUDE.md` (checked first)\n2. `AGENTS.md` (fallback)\n\nOnly the first file found is used.\n\n## Which Command Should I Use?\n\n### Main Workflow\n\nThis is the core TDD workflow. Additional utility commands (worktrees, spikes, etc.) are listed in [Available Commands](#available-commands) below.\n\n```mermaid\nflowchart TB\n    Start([Start New Work])\n\n    Start --> Step1[<b>1. PLAN</b>]\n\n    Step1 --> Issue[📋 /issue<br/>Have GitHub issue<br/><i>Requires: GitHub MCP</i>]\n    Step1 --> CreateIssues[📝 /create-issues<br/>No issue yet<br/><i>Optional: Beads MCP</i>]\n\n    Issue --> Step2[<b>2. CODE with TDD</b>]\n    CreateIssues --> Step2\n\n    Step2 -->|Manual| Red[🔴 /red<br/>Write failing test]\n    Red --> Green[🟢 /green<br/>Make it pass]\n    Green --> Refactor[🔵 /refactor<br/>Clean up code]\n    Refactor --> MoreTests{More tests?}\n\n    Step2 -->|Automated| Cycle[🔄 /cycle<br/>Runs red+green+refactor]\n    Cycle --> MoreTests\n\n    MoreTests -->|Yes| Step2\n    MoreTests -->|No| Step3\n\n    Step3[<b>3. SHIP</b>]\n\n    Step3 --> Commit[📦 /commit<br/>Create commit]\n    Commit --> ShipChoice{How to<br/>merge?}\n\n    ShipChoice -->|Simple change| Ship[🚢 /ship<br/>Direct to main<br/><i>Requires: GitHub MCP</i>]\n    ShipChoice -->|Show team| Show[👀 /show<br/>Auto-merge + notify<br/><i>Requires: GitHub MCP</i>]\n    ShipChoice -->|Needs review| Ask[💬 /ask<br/>Create PR<br/><i>Requires: GitHub MCP</i>]\n\n    Ship --> Done([✅ Done])\n    Show --> Done\n    Ask --> Done\n```\n\n## Available Commands\n\n### Planning\n\n- `/issue` - Analyze GitHub issue and create TDD implementation plan\n- `/create-issues` - Create implementation plan from feature/requirement with PRD-style discovery and TDD acceptance criteria\n\n### Test-Driven Development\n\n- `/spike` - Execute TDD Spike Phase - exploratory coding to understand problem space before TDD\n- `/tdd` - Remind agent about TDD approach and continue conversation\n- `/red` - Execute TDD Red Phase - write ONE failing test\n- `/green` - Execute TDD Green Phase - write minimal implementation to pass the failing test\n- `/refactor` - Execute TDD Refactor Phase - improve code structure while keeping tests green\n- `/cycle` - Execute complete TDD cycle - Red, Green, and Refactor phases in sequence\n- `/simplify` - Reduce code complexity while keeping tests green\n- `/tdd-review` - Review test suite quality against FIRST principles and TDD anti-patterns\n\n### Workflow\n\n- `/commit` - Create a git commit following project standards\n- `/busycommit` - Create multiple atomic git commits, one logical change at a time\n- `/pr` - Creates a pull request using GitHub MCP\n- `/summarize` - Summarize conversation progress and next steps\n- `/gap` - Analyze conversation context for unaddressed items and gaps\n- `/forever` - Run autonomously until stopped or stuck\n- `/code-review` - Code review using dynamic category detection and domain-specific analysis\n- `/polish` - Review and address issues in existing code - fix problems or justify skipping\n\n### Ship / Show / Ask\n\n- `/ship` - Ship code directly to main - for small, obvious changes that don't need review\n- `/show` - Show code to team with auto-merge - for changes that should be visible but don't need approval\n- `/ask` - Request team review and approval - for complex changes needing discussion\n\n### Worktree Management\n\n- `/worktree-add` - Add a new git worktree from branch name or issue URL, copy settings, install deps, and open in current IDE\n- `/worktree-cleanup` - Clean up merged worktrees by verifying PR/issue status, consolidating settings, and removing stale worktrees\n\n### Utilities\n\n- `/beepboop` - Communicate AI-generated content with transparent attribution\n- `/add-command` - Guide for creating new slash commands\n- `/kata` - Generate a TDD practice challenge with boilerplate test setup\n- `/create-adr` - Create a new Architecture Decision Record (ADR)\n- `/research` - Research a problem in parallel via web docs, web search, codebase exploration, and deep ultrathink\n- `/commitlint-checklist-nodejs` - Audit commit hook automation for Node.js projects\n- `/upgrade-deps` - Check for dependency upgrades and assess safety before updating\n\n## Getting Started\n\n### Quick Start: Your First TDD Cycle\n\nHere's a simple example to get you started with the TDD workflow:\n\n**1. Write a failing test (`/red`)**\n\n```\nYou: /red add a function that validates email addresses\n\nClaude: I'll write a failing test for email validation.\n[Creates test file with a test that checks email validation]\n[Runs test - shows it failing because function doesn't exist yet]\n```\n\n**2. Make it pass (`/green`)**\n\n```\nYou: /green\n\nClaude: I'll implement the minimal code to pass the test.\n[Creates the email validation function with basic implementation]\n[Runs test - shows it passing]\n```\n\n**3. Refactor for quality (`/refactor`)**\n\n```\nYou: /refactor extract regex pattern to a constant\n\nClaude: I'll refactor while keeping tests green.\n[Extracts magic values, improves code structure]\n[Runs tests - confirms they still pass]\n```\n\n### Complete Workflow Example\n\n**Starting from a GitHub issue:**\n\n```\n/issue 123\n```\n\nClaude analyzes the GitHub issue and creates a TDD implementation plan showing what tests to write.\n\n**Running a full TDD cycle:**\n\n```\n/cycle implement user authentication with password hashing\n```\n\nClaude executes the complete red-green-refactor cycle: writes a failing test, implements it, then refactors.\n\n**Individual phases for more control:**\n\n```\n/red test that users can't login with wrong password\n/green\n/refactor move password verification to separate function\n```\n\n**Committing and creating PRs:**\n\n```\n/commit\n```\n\nClaude reviews changes, drafts a commit message following project standards, and creates the commit.\n\n```\n/ask\n```\n\nClaude analyzes commits, creates a PR with summary and test plan.\n\n### What to Expect\n\n- **`/red`** - Claude writes ONE failing test based on your description\n- **`/green`** - Claude writes minimal implementation to pass the current failing test\n- **`/refactor`** - Claude improves code structure without changing behavior\n- **`/cycle`** - Claude runs all three phases in sequence for a complete feature\n\nThe commands enforce TDD discipline: you can't refactor with failing tests, can't write multiple tests at once, and implementation must match test requirements.\n\n## Example Conversations\n\n# Conversation: Solving \"Find Closest to Zero\" Code Challenge\n\n**Summary:** User works through solving a code challenge: given a list of integers, find the closest to zero. If there is a tie, choose the positive value. (challenge from [cyber-dojo.org](https://cyber-dojo.org))\n\n**Commands:** `/red` `/green` `/refactor`\n**Legend:** 🔴 Red (test fails) | 🟢 Green (test passes) | 🔵 Refactor (cleanup)\n\n---\n\n👤 `/red` single element [1] returns 1\n\n🔴 _writes test_\n\n```typescript\nexpect(closestToZero([1])).toBe(1);\n```\n\nFAIL: closestToZero is not defined\n\n👤 `/green`\n\n🟢 _returns hardcoded 1_\n\n```typescript\nfunction closestToZero(nums: number[]): number {\n  return 1; // minimal - only need to pass current test\n}\n```\n\n✅ Test passes\n\n👤 `/red` two numbers [3, 2] returns 2\n\n🔴 _writes test_\n\n```typescript\nexpect(closestToZero([3, 2])).toBe(2);\n```\n\nFAIL: expected 1 to be 2\n\n👤 `/green`\n\n🟢 _sorts and returns first_\n\n```typescript\nfunction closestToZero(nums: number[]): number {\n  return nums.sort((a, b) => a - b)[0]; // minimal\n}\n```\n\n✅ 2/2 tests pass\n\n👤 `/red` with negative [-3, 2] returns 2\n\n🔴 _writes test_\n\n```typescript\nexpect(closestToZero([-3, 2])).toBe(2);\n```\n\nFAIL: expected -3 to be 2 (regular sort puts -3 first)\n\n👤 `/green`\n\n🟢 _sorts by absolute value_\n\n```typescript\nfunction closestToZero(nums: number[]): number {\n  return nums.sort((a, b) => Math.abs(a) - Math.abs(b))[0];\n}\n```\n\n✅ 3/3 tests pass\n\n👤 `/red` exact tie [-2, 2] returns positive 2\n\n🔴 _writes test_\n\n```typescript\nexpect(closestToZero([-2, 2])).toBe(2);\n```\n\nFAIL: expected -2 to be 2 (returns first when tied)\n\n👤 `/green`\n\n🟢 _adds tie-breaking: prefer positive_\n\n```typescript\nfunction closestToZero(nums: number[]): number {\n  return nums.sort((a, b) => {\n    const diff = Math.abs(a) - Math.abs(b);\n    return diff !== 0 ? diff : b - a;\n  })[0];\n}\n```\n\n✅ 4/4 tests pass\n\n👤 `/refactor` extract helper and use iteration instead of sort\n\n🔵 _extracts helper function for comparison logic_\n\n```typescript\nfunction isCloser(candidate: number, current: number): boolean {\n  const candAbs = Math.abs(candidate);\n  const currAbs = Math.abs(current);\n  return candAbs < currAbs || (candAbs === currAbs && candidate > current);\n}\n\nfunction closestToZero(nums: number[]): number {\n  if (nums.length === 0) return 0;\n  let closest = nums[0];\n  for (const num of nums) {\n    if (isCloser(num, closest)) {\n      closest = num;\n    }\n  }\n  return closest;\n}\n```\n\n✅ 4/4 tests still pass\n\n👤 `/refactor`\n\n🔵 _uses reduce for more functional style_\n\n```typescript\nfunction closestToZero(nums: number[]): number {\n  if (nums.length === 0) return 0;\n  return nums.reduce((closest, num) =>\n    isCloser(num, closest) ? num : closest,\n  );\n}\n```\n\n✅ 4/4 tests still pass\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development workflow, build system, and fragment management.\n\n## Credits\n\nTDD workflow instructions adapted from [TDD Guard](https://github.com/nizos/tdd-guard) by Nizar.\n\nFIRST principles and test quality criteria from [TDD Manifesto](https://tddmanifesto.com/).\n\nExample kata from [Cyber-Dojo](https://cyber-dojo.org/).\n\n## Related Projects\n\n- [citypaul/.dotfiles](https://github.com/citypaul/.dotfiles) - Claude Code configuration with TDD workflows and custom commands\n- [nizos/tdd-guard](https://github.com/nizos/tdd-guard) - Original TDD Guard instructions for Claude\n\n## Transparency: @wbern's Usage Stats (Jan 20 - Feb 3, 2025)\n\n| Command | Usage |\n|---------|-------|\n| /tdd | 26% |\n| /gap | 15% |\n| /research | 15% |\n| /code-review | 13% |\n| /commit | 8% |\n| /refactor | 5% |\n| /create-issues | 4% |\n| /issue | 2% |\n| /red | 2% |\n| /polish | 2% |\n| /worktree-add | 2% |\n| /pr | 1% |\n| /spike | 1% |\n| /summarize | 1% |\n| /tdd-review | 1% |\n| /create-adr | 1% |\n| Other | 1% |\n","readmeFilename":"README.md"}