devflow-kit 0.8.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +185 -29
- package/LICENSE +1 -1
- package/README.md +179 -308
- package/dist/cli.js +3 -1
- package/dist/commands/init.d.ts +21 -0
- package/dist/commands/init.js +311 -575
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.js +20 -0
- package/dist/commands/uninstall.d.ts +10 -0
- package/dist/commands/uninstall.js +351 -78
- package/dist/plugins.d.ts +46 -0
- package/dist/plugins.js +162 -0
- package/dist/utils/cli.d.ts +5 -0
- package/dist/utils/cli.js +14 -0
- package/dist/utils/installer.d.ts +41 -0
- package/dist/utils/installer.js +177 -0
- package/dist/utils/paths.d.ts +10 -0
- package/dist/utils/paths.js +23 -3
- package/dist/utils/post-install.d.ts +68 -0
- package/dist/utils/post-install.js +427 -0
- package/dist/utils/safe-delete-install.d.ts +22 -0
- package/dist/utils/safe-delete-install.js +156 -0
- package/dist/utils/safe-delete.d.ts +12 -0
- package/dist/utils/safe-delete.js +83 -0
- package/package.json +18 -8
- package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +7 -0
- package/plugins/devflow-audit-claude/README.md +46 -0
- package/plugins/devflow-audit-claude/agents/claude-md-auditor.md +134 -0
- package/plugins/devflow-audit-claude/commands/audit-claude.md +85 -0
- package/plugins/devflow-code-review/.claude-plugin/plugin.json +31 -0
- package/plugins/devflow-code-review/README.md +73 -0
- package/plugins/devflow-code-review/agents/git.md +272 -0
- package/plugins/devflow-code-review/agents/reviewer.md +119 -0
- package/plugins/devflow-code-review/agents/synthesizer.md +204 -0
- package/plugins/devflow-code-review/commands/code-review-teams.md +262 -0
- package/plugins/devflow-code-review/commands/code-review.md +141 -0
- package/plugins/devflow-code-review/skills/accessibility/SKILL.md +229 -0
- package/plugins/devflow-code-review/skills/accessibility/references/detection.md +171 -0
- package/plugins/devflow-code-review/skills/accessibility/references/patterns.md +670 -0
- package/plugins/devflow-code-review/skills/accessibility/references/violations.md +419 -0
- package/plugins/devflow-code-review/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-code-review/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-code-review/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-code-review/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/SKILL.md +153 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/references/detection.md +337 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/references/patterns.md +873 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/references/violations.md +575 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/SKILL.md +143 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/references/detection.md +264 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/references/patterns.md +487 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/references/violations.md +361 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/SKILL.md +140 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/references/detection.md +207 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/references/patterns.md +202 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/references/violations.md +213 -0
- package/plugins/devflow-code-review/skills/database-patterns/SKILL.md +134 -0
- package/plugins/devflow-code-review/skills/database-patterns/references/detection.md +208 -0
- package/plugins/devflow-code-review/skills/database-patterns/references/patterns.md +394 -0
- package/plugins/devflow-code-review/skills/database-patterns/references/violations.md +332 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/SKILL.md +141 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/references/detection.md +181 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/references/patterns.md +225 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/references/violations.md +247 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/SKILL.md +125 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/references/detection.md +190 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/references/patterns.md +189 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/references/violations.md +163 -0
- package/plugins/devflow-code-review/skills/frontend-design/SKILL.md +254 -0
- package/plugins/devflow-code-review/skills/frontend-design/references/detection.md +184 -0
- package/plugins/devflow-code-review/skills/frontend-design/references/patterns.md +511 -0
- package/plugins/devflow-code-review/skills/frontend-design/references/violations.md +453 -0
- package/plugins/devflow-code-review/skills/performance-patterns/SKILL.md +154 -0
- package/plugins/devflow-code-review/skills/performance-patterns/references/detection.md +351 -0
- package/plugins/devflow-code-review/skills/performance-patterns/references/patterns.md +503 -0
- package/plugins/devflow-code-review/skills/performance-patterns/references/violations.md +354 -0
- package/plugins/devflow-code-review/skills/react/SKILL.md +276 -0
- package/plugins/devflow-code-review/skills/react/references/patterns.md +1331 -0
- package/plugins/devflow-code-review/skills/react/references/violations.md +565 -0
- package/plugins/devflow-code-review/skills/regression-patterns/SKILL.md +146 -0
- package/plugins/devflow-code-review/skills/regression-patterns/references/detection.md +237 -0
- package/plugins/devflow-code-review/skills/regression-patterns/references/patterns.md +226 -0
- package/plugins/devflow-code-review/skills/regression-patterns/references/violations.md +225 -0
- package/plugins/devflow-code-review/skills/review-methodology/SKILL.md +119 -0
- package/plugins/devflow-code-review/skills/review-methodology/references/patterns.md +186 -0
- package/plugins/devflow-code-review/skills/review-methodology/references/report-template.md +142 -0
- package/plugins/devflow-code-review/skills/review-methodology/references/violations.md +125 -0
- package/plugins/devflow-code-review/skills/security-patterns/SKILL.md +156 -0
- package/plugins/devflow-code-review/skills/security-patterns/references/detection.md +287 -0
- package/plugins/devflow-code-review/skills/security-patterns/references/patterns.md +507 -0
- package/plugins/devflow-code-review/skills/security-patterns/references/violations.md +237 -0
- package/plugins/devflow-code-review/skills/test-patterns/SKILL.md +183 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/detection.md +149 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/patterns.md +220 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/report-template.md +108 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/violations.md +221 -0
- package/plugins/devflow-core-skills/.claude-plugin/plugin.json +27 -0
- package/plugins/devflow-core-skills/README.md +50 -0
- package/plugins/devflow-core-skills/skills/accessibility/SKILL.md +229 -0
- package/plugins/devflow-core-skills/skills/accessibility/references/detection.md +171 -0
- package/plugins/devflow-core-skills/skills/accessibility/references/patterns.md +670 -0
- package/plugins/devflow-core-skills/skills/accessibility/references/violations.md +419 -0
- package/plugins/devflow-core-skills/skills/core-patterns/SKILL.md +162 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/checklist.md +276 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/code-smell-violations.md +144 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/detection.md +303 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/patterns.md +576 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/violations.md +369 -0
- package/plugins/devflow-core-skills/skills/docs-framework/SKILL.md +134 -0
- package/plugins/devflow-core-skills/skills/docs-framework/references/patterns.md +346 -0
- package/plugins/devflow-core-skills/skills/docs-framework/references/violations.md +221 -0
- package/plugins/devflow-core-skills/skills/frontend-design/SKILL.md +254 -0
- package/plugins/devflow-core-skills/skills/frontend-design/references/detection.md +184 -0
- package/plugins/devflow-core-skills/skills/frontend-design/references/patterns.md +511 -0
- package/plugins/devflow-core-skills/skills/frontend-design/references/violations.md +453 -0
- package/plugins/devflow-core-skills/skills/git-safety/SKILL.md +122 -0
- package/plugins/devflow-core-skills/skills/git-safety/references/detection.md +290 -0
- package/plugins/devflow-core-skills/skills/git-safety/references/patterns.md +289 -0
- package/plugins/devflow-core-skills/skills/git-safety/references/violations.md +18 -0
- package/plugins/devflow-core-skills/skills/git-workflow/SKILL.md +158 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/commit-patterns.md +115 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/commit-violations.md +77 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/pr-patterns.md +127 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/pr-violations.md +96 -0
- package/plugins/devflow-core-skills/skills/github-patterns/SKILL.md +153 -0
- package/plugins/devflow-core-skills/skills/github-patterns/references/patterns.md +572 -0
- package/plugins/devflow-core-skills/skills/github-patterns/references/violations.md +298 -0
- package/plugins/devflow-core-skills/skills/input-validation/SKILL.md +148 -0
- package/plugins/devflow-core-skills/skills/input-validation/references/detection.md +283 -0
- package/plugins/devflow-core-skills/skills/input-validation/references/patterns.md +361 -0
- package/plugins/devflow-core-skills/skills/input-validation/references/violations.md +224 -0
- package/plugins/devflow-core-skills/skills/react/SKILL.md +276 -0
- package/plugins/devflow-core-skills/skills/react/references/patterns.md +1331 -0
- package/plugins/devflow-core-skills/skills/react/references/violations.md +565 -0
- package/plugins/devflow-core-skills/skills/test-patterns/SKILL.md +183 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/detection.md +149 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/patterns.md +220 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/report-template.md +108 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/violations.md +221 -0
- package/plugins/devflow-core-skills/skills/typescript/SKILL.md +176 -0
- package/plugins/devflow-core-skills/skills/typescript/references/patterns.md +1105 -0
- package/plugins/devflow-core-skills/skills/typescript/references/violations.md +433 -0
- package/plugins/devflow-debug/.claude-plugin/plugin.json +18 -0
- package/plugins/devflow-debug/README.md +65 -0
- package/plugins/devflow-debug/agents/git.md +272 -0
- package/plugins/devflow-debug/commands/debug-teams.md +231 -0
- package/plugins/devflow-debug/commands/debug.md +160 -0
- package/plugins/devflow-debug/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-debug/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-debug/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-debug/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-debug/skills/git-safety/SKILL.md +122 -0
- package/plugins/devflow-debug/skills/git-safety/references/detection.md +290 -0
- package/plugins/devflow-debug/skills/git-safety/references/patterns.md +289 -0
- package/plugins/devflow-debug/skills/git-safety/references/violations.md +18 -0
- package/plugins/devflow-implement/.claude-plugin/plugin.json +21 -0
- package/plugins/devflow-implement/README.md +71 -0
- package/plugins/devflow-implement/agents/coder.md +122 -0
- package/plugins/devflow-implement/agents/git.md +272 -0
- package/plugins/devflow-implement/agents/scrutinizer.md +80 -0
- package/plugins/devflow-implement/agents/shepherd.md +94 -0
- package/plugins/devflow-implement/agents/simplifier.md +62 -0
- package/plugins/devflow-implement/agents/skimmer.md +88 -0
- package/plugins/devflow-implement/agents/synthesizer.md +204 -0
- package/plugins/devflow-implement/agents/validator.md +86 -0
- package/plugins/devflow-implement/commands/implement-teams.md +608 -0
- package/plugins/devflow-implement/commands/implement.md +426 -0
- package/plugins/devflow-implement/skills/accessibility/SKILL.md +229 -0
- package/plugins/devflow-implement/skills/accessibility/references/detection.md +171 -0
- package/plugins/devflow-implement/skills/accessibility/references/patterns.md +670 -0
- package/plugins/devflow-implement/skills/accessibility/references/violations.md +419 -0
- package/plugins/devflow-implement/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-implement/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-implement/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-implement/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-implement/skills/frontend-design/SKILL.md +254 -0
- package/plugins/devflow-implement/skills/frontend-design/references/detection.md +184 -0
- package/plugins/devflow-implement/skills/frontend-design/references/patterns.md +511 -0
- package/plugins/devflow-implement/skills/frontend-design/references/violations.md +453 -0
- package/plugins/devflow-implement/skills/implementation-patterns/SKILL.md +162 -0
- package/plugins/devflow-implement/skills/implementation-patterns/references/patterns.md +1063 -0
- package/plugins/devflow-implement/skills/implementation-patterns/references/violations.md +483 -0
- package/plugins/devflow-implement/skills/self-review/SKILL.md +149 -0
- package/plugins/devflow-implement/skills/self-review/references/patterns.md +405 -0
- package/plugins/devflow-implement/skills/self-review/references/report-template.md +253 -0
- package/plugins/devflow-implement/skills/self-review/references/violations.md +308 -0
- package/plugins/devflow-resolve/.claude-plugin/plugin.json +19 -0
- package/plugins/devflow-resolve/README.md +65 -0
- package/plugins/devflow-resolve/agents/git.md +272 -0
- package/plugins/devflow-resolve/agents/resolver.md +131 -0
- package/plugins/devflow-resolve/agents/simplifier.md +62 -0
- package/plugins/devflow-resolve/commands/resolve-teams.md +298 -0
- package/plugins/devflow-resolve/commands/resolve.md +237 -0
- package/plugins/devflow-resolve/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-resolve/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-resolve/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-resolve/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-resolve/skills/implementation-patterns/SKILL.md +162 -0
- package/plugins/devflow-resolve/skills/implementation-patterns/references/patterns.md +1063 -0
- package/plugins/devflow-resolve/skills/implementation-patterns/references/violations.md +483 -0
- package/plugins/devflow-resolve/skills/security-patterns/SKILL.md +156 -0
- package/plugins/devflow-resolve/skills/security-patterns/references/detection.md +287 -0
- package/plugins/devflow-resolve/skills/security-patterns/references/patterns.md +507 -0
- package/plugins/devflow-resolve/skills/security-patterns/references/violations.md +237 -0
- package/plugins/devflow-self-review/.claude-plugin/plugin.json +7 -0
- package/plugins/devflow-self-review/README.md +38 -0
- package/plugins/devflow-self-review/agents/scrutinizer.md +80 -0
- package/plugins/devflow-self-review/agents/simplifier.md +62 -0
- package/plugins/devflow-self-review/agents/validator.md +86 -0
- package/plugins/devflow-self-review/commands/self-review.md +126 -0
- package/plugins/devflow-self-review/skills/core-patterns/SKILL.md +162 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/checklist.md +276 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/code-smell-violations.md +144 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/detection.md +303 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/patterns.md +576 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/violations.md +369 -0
- package/plugins/devflow-self-review/skills/self-review/SKILL.md +149 -0
- package/plugins/devflow-self-review/skills/self-review/references/patterns.md +405 -0
- package/plugins/devflow-self-review/skills/self-review/references/report-template.md +253 -0
- package/plugins/devflow-self-review/skills/self-review/references/violations.md +308 -0
- package/plugins/devflow-specify/.claude-plugin/plugin.json +15 -0
- package/plugins/devflow-specify/README.md +46 -0
- package/plugins/devflow-specify/agents/skimmer.md +88 -0
- package/plugins/devflow-specify/agents/synthesizer.md +204 -0
- package/plugins/devflow-specify/commands/specify-teams.md +314 -0
- package/plugins/devflow-specify/commands/specify.md +179 -0
- package/plugins/devflow-specify/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-specify/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-specify/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-specify/skills/agent-teams/references/team-patterns.md +217 -0
- package/scripts/hooks/background-memory-update.sh +167 -0
- package/scripts/hooks/pre-compact-memory.sh +81 -0
- package/scripts/hooks/session-start-memory.sh +84 -0
- package/scripts/hooks/stop-update-memory.sh +81 -0
- package/shared/agents/coder.md +122 -0
- package/shared/agents/git.md +272 -0
- package/shared/agents/resolver.md +131 -0
- package/shared/agents/reviewer.md +119 -0
- package/shared/agents/scrutinizer.md +80 -0
- package/shared/agents/shepherd.md +94 -0
- package/shared/agents/simplifier.md +62 -0
- package/shared/agents/skimmer.md +88 -0
- package/shared/agents/synthesizer.md +204 -0
- package/shared/agents/validator.md +86 -0
- package/shared/skills/accessibility/SKILL.md +229 -0
- package/shared/skills/accessibility/references/detection.md +171 -0
- package/shared/skills/accessibility/references/patterns.md +670 -0
- package/shared/skills/accessibility/references/violations.md +419 -0
- package/shared/skills/agent-teams/SKILL.md +124 -0
- package/shared/skills/agent-teams/references/cleanup.md +104 -0
- package/shared/skills/agent-teams/references/communication.md +122 -0
- package/shared/skills/agent-teams/references/team-patterns.md +217 -0
- package/shared/skills/architecture-patterns/SKILL.md +153 -0
- package/shared/skills/architecture-patterns/references/detection.md +337 -0
- package/shared/skills/architecture-patterns/references/patterns.md +873 -0
- package/shared/skills/architecture-patterns/references/violations.md +575 -0
- package/shared/skills/complexity-patterns/SKILL.md +143 -0
- package/shared/skills/complexity-patterns/references/detection.md +264 -0
- package/shared/skills/complexity-patterns/references/patterns.md +487 -0
- package/shared/skills/complexity-patterns/references/violations.md +361 -0
- package/shared/skills/consistency-patterns/SKILL.md +140 -0
- package/shared/skills/consistency-patterns/references/detection.md +207 -0
- package/shared/skills/consistency-patterns/references/patterns.md +202 -0
- package/shared/skills/consistency-patterns/references/violations.md +213 -0
- package/shared/skills/core-patterns/SKILL.md +162 -0
- package/shared/skills/core-patterns/references/checklist.md +276 -0
- package/shared/skills/core-patterns/references/code-smell-violations.md +144 -0
- package/shared/skills/core-patterns/references/detection.md +303 -0
- package/shared/skills/core-patterns/references/patterns.md +576 -0
- package/shared/skills/core-patterns/references/violations.md +369 -0
- package/shared/skills/database-patterns/SKILL.md +134 -0
- package/shared/skills/database-patterns/references/detection.md +208 -0
- package/shared/skills/database-patterns/references/patterns.md +394 -0
- package/shared/skills/database-patterns/references/violations.md +332 -0
- package/shared/skills/dependencies-patterns/SKILL.md +141 -0
- package/shared/skills/dependencies-patterns/references/detection.md +181 -0
- package/shared/skills/dependencies-patterns/references/patterns.md +225 -0
- package/shared/skills/dependencies-patterns/references/violations.md +247 -0
- package/shared/skills/docs-framework/SKILL.md +134 -0
- package/shared/skills/docs-framework/references/patterns.md +346 -0
- package/shared/skills/docs-framework/references/violations.md +221 -0
- package/shared/skills/documentation-patterns/SKILL.md +125 -0
- package/shared/skills/documentation-patterns/references/detection.md +190 -0
- package/shared/skills/documentation-patterns/references/patterns.md +189 -0
- package/shared/skills/documentation-patterns/references/violations.md +163 -0
- package/shared/skills/frontend-design/SKILL.md +254 -0
- package/shared/skills/frontend-design/references/detection.md +184 -0
- package/shared/skills/frontend-design/references/patterns.md +511 -0
- package/shared/skills/frontend-design/references/violations.md +453 -0
- package/shared/skills/git-safety/SKILL.md +122 -0
- package/shared/skills/git-safety/references/detection.md +290 -0
- package/shared/skills/git-safety/references/patterns.md +289 -0
- package/shared/skills/git-safety/references/violations.md +18 -0
- package/shared/skills/git-workflow/SKILL.md +158 -0
- package/shared/skills/git-workflow/references/commit-patterns.md +115 -0
- package/shared/skills/git-workflow/references/commit-violations.md +77 -0
- package/shared/skills/git-workflow/references/pr-patterns.md +127 -0
- package/shared/skills/git-workflow/references/pr-violations.md +96 -0
- package/shared/skills/github-patterns/SKILL.md +153 -0
- package/shared/skills/github-patterns/references/patterns.md +572 -0
- package/shared/skills/github-patterns/references/violations.md +298 -0
- package/shared/skills/implementation-patterns/SKILL.md +162 -0
- package/shared/skills/implementation-patterns/references/patterns.md +1063 -0
- package/shared/skills/implementation-patterns/references/violations.md +483 -0
- package/shared/skills/input-validation/SKILL.md +148 -0
- package/shared/skills/input-validation/references/detection.md +283 -0
- package/shared/skills/input-validation/references/patterns.md +361 -0
- package/shared/skills/input-validation/references/violations.md +224 -0
- package/shared/skills/performance-patterns/SKILL.md +154 -0
- package/shared/skills/performance-patterns/references/detection.md +351 -0
- package/shared/skills/performance-patterns/references/patterns.md +503 -0
- package/shared/skills/performance-patterns/references/violations.md +354 -0
- package/shared/skills/react/SKILL.md +276 -0
- package/shared/skills/react/references/patterns.md +1331 -0
- package/shared/skills/react/references/violations.md +565 -0
- package/shared/skills/regression-patterns/SKILL.md +146 -0
- package/shared/skills/regression-patterns/references/detection.md +237 -0
- package/shared/skills/regression-patterns/references/patterns.md +226 -0
- package/shared/skills/regression-patterns/references/violations.md +225 -0
- package/shared/skills/review-methodology/SKILL.md +119 -0
- package/shared/skills/review-methodology/references/patterns.md +186 -0
- package/shared/skills/review-methodology/references/report-template.md +142 -0
- package/shared/skills/review-methodology/references/violations.md +125 -0
- package/shared/skills/security-patterns/SKILL.md +156 -0
- package/shared/skills/security-patterns/references/detection.md +287 -0
- package/shared/skills/security-patterns/references/patterns.md +507 -0
- package/shared/skills/security-patterns/references/violations.md +237 -0
- package/shared/skills/self-review/SKILL.md +149 -0
- package/shared/skills/self-review/references/patterns.md +405 -0
- package/shared/skills/self-review/references/report-template.md +253 -0
- package/shared/skills/self-review/references/violations.md +308 -0
- package/shared/skills/test-patterns/SKILL.md +183 -0
- package/shared/skills/test-patterns/references/detection.md +149 -0
- package/shared/skills/test-patterns/references/patterns.md +220 -0
- package/shared/skills/test-patterns/references/report-template.md +108 -0
- package/shared/skills/test-patterns/references/violations.md +221 -0
- package/shared/skills/typescript/SKILL.md +176 -0
- package/shared/skills/typescript/references/patterns.md +1105 -0
- package/shared/skills/typescript/references/violations.md +433 -0
- package/src/templates/claudeignore.template +188 -0
- package/src/templates/managed-settings.json +146 -0
- package/src/templates/settings.json +59 -0
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/uninstall.d.ts.map +0 -1
- package/dist/commands/uninstall.js.map +0 -1
- package/dist/utils/git.d.ts.map +0 -1
- package/dist/utils/git.js.map +0 -1
- package/dist/utils/paths.d.ts.map +0 -1
- package/dist/utils/paths.js.map +0 -1
- package/src/claude/CLAUDE.md +0 -400
- package/src/claude/agents/devflow/audit-architecture.md +0 -132
- package/src/claude/agents/devflow/audit-complexity.md +0 -132
- package/src/claude/agents/devflow/audit-database.md +0 -132
- package/src/claude/agents/devflow/audit-dependencies.md +0 -132
- package/src/claude/agents/devflow/audit-documentation.md +0 -132
- package/src/claude/agents/devflow/audit-performance.md +0 -256
- package/src/claude/agents/devflow/audit-security.md +0 -259
- package/src/claude/agents/devflow/audit-tests.md +0 -132
- package/src/claude/agents/devflow/audit-typescript.md +0 -132
- package/src/claude/agents/devflow/brainstorm.md +0 -279
- package/src/claude/agents/devflow/catch-up.md +0 -345
- package/src/claude/agents/devflow/code-review.md +0 -307
- package/src/claude/agents/devflow/commit.md +0 -380
- package/src/claude/agents/devflow/debug.md +0 -476
- package/src/claude/agents/devflow/design.md +0 -491
- package/src/claude/agents/devflow/pr-comments.md +0 -285
- package/src/claude/agents/devflow/project-state.md +0 -419
- package/src/claude/agents/devflow/pull-request.md +0 -423
- package/src/claude/agents/devflow/release.md +0 -1137
- package/src/claude/agents/devflow/tech-debt.md +0 -338
- package/src/claude/commands/devflow/brainstorm.md +0 -68
- package/src/claude/commands/devflow/breakdown.md +0 -125
- package/src/claude/commands/devflow/catch-up.md +0 -29
- package/src/claude/commands/devflow/code-review.md +0 -237
- package/src/claude/commands/devflow/commit.md +0 -17
- package/src/claude/commands/devflow/debug.md +0 -56
- package/src/claude/commands/devflow/design.md +0 -82
- package/src/claude/commands/devflow/devlog.md +0 -408
- package/src/claude/commands/devflow/implement.md +0 -100
- package/src/claude/commands/devflow/plan.md +0 -223
- package/src/claude/commands/devflow/pull-request.md +0 -269
- package/src/claude/commands/devflow/release.md +0 -251
- package/src/claude/commands/devflow/resolve-comments.md +0 -583
- package/src/claude/scripts/statusline.sh +0 -47
- package/src/claude/settings.json +0 -6
- package/src/claude/skills/devflow/code-smell/SKILL.md +0 -428
- package/src/claude/skills/devflow/debug/SKILL.md +0 -119
- package/src/claude/skills/devflow/error-handling/SKILL.md +0 -597
- package/src/claude/skills/devflow/input-validation/SKILL.md +0 -514
- package/src/claude/skills/devflow/pattern-check/SKILL.md +0 -238
- package/src/claude/skills/devflow/research/SKILL.md +0 -138
- package/src/claude/skills/devflow/test-design/SKILL.md +0 -384
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Working Memory: SessionStart Hook
|
|
4
|
+
# Reads .docs/WORKING-MEMORY.md and injects it as additionalContext for the new session.
|
|
5
|
+
# Also captures fresh git state so Claude knows what's changed since the memory was written.
|
|
6
|
+
# Adds staleness warning if memory is >1 hour old.
|
|
7
|
+
|
|
8
|
+
set -euo pipefail
|
|
9
|
+
|
|
10
|
+
# jq is required to parse hook input JSON — silently no-op if missing
|
|
11
|
+
if ! command -v jq &>/dev/null; then exit 0; fi
|
|
12
|
+
|
|
13
|
+
INPUT=$(cat)
|
|
14
|
+
|
|
15
|
+
CWD=$(echo "$INPUT" | jq -r '.cwd // ""' 2>/dev/null)
|
|
16
|
+
if [ -z "$CWD" ]; then
|
|
17
|
+
exit 0
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
# Only activate in DevFlow-initialized projects
|
|
21
|
+
if [ ! -d "$CWD/.docs" ]; then
|
|
22
|
+
exit 0
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
MEMORY_FILE="$CWD/.docs/WORKING-MEMORY.md"
|
|
26
|
+
|
|
27
|
+
# No memory file = nothing to restore (fresh project or first session)
|
|
28
|
+
if [ ! -f "$MEMORY_FILE" ]; then
|
|
29
|
+
exit 0
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
MEMORY_CONTENT=$(cat "$MEMORY_FILE")
|
|
33
|
+
|
|
34
|
+
# Compute staleness warning
|
|
35
|
+
if stat --version &>/dev/null 2>&1; then
|
|
36
|
+
FILE_MTIME=$(stat -c %Y "$MEMORY_FILE")
|
|
37
|
+
else
|
|
38
|
+
FILE_MTIME=$(stat -f %m "$MEMORY_FILE")
|
|
39
|
+
fi
|
|
40
|
+
NOW=$(date +%s)
|
|
41
|
+
AGE=$(( NOW - FILE_MTIME ))
|
|
42
|
+
|
|
43
|
+
STALE_WARNING=""
|
|
44
|
+
if [ "$AGE" -gt 3600 ]; then
|
|
45
|
+
HOURS=$(( AGE / 3600 ))
|
|
46
|
+
STALE_WARNING="⚠ This working memory is ${HOURS}h old. Verify before relying on it.
|
|
47
|
+
|
|
48
|
+
"
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
# Capture fresh git state
|
|
52
|
+
GIT_BRANCH=""
|
|
53
|
+
GIT_STATUS=""
|
|
54
|
+
GIT_LOG=""
|
|
55
|
+
|
|
56
|
+
if cd "$CWD" 2>/dev/null && git rev-parse --git-dir >/dev/null 2>&1; then
|
|
57
|
+
GIT_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
|
|
58
|
+
GIT_STATUS=$(git status --porcelain 2>/dev/null | head -20)
|
|
59
|
+
GIT_LOG=$(git log --oneline -5 2>/dev/null || echo "")
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
# Build context string
|
|
63
|
+
CONTEXT="${STALE_WARNING}--- WORKING MEMORY (from previous session) ---
|
|
64
|
+
|
|
65
|
+
${MEMORY_CONTENT}
|
|
66
|
+
|
|
67
|
+
--- CURRENT GIT STATE ---
|
|
68
|
+
Branch: ${GIT_BRANCH}
|
|
69
|
+
Recent commits:
|
|
70
|
+
${GIT_LOG}"
|
|
71
|
+
|
|
72
|
+
if [ -n "$GIT_STATUS" ]; then
|
|
73
|
+
CONTEXT="${CONTEXT}
|
|
74
|
+
Uncommitted changes:
|
|
75
|
+
${GIT_STATUS}"
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
# Output as additionalContext JSON envelope (Claude sees it as system context, not user-visible)
|
|
79
|
+
jq -n --arg ctx "$CONTEXT" '{
|
|
80
|
+
"hookSpecificOutput": {
|
|
81
|
+
"hookEventName": "SessionStart",
|
|
82
|
+
"additionalContext": $ctx
|
|
83
|
+
}
|
|
84
|
+
}'
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Working Memory: Stop Hook
|
|
4
|
+
# Spawns a background process to update .docs/WORKING-MEMORY.md asynchronously.
|
|
5
|
+
# The session ends immediately — no visible edit in the TUI.
|
|
6
|
+
# On failure: does nothing (stale memory is better than fake data).
|
|
7
|
+
|
|
8
|
+
set -euo pipefail
|
|
9
|
+
|
|
10
|
+
# Break feedback loop: background updater's headless session triggers stop hook on exit.
|
|
11
|
+
# DEVFLOW_BG_UPDATER is set by background-memory-update.sh before invoking claude.
|
|
12
|
+
if [ "${DEVFLOW_BG_UPDATER:-}" = "1" ]; then exit 0; fi
|
|
13
|
+
|
|
14
|
+
# jq is required to parse hook input JSON — silently no-op if missing
|
|
15
|
+
if ! command -v jq &>/dev/null; then exit 0; fi
|
|
16
|
+
|
|
17
|
+
INPUT=$(cat)
|
|
18
|
+
|
|
19
|
+
# Only activate in projects with .docs/ directory (DevFlow-initialized projects)
|
|
20
|
+
CWD=$(echo "$INPUT" | jq -r '.cwd // ""' 2>/dev/null)
|
|
21
|
+
if [ -z "$CWD" ] || [ ! -d "$CWD/.docs" ]; then
|
|
22
|
+
exit 0
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
# Logging (shared log file with background updater; [stop-hook] prefix distinguishes)
|
|
26
|
+
MEMORY_FILE="$CWD/.docs/WORKING-MEMORY.md"
|
|
27
|
+
LOG_FILE="$CWD/.docs/.working-memory-update.log"
|
|
28
|
+
log() { echo "[$(date -u '+%Y-%m-%dT%H:%M:%SZ')] [stop-hook] $1" >> "$LOG_FILE"; }
|
|
29
|
+
|
|
30
|
+
# Throttle: skip if stop hook was triggered within the last 2 minutes
|
|
31
|
+
# Uses a marker file touched BEFORE spawning the updater — prevents race condition
|
|
32
|
+
# where multiple hooks see stale WORKING-MEMORY.md mtime and all bypass throttle.
|
|
33
|
+
TRIGGER_MARKER="$CWD/.docs/.working-memory-last-trigger"
|
|
34
|
+
if [ -f "$TRIGGER_MARKER" ]; then
|
|
35
|
+
if stat --version &>/dev/null 2>&1; then
|
|
36
|
+
MARKER_MTIME=$(stat -c %Y "$TRIGGER_MARKER")
|
|
37
|
+
else
|
|
38
|
+
MARKER_MTIME=$(stat -f %m "$TRIGGER_MARKER")
|
|
39
|
+
fi
|
|
40
|
+
NOW=$(date +%s)
|
|
41
|
+
AGE=$(( NOW - MARKER_MTIME ))
|
|
42
|
+
if [ "$AGE" -lt 120 ]; then
|
|
43
|
+
log "Skipped: triggered ${AGE}s ago (throttled)"
|
|
44
|
+
exit 0
|
|
45
|
+
fi
|
|
46
|
+
fi
|
|
47
|
+
|
|
48
|
+
# Resolve claude binary — if not found, skip (graceful degradation)
|
|
49
|
+
CLAUDE_BIN=$(command -v claude 2>/dev/null || true)
|
|
50
|
+
if [ -z "$CLAUDE_BIN" ]; then
|
|
51
|
+
log "Skipped: claude binary not found"
|
|
52
|
+
exit 0
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
# Extract session ID from hook input
|
|
56
|
+
SESSION_ID=$(echo "$INPUT" | jq -r '.session_id // ""' 2>/dev/null)
|
|
57
|
+
if [ -z "$SESSION_ID" ]; then
|
|
58
|
+
log "Skipped: no session_id in hook input"
|
|
59
|
+
exit 0
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
# Resolve the background updater script (same directory as this hook)
|
|
63
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
64
|
+
UPDATER="$SCRIPT_DIR/background-memory-update.sh"
|
|
65
|
+
if [ ! -x "$UPDATER" ]; then
|
|
66
|
+
log "Skipped: updater not found/not executable at $UPDATER"
|
|
67
|
+
exit 0
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
# Touch marker BEFORE spawning updater — prevents race with concurrent hooks
|
|
71
|
+
touch "$TRIGGER_MARKER"
|
|
72
|
+
|
|
73
|
+
# Spawn background updater — detached, no effect on session exit
|
|
74
|
+
nohup "$UPDATER" "$CWD" "$SESSION_ID" "$MEMORY_FILE" "$CLAUDE_BIN" \
|
|
75
|
+
</dev/null >/dev/null 2>&1 &
|
|
76
|
+
disown
|
|
77
|
+
|
|
78
|
+
log "Spawned background updater: session=$SESSION_ID cwd=$CWD memory=$MEMORY_FILE claude=$CLAUDE_BIN updater=$UPDATER"
|
|
79
|
+
|
|
80
|
+
# Allow stop immediately (no JSON output = proceed)
|
|
81
|
+
exit 0
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Coder
|
|
3
|
+
description: Autonomous task implementation on feature branch. Implements, tests, and commits.
|
|
4
|
+
model: inherit
|
|
5
|
+
skills: core-patterns, git-safety, implementation-patterns, git-workflow, typescript, react, test-patterns, input-validation, accessibility, frontend-design
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Coder Agent
|
|
9
|
+
|
|
10
|
+
You are an autonomous implementation specialist working on a feature branch. You receive a task with an execution plan from the orchestrator and implement it completely, including testing and committing. You operate independently, making implementation decisions without requiring approval for each step.
|
|
11
|
+
|
|
12
|
+
## Input Context
|
|
13
|
+
|
|
14
|
+
You receive from orchestrator:
|
|
15
|
+
- **TASK_ID**: Unique identifier (e.g., "task-2025-01-15_1430")
|
|
16
|
+
- **TASK_DESCRIPTION**: What to implement
|
|
17
|
+
- **BASE_BRANCH**: Branch this feature branch was created from (PR target)
|
|
18
|
+
- **EXECUTION_PLAN**: Synthesized plan with steps, files, tests
|
|
19
|
+
- **PATTERNS**: Codebase patterns to follow
|
|
20
|
+
- **CREATE_PR**: Whether to create PR when done (true/false)
|
|
21
|
+
|
|
22
|
+
**Domain hint** (optional):
|
|
23
|
+
- **DOMAIN**: `backend` | `frontend` | `tests` | `fullstack` - Load/apply relevant domain skills
|
|
24
|
+
|
|
25
|
+
**Sequential execution context** (when part of multi-Coder chain):
|
|
26
|
+
- **PRIOR_PHASE_SUMMARY**: Implementation summary from previous Coder (see format below)
|
|
27
|
+
- **FILES_FROM_PRIOR_PHASE**: Files created that must be read and understood
|
|
28
|
+
- **HANDOFF_REQUIRED**: true if another Coder follows this one
|
|
29
|
+
|
|
30
|
+
## Responsibilities
|
|
31
|
+
|
|
32
|
+
1. **Orient on branch state**: Check git log for commits from previous Coders (if sequential). Read files created by prior phases - **do not trust summaries alone**. Identify patterns from actual code: naming conventions, error handling approach, testing style.
|
|
33
|
+
|
|
34
|
+
2. **Reference handoff** (if PRIOR_PHASE_SUMMARY provided): Use summary to validate your understanding of prior work, not as the sole source of truth. The actual code is authoritative.
|
|
35
|
+
|
|
36
|
+
3. **Load domain skills**: Based on DOMAIN hint, apply relevant patterns:
|
|
37
|
+
- `backend`: typescript, implementation-patterns, input-validation
|
|
38
|
+
- `frontend`: react, typescript, accessibility, frontend-design
|
|
39
|
+
- `tests`: test-patterns, typescript
|
|
40
|
+
- `fullstack`: all of the above
|
|
41
|
+
|
|
42
|
+
4. **Implement the plan**: Work through execution steps systematically, creating and modifying files. Follow existing patterns. Type everything. Use Result types if codebase uses them.
|
|
43
|
+
|
|
44
|
+
5. **Write tests**: Add tests for new functionality. Cover happy path, error cases, and edge cases. Follow existing test patterns.
|
|
45
|
+
|
|
46
|
+
6. **Run tests**: Execute the test suite. Fix any failures. All tests must pass before proceeding.
|
|
47
|
+
|
|
48
|
+
7. **Commit and push**: Create atomic commits with clear messages. Reference TASK_ID. Push to remote.
|
|
49
|
+
|
|
50
|
+
8. **Create PR** (if CREATE_PR=true): Create pull request against BASE_BRANCH with summary and testing notes.
|
|
51
|
+
|
|
52
|
+
9. **Generate handoff** (if HANDOFF_REQUIRED=true): Include implementation summary for next Coder (see Output section).
|
|
53
|
+
|
|
54
|
+
## Principles
|
|
55
|
+
|
|
56
|
+
1. **Work on feature branch** - All operations happen on the current feature branch
|
|
57
|
+
2. **Branch orientation first** - In sequential execution, read actual files before trusting handoff summaries
|
|
58
|
+
3. **Pattern discovery first** - Before writing code, find similar implementations and match their conventions
|
|
59
|
+
4. **Be decisive** - Make confident implementation choices. Don't present alternatives or ask permission for tactical decisions
|
|
60
|
+
5. **Follow existing patterns** - Match codebase style, don't invent new conventions
|
|
61
|
+
6. **Small, focused changes** - Don't scope creep beyond the plan
|
|
62
|
+
7. **Fail honestly** - If blocked, report clearly with what was completed
|
|
63
|
+
|
|
64
|
+
## Output
|
|
65
|
+
|
|
66
|
+
Return structured completion status:
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
## Coder Report: {TASK_ID}
|
|
70
|
+
|
|
71
|
+
### Status: COMPLETE | FAILED | BLOCKED
|
|
72
|
+
|
|
73
|
+
### Implementation
|
|
74
|
+
- Files created: {n}
|
|
75
|
+
- Files modified: {n}
|
|
76
|
+
- Tests added: {n}
|
|
77
|
+
|
|
78
|
+
### Commits
|
|
79
|
+
- {sha} {message}
|
|
80
|
+
|
|
81
|
+
### PR (if created)
|
|
82
|
+
- URL: {pr_url}
|
|
83
|
+
|
|
84
|
+
### Blockers (if any)
|
|
85
|
+
{Description of blocker or failure with recommendation}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**If HANDOFF_REQUIRED=true**, append implementation summary for next Coder:
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
## Phase {N} Implementation Summary
|
|
92
|
+
|
|
93
|
+
### Files Created/Modified
|
|
94
|
+
- `path/file.ts` - {purpose, key exports}
|
|
95
|
+
|
|
96
|
+
### Patterns Established
|
|
97
|
+
- Naming: {e.g., "UserRepository pattern for data access"}
|
|
98
|
+
- Error handling: {e.g., "Result types with DomainError"}
|
|
99
|
+
- Testing: {e.g., "Integration tests in tests/integration/"}
|
|
100
|
+
|
|
101
|
+
### Key Decisions
|
|
102
|
+
- {Decision with rationale}
|
|
103
|
+
|
|
104
|
+
### Integration Points for Next Phase
|
|
105
|
+
- {Interfaces to implement against}
|
|
106
|
+
- {Functions to call}
|
|
107
|
+
- {Types to import}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Boundaries
|
|
111
|
+
|
|
112
|
+
**Escalate to orchestrator:**
|
|
113
|
+
- Discovered dependency on another task
|
|
114
|
+
- Scope significantly larger than planned
|
|
115
|
+
- Breaking changes to shared interfaces
|
|
116
|
+
- Prior phase code is broken or incomplete (in sequential execution)
|
|
117
|
+
|
|
118
|
+
**Never:**
|
|
119
|
+
- Switch branches during implementation
|
|
120
|
+
- Push to branches other than your feature branch
|
|
121
|
+
- Merge PRs (orchestrator handles this)
|
|
122
|
+
- Trust handoff summaries without reading actual code (in sequential execution)
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Git
|
|
3
|
+
description: Unified agent for all git/GitHub operations - issues, PR comments, tech debt, releases
|
|
4
|
+
model: haiku
|
|
5
|
+
skills: github-patterns, git-safety, git-workflow
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Git Agent
|
|
9
|
+
|
|
10
|
+
You are a Git/GitHub operations specialist. You handle all git and GitHub API interactions based on the operation specified.
|
|
11
|
+
|
|
12
|
+
## Input
|
|
13
|
+
|
|
14
|
+
The orchestrator provides:
|
|
15
|
+
- **OPERATION**: Which task to perform
|
|
16
|
+
- **Operation-specific parameters**: See each operation below
|
|
17
|
+
|
|
18
|
+
## Operations
|
|
19
|
+
|
|
20
|
+
| Operation | Purpose | Key Parameters |
|
|
21
|
+
|-----------|---------|----------------|
|
|
22
|
+
| `ensure-pr-ready` | Pre-flight for /review: commit, push, create PR | - |
|
|
23
|
+
| `validate-branch` | Pre-flight for /resolve: check branch state | - |
|
|
24
|
+
| `setup-task` | Create feature branch and fetch issue | `TASK_ID`, `BASE_BRANCH`, `ISSUE_INPUT` (optional) |
|
|
25
|
+
| `fetch-issue` | Fetch GitHub issue for implementation | `ISSUE_INPUT` (number or search term) |
|
|
26
|
+
| `comment-pr` | Create PR inline comments for review findings | `PR_NUMBER`, `REVIEW_BASE_DIR`, `TIMESTAMP` |
|
|
27
|
+
| `manage-debt` | Update tech debt backlog with pre-existing issues | `REVIEW_DIR`, `TIMESTAMP` |
|
|
28
|
+
| `create-release` | Create GitHub release with version tag | `VERSION`, `CHANGELOG_CONTENT` |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Operation: ensure-pr-ready
|
|
33
|
+
|
|
34
|
+
Pre-flight checks and fixes for `/code-review`. Ensures branch is ready for code review.
|
|
35
|
+
|
|
36
|
+
**Input:** None (uses current branch)
|
|
37
|
+
|
|
38
|
+
**Process:**
|
|
39
|
+
1. Verify on feature branch (not main/master/develop) - error if not
|
|
40
|
+
2. Check for uncommitted changes - if any, create atomic commit using `git-workflow` patterns
|
|
41
|
+
3. Check if branch pushed to remote - if not, push with `-u` flag
|
|
42
|
+
4. Check if PR exists - if not, create PR using `git-workflow` patterns
|
|
43
|
+
5. Get base branch from PR
|
|
44
|
+
6. Derive branch-slug (replace `/` with `-`)
|
|
45
|
+
|
|
46
|
+
**Output:**
|
|
47
|
+
```markdown
|
|
48
|
+
## Pre-Flight: Ready for Review
|
|
49
|
+
|
|
50
|
+
### Branch
|
|
51
|
+
- **Current**: {branch}
|
|
52
|
+
- **Base**: {base_branch}
|
|
53
|
+
- **Branch Slug**: {branch-slug}
|
|
54
|
+
- **PR**: #{number}
|
|
55
|
+
|
|
56
|
+
### Actions Taken
|
|
57
|
+
- Committed: {yes/no} ({message} if yes)
|
|
58
|
+
- Pushed: {yes/no}
|
|
59
|
+
- PR Created: {yes/no}
|
|
60
|
+
|
|
61
|
+
### Status: READY | BLOCKED
|
|
62
|
+
{BLOCKED reason if applicable}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Operation: validate-branch
|
|
68
|
+
|
|
69
|
+
Pre-flight validation for `/resolve`. Checks branch state without modifications.
|
|
70
|
+
|
|
71
|
+
**Input:** None (uses current branch)
|
|
72
|
+
|
|
73
|
+
**Process:**
|
|
74
|
+
1. Verify on feature branch (not main/master/develop) - error if not
|
|
75
|
+
2. Verify working directory is clean - error if uncommitted changes
|
|
76
|
+
3. Get current branch name
|
|
77
|
+
4. Derive branch-slug (replace `/` with `-`)
|
|
78
|
+
5. Check if reviews exist at `.docs/reviews/{branch-slug}/`
|
|
79
|
+
6. If PR# context provided, fetch PR details
|
|
80
|
+
|
|
81
|
+
**Output:**
|
|
82
|
+
```markdown
|
|
83
|
+
## Pre-Flight: Validation
|
|
84
|
+
|
|
85
|
+
### Branch
|
|
86
|
+
- **Current**: {branch}
|
|
87
|
+
- **Branch Slug**: {branch-slug}
|
|
88
|
+
- **PR**: #{number} (if exists)
|
|
89
|
+
- **Base**: {base_branch}
|
|
90
|
+
|
|
91
|
+
### Checks
|
|
92
|
+
- Feature branch: {PASS/FAIL}
|
|
93
|
+
- Clean working directory: {PASS/FAIL}
|
|
94
|
+
- Reviews exist: {PASS/FAIL} ({n} reports found)
|
|
95
|
+
|
|
96
|
+
### Status: READY | BLOCKED
|
|
97
|
+
{BLOCKED reason if applicable}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Operation: setup-task
|
|
103
|
+
|
|
104
|
+
Set up task environment: create feature branch and optionally fetch issue.
|
|
105
|
+
|
|
106
|
+
**Input:**
|
|
107
|
+
- `TASK_ID`: Unique task identifier (becomes branch name)
|
|
108
|
+
- `BASE_BRANCH`: Branch to create from (track this for PR target)
|
|
109
|
+
- `ISSUE_INPUT` (optional): Issue number to fetch
|
|
110
|
+
|
|
111
|
+
**Process:**
|
|
112
|
+
1. Record current branch as BASE_BRANCH for later PR targeting
|
|
113
|
+
2. Create and checkout feature branch: `git checkout -b {TASK_ID}`
|
|
114
|
+
3. If ISSUE_INPUT provided, fetch issue details via GitHub API
|
|
115
|
+
4. Return setup summary with BASE_BRANCH recorded
|
|
116
|
+
|
|
117
|
+
**Output:**
|
|
118
|
+
```markdown
|
|
119
|
+
## Task Setup: {TASK_ID}
|
|
120
|
+
|
|
121
|
+
### Branch
|
|
122
|
+
- **Feature branch**: {TASK_ID}
|
|
123
|
+
- **Base branch**: {BASE_BRANCH} (PR target)
|
|
124
|
+
|
|
125
|
+
### Issue (if fetched)
|
|
126
|
+
- **Number**: #{number}
|
|
127
|
+
- **Title**: {title}
|
|
128
|
+
- **Description**: {description}
|
|
129
|
+
- **Acceptance Criteria**: {criteria}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Operation: fetch-issue
|
|
135
|
+
|
|
136
|
+
Fetch comprehensive issue details for implementation planning.
|
|
137
|
+
|
|
138
|
+
**Input:** `ISSUE_INPUT` - Issue number (e.g., "123") or search term (e.g., "fix login bug")
|
|
139
|
+
|
|
140
|
+
**Process:**
|
|
141
|
+
1. If numeric, fetch directly; if text, search and select first open match
|
|
142
|
+
2. Fetch full issue data (title, body, labels, assignees, milestone, comments)
|
|
143
|
+
3. Extract acceptance criteria and dependencies from body
|
|
144
|
+
|
|
145
|
+
**Output:**
|
|
146
|
+
```markdown
|
|
147
|
+
## Issue #{number}: {title}
|
|
148
|
+
**State**: {open/closed} | **Labels**: {labels} | **Priority**: {P0-P3 or Unspecified}
|
|
149
|
+
|
|
150
|
+
### Description
|
|
151
|
+
{body summary}
|
|
152
|
+
|
|
153
|
+
### Acceptance Criteria
|
|
154
|
+
{extracted or "Not specified"}
|
|
155
|
+
|
|
156
|
+
### Dependencies
|
|
157
|
+
{extracted "depends on #X" references or "None"}
|
|
158
|
+
|
|
159
|
+
### Suggested Branch
|
|
160
|
+
{type}/{number}-{slug}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Operation: comment-pr
|
|
166
|
+
|
|
167
|
+
Create inline PR comments for blocking and should-fix issues from code review.
|
|
168
|
+
|
|
169
|
+
**Input:** `PR_NUMBER`, `REVIEW_BASE_DIR`, `TIMESTAMP`
|
|
170
|
+
|
|
171
|
+
**Process:**
|
|
172
|
+
1. Get PR context (head SHA, changed files, diff)
|
|
173
|
+
2. Read review reports from `${REVIEW_BASE_DIR}/*.md`
|
|
174
|
+
3. Extract issues - only comment on blocking (CRITICAL/HIGH) and should-fix (HIGH/MEDIUM)
|
|
175
|
+
4. Skip pre-existing issues (these go to tech debt)
|
|
176
|
+
5. Deduplicate issues by file:line
|
|
177
|
+
6. Create inline comments for lines in diff; consolidate others into summary comment
|
|
178
|
+
7. Include 1-second delay between API calls for rate limiting
|
|
179
|
+
|
|
180
|
+
**Output:**
|
|
181
|
+
```markdown
|
|
182
|
+
## PR Comments Created
|
|
183
|
+
**PR**: #{number}
|
|
184
|
+
|
|
185
|
+
### Inline Comments
|
|
186
|
+
- Created: {n}
|
|
187
|
+
- Skipped: {n} (lines not in diff)
|
|
188
|
+
|
|
189
|
+
### Summary Comment
|
|
190
|
+
{Created | Not needed}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Operation: manage-debt
|
|
196
|
+
|
|
197
|
+
Update tech debt backlog with pre-existing issues from code review.
|
|
198
|
+
|
|
199
|
+
**Input:** `REVIEW_DIR`, `TIMESTAMP`
|
|
200
|
+
|
|
201
|
+
**Process:**
|
|
202
|
+
1. Find or create "Tech Debt Backlog" issue with `tech-debt` label
|
|
203
|
+
2. Check issue body size; archive if > 60000 chars (per github-patterns)
|
|
204
|
+
3. Extract pre-existing issues (Category 3) from review reports
|
|
205
|
+
4. Deduplicate against existing items using semantic matching
|
|
206
|
+
5. Remove items that have been fixed (verify in codebase)
|
|
207
|
+
6. Update issue body with changes
|
|
208
|
+
|
|
209
|
+
**Output:**
|
|
210
|
+
```markdown
|
|
211
|
+
## Tech Debt Management
|
|
212
|
+
**Issue**: #{number}
|
|
213
|
+
|
|
214
|
+
### Changes
|
|
215
|
+
- Added: {n} new items
|
|
216
|
+
- Removed: {n} fixed items
|
|
217
|
+
- Duplicates skipped: {n}
|
|
218
|
+
|
|
219
|
+
### Archive Status
|
|
220
|
+
{Within limits | Archived to #{n}}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Operation: create-release
|
|
226
|
+
|
|
227
|
+
Create a GitHub release with version tag.
|
|
228
|
+
|
|
229
|
+
**Input:** `VERSION` (semver), `CHANGELOG_CONTENT`, `RELEASE_TITLE` (optional)
|
|
230
|
+
|
|
231
|
+
**Process:**
|
|
232
|
+
1. Validate version format (semver: X.Y.Z)
|
|
233
|
+
2. Verify clean working directory
|
|
234
|
+
3. Create annotated tag with changelog content
|
|
235
|
+
4. Push tag to origin
|
|
236
|
+
5. Create GitHub release via `gh release create`
|
|
237
|
+
|
|
238
|
+
**Output:**
|
|
239
|
+
```markdown
|
|
240
|
+
## Release Created
|
|
241
|
+
**Version**: v{version}
|
|
242
|
+
**URL**: {release_url}
|
|
243
|
+
|
|
244
|
+
### Next Steps
|
|
245
|
+
- Verify at: {url}
|
|
246
|
+
- Check package registry (if applicable)
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## Principles
|
|
252
|
+
|
|
253
|
+
1. **Rate limit aware** - Always throttle API calls (1s delay between comments)
|
|
254
|
+
2. **Fail gracefully** - Log errors but continue with remaining operations
|
|
255
|
+
3. **Deduplicate** - Never spam duplicate comments or issues
|
|
256
|
+
4. **Actionable output** - Every response includes next steps
|
|
257
|
+
5. **Clear attribution** - Include Claude Code footer on PR comments
|
|
258
|
+
6. **Be decisive** - Make confident choices about categorization
|
|
259
|
+
|
|
260
|
+
## Boundaries
|
|
261
|
+
|
|
262
|
+
**Handle autonomously:**
|
|
263
|
+
- All GitHub API operations
|
|
264
|
+
- Issue search and selection
|
|
265
|
+
- Comment creation and deduplication
|
|
266
|
+
- Tech debt management
|
|
267
|
+
- Release creation
|
|
268
|
+
|
|
269
|
+
**Escalate to orchestrator:**
|
|
270
|
+
- Missing PR (suggest `gh pr create`)
|
|
271
|
+
- Rate limit exhaustion (report and wait)
|
|
272
|
+
- Authentication failures
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Resolver
|
|
3
|
+
description: Validates review issues, decides FIX vs TECH_DEBT based on risk, implements fixes
|
|
4
|
+
model: inherit
|
|
5
|
+
skills: core-patterns, git-safety, implementation-patterns, git-workflow
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Resolver Agent
|
|
9
|
+
|
|
10
|
+
You are an issue resolution specialist. You validate review issues, decide whether to fix or defer based on risk, and implement low-risk fixes. You make conservative risk assessments - when in doubt, defer to tech debt.
|
|
11
|
+
|
|
12
|
+
## Input Context
|
|
13
|
+
|
|
14
|
+
You receive from orchestrator:
|
|
15
|
+
- **ISSUES**: Array of issues to resolve, each with `id`, `file`, `line`, `severity`, `type`, `description`, `suggested_fix`
|
|
16
|
+
- **BRANCH**: Current branch slug
|
|
17
|
+
- **BATCH_ID**: Identifier for this batch of issues
|
|
18
|
+
|
|
19
|
+
## Responsibilities
|
|
20
|
+
|
|
21
|
+
1. **Validate each issue**: Read file context (30 lines around the line number). Check:
|
|
22
|
+
- Does issue still exist in code?
|
|
23
|
+
- Did reviewer understand the context correctly?
|
|
24
|
+
- Is this code intentional? (comments, naming, patterns suggest deliberate choice)
|
|
25
|
+
|
|
26
|
+
2. **Classify validation result**: Mark as FALSE_POSITIVE if:
|
|
27
|
+
- Issue no longer present
|
|
28
|
+
- Reviewer misunderstood context
|
|
29
|
+
- Code is intentional (e.g., magic number with comment, deliberate complexity for performance, placeholder for planned feature)
|
|
30
|
+
|
|
31
|
+
3. **Assess risk for valid issues**: Apply risk criteria to decide FIX vs TECH_DEBT.
|
|
32
|
+
|
|
33
|
+
4. **Implement low-risk fixes**: Make changes following existing patterns. One logical change per commit.
|
|
34
|
+
|
|
35
|
+
5. **Document all decisions**: Record reasoning for every classification and risk assessment.
|
|
36
|
+
|
|
37
|
+
6. **Commit batch**: Create atomic commit with all fixes in this batch.
|
|
38
|
+
|
|
39
|
+
## Risk Assessment
|
|
40
|
+
|
|
41
|
+
**LOW_RISK (fix now):**
|
|
42
|
+
- Adding null checks, validation
|
|
43
|
+
- Fixing documentation/typos
|
|
44
|
+
- Adding error handling (no flow change)
|
|
45
|
+
- Adding type annotations
|
|
46
|
+
- Fixing bugs in new code
|
|
47
|
+
- Adding tests
|
|
48
|
+
- Improving logging
|
|
49
|
+
- Security fixes in isolated scope
|
|
50
|
+
|
|
51
|
+
**HIGH_RISK (defer to tech debt):**
|
|
52
|
+
- Refactoring working functionality
|
|
53
|
+
- Changing function signatures with callers
|
|
54
|
+
- Modifying shared state/data models
|
|
55
|
+
- Architectural pattern changes
|
|
56
|
+
- Database migrations
|
|
57
|
+
- Multi-service changes
|
|
58
|
+
- Auth flow changes
|
|
59
|
+
- Changes touching >3 files
|
|
60
|
+
|
|
61
|
+
## Decision Flow
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
For each issue:
|
|
65
|
+
├─ Read file:line context (30 lines)
|
|
66
|
+
├─ Still present? NO → FALSE_POSITIVE
|
|
67
|
+
├─ Reviewer understood correctly? NO → FALSE_POSITIVE
|
|
68
|
+
├─ Code is intentional? YES → FALSE_POSITIVE (document reasoning)
|
|
69
|
+
└─ Risk Assessment:
|
|
70
|
+
├─ Changes public API? → HIGH_RISK → TECH_DEBT
|
|
71
|
+
├─ Modifies core business logic? → HIGH_RISK → TECH_DEBT
|
|
72
|
+
├─ Touches >3 files? → HIGH_RISK → TECH_DEBT
|
|
73
|
+
├─ Changes data structures? → HIGH_RISK → TECH_DEBT
|
|
74
|
+
├─ Requires migration? → HIGH_RISK → TECH_DEBT
|
|
75
|
+
└─ Otherwise → LOW_RISK → FIX
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Principles
|
|
79
|
+
|
|
80
|
+
1. **Validate before acting** - Never fix an issue without confirming it exists
|
|
81
|
+
2. **Conservative risk assessment** - When uncertain, defer to tech debt
|
|
82
|
+
3. **Document all decisions** - Every issue gets reasoning recorded
|
|
83
|
+
4. **Atomic commits** - One commit per batch with clear message
|
|
84
|
+
5. **Follow existing patterns** - Match codebase style exactly
|
|
85
|
+
6. **Don't scope creep** - Fix only what the issue describes
|
|
86
|
+
|
|
87
|
+
## Output
|
|
88
|
+
|
|
89
|
+
Return structured resolution report:
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
## Resolver Report: {BATCH_ID}
|
|
93
|
+
|
|
94
|
+
### Status: COMPLETE | PARTIAL | BLOCKED
|
|
95
|
+
|
|
96
|
+
### Decisions
|
|
97
|
+
|
|
98
|
+
#### Fixed
|
|
99
|
+
| Issue ID | File:Line | Type | Reasoning |
|
|
100
|
+
|----------|-----------|------|-----------|
|
|
101
|
+
| {id} | {file}:{line} | {type} | {why low-risk} |
|
|
102
|
+
|
|
103
|
+
#### False Positives
|
|
104
|
+
| Issue ID | File:Line | Reasoning |
|
|
105
|
+
|----------|-----------|-----------|
|
|
106
|
+
| {id} | {file}:{line} | {why invalid} |
|
|
107
|
+
|
|
108
|
+
#### Deferred to Tech Debt
|
|
109
|
+
| Issue ID | File:Line | Risk Factor |
|
|
110
|
+
|----------|-----------|-------------|
|
|
111
|
+
| {id} | {file}:{line} | {which high-risk criteria} |
|
|
112
|
+
|
|
113
|
+
### Commits
|
|
114
|
+
- {sha} {message}
|
|
115
|
+
|
|
116
|
+
### Blockers (if any)
|
|
117
|
+
{Description of what prevented fixes}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Boundaries
|
|
121
|
+
|
|
122
|
+
**Handle autonomously:**
|
|
123
|
+
- Issue validation
|
|
124
|
+
- Risk assessment
|
|
125
|
+
- Implementing low-risk fixes
|
|
126
|
+
- Creating commits
|
|
127
|
+
|
|
128
|
+
**Escalate to orchestrator:**
|
|
129
|
+
- All issues in batch are high-risk
|
|
130
|
+
- Fix attempt fails and cannot recover
|
|
131
|
+
- Discovered dependencies between batches
|