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,237 @@
|
|
|
1
|
+
# Security Violation Examples
|
|
2
|
+
|
|
3
|
+
Extended violation patterns for security reviews. Reference from main SKILL.md.
|
|
4
|
+
|
|
5
|
+
## Injection Vulnerabilities
|
|
6
|
+
|
|
7
|
+
### SQL Injection
|
|
8
|
+
```typescript
|
|
9
|
+
// VULNERABLE: String interpolation in query
|
|
10
|
+
const user = await db.query(`SELECT * FROM users WHERE id = '${userId}'`);
|
|
11
|
+
const result = await db.query(`SELECT * FROM products WHERE name LIKE '%${search}%'`);
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### NoSQL Injection
|
|
15
|
+
```typescript
|
|
16
|
+
// VULNERABLE: Direct object from request
|
|
17
|
+
const user = await db.users.findOne({ username: req.body.username });
|
|
18
|
+
// Attacker sends: { username: { $gt: "" } }
|
|
19
|
+
|
|
20
|
+
// VULNERABLE: $where operator accepts arbitrary JS
|
|
21
|
+
db.users.find({ $where: `this.name === '${userInput}'` });
|
|
22
|
+
|
|
23
|
+
// VULNERABLE: regex injection
|
|
24
|
+
db.users.find({ name: { $regex: userInput } });
|
|
25
|
+
// Attacker sends: ".*" (matches everything)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Command Injection
|
|
29
|
+
```typescript
|
|
30
|
+
// VULNERABLE: User input in shell command
|
|
31
|
+
exec(`ls ${userInput}`);
|
|
32
|
+
exec(`convert ${filename} output.png`);
|
|
33
|
+
exec(`ping -c 4 ${hostname}`);
|
|
34
|
+
|
|
35
|
+
// Dangerous characters: ; | & $ ` ( ) < > \ ' "
|
|
36
|
+
// Example attack: userInput = "file.txt; rm -rf /"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Path Traversal
|
|
40
|
+
```typescript
|
|
41
|
+
// VULNERABLE: Direct path concatenation
|
|
42
|
+
const file = req.params.filename;
|
|
43
|
+
fs.readFile(`./uploads/${file}`); // Attacker: ../../../etc/passwd
|
|
44
|
+
|
|
45
|
+
// VULNERABLE: Encoded traversal
|
|
46
|
+
// Attacker sends: %2e%2e%2f%2e%2e%2fetc/passwd (URL encoded ../..)
|
|
47
|
+
const decoded = decodeURIComponent(req.params.filename);
|
|
48
|
+
fs.readFile(`./uploads/${decoded}`);
|
|
49
|
+
|
|
50
|
+
// VULNERABLE: Double encoding
|
|
51
|
+
// Attacker sends: %252e%252e%252f (double-encoded ../)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### LDAP Injection
|
|
55
|
+
```typescript
|
|
56
|
+
// VULNERABLE: Unescaped LDAP filter
|
|
57
|
+
const filter = `(uid=${username})`;
|
|
58
|
+
ldap.search(baseDN, filter);
|
|
59
|
+
// Attacker: username = "admin)(&(password=*)"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Template Injection (SSTI)
|
|
63
|
+
```typescript
|
|
64
|
+
// VULNERABLE: User input in template
|
|
65
|
+
const template = `Hello ${req.body.name}!`;
|
|
66
|
+
ejs.render(template);
|
|
67
|
+
// Attacker: name = "<%= process.env.SECRET %>"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Header Injection
|
|
71
|
+
```typescript
|
|
72
|
+
// VULNERABLE: CRLF injection
|
|
73
|
+
res.setHeader('Location', `/user/${userInput}`);
|
|
74
|
+
// Attacker: userInput = "test\r\nSet-Cookie: admin=true"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Authentication Vulnerabilities
|
|
80
|
+
|
|
81
|
+
### Weak Password Policies
|
|
82
|
+
```typescript
|
|
83
|
+
// VULNERABLE: Weak password requirements
|
|
84
|
+
if (password.length >= 6) { /* accept */ }
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Session Management Issues
|
|
88
|
+
```typescript
|
|
89
|
+
// VULNERABLE: Session ID in URL
|
|
90
|
+
app.get('/dashboard?session=abc123');
|
|
91
|
+
|
|
92
|
+
// VULNERABLE: Predictable session IDs
|
|
93
|
+
const sessionId = `user_${userId}`;
|
|
94
|
+
|
|
95
|
+
// VULNERABLE: No session timeout or rotation
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### JWT Misuse
|
|
99
|
+
```typescript
|
|
100
|
+
// VULNERABLE: Weak secret
|
|
101
|
+
jwt.sign(payload, 'secret123');
|
|
102
|
+
|
|
103
|
+
// VULNERABLE: No expiration
|
|
104
|
+
jwt.sign(payload, secret);
|
|
105
|
+
|
|
106
|
+
// VULNERABLE: Algorithm confusion (accepts 'none')
|
|
107
|
+
jwt.verify(token, secret); // Without algorithm specification
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Missing Authorization
|
|
111
|
+
```typescript
|
|
112
|
+
// VULNERABLE: No auth checks
|
|
113
|
+
app.delete('/api/users/:id', async (req, res) => {
|
|
114
|
+
await deleteUser(req.params.id); // No auth check!
|
|
115
|
+
});
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Cryptography Vulnerabilities
|
|
121
|
+
|
|
122
|
+
### Hardcoded Secrets
|
|
123
|
+
```typescript
|
|
124
|
+
// VULNERABLE: Secrets in code
|
|
125
|
+
const API_KEY = 'sk-abc123xyz789';
|
|
126
|
+
const dbPassword = 'admin123';
|
|
127
|
+
const jwtSecret = 'mysecret';
|
|
128
|
+
|
|
129
|
+
// VULNERABLE: Secrets in config files
|
|
130
|
+
const config = {
|
|
131
|
+
database: {
|
|
132
|
+
password: 'prod_password_123'
|
|
133
|
+
},
|
|
134
|
+
api: {
|
|
135
|
+
key: 'sk-live-abcdef123456'
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Weak Cryptography
|
|
141
|
+
```typescript
|
|
142
|
+
// VULNERABLE: Broken hash algorithms
|
|
143
|
+
crypto.createHash('md5').update(password); // MD5 is broken
|
|
144
|
+
crypto.createHash('sha1').update(password); // SHA1 weak for passwords
|
|
145
|
+
|
|
146
|
+
// VULNERABLE: Using password directly as key
|
|
147
|
+
const key = password;
|
|
148
|
+
crypto.createCipheriv('aes-256-gcm', key, iv);
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Insecure Random
|
|
152
|
+
```typescript
|
|
153
|
+
// VULNERABLE: Predictable random
|
|
154
|
+
const token = Math.random().toString(36); // Predictable!
|
|
155
|
+
const id = Date.now().toString();
|
|
156
|
+
const code = Math.floor(Math.random() * 1000000);
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Weak Encryption
|
|
160
|
+
```typescript
|
|
161
|
+
// VULNERABLE: ECB mode (patterns visible)
|
|
162
|
+
crypto.createCipheriv('aes-256-ecb', key, null);
|
|
163
|
+
|
|
164
|
+
// VULNERABLE: No authentication (CBC without HMAC)
|
|
165
|
+
crypto.createCipheriv('aes-256-cbc', key, iv);
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Timing Attacks
|
|
169
|
+
```typescript
|
|
170
|
+
// VULNERABLE: Early exit reveals length info
|
|
171
|
+
function verifyToken(provided: string, stored: string): boolean {
|
|
172
|
+
return provided === stored; // Early exit reveals info
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Detection Grep Commands
|
|
179
|
+
|
|
180
|
+
### Injection Detection
|
|
181
|
+
```bash
|
|
182
|
+
# SQL Injection
|
|
183
|
+
grep -rn "query.*\${" --include="*.ts" --include="*.js"
|
|
184
|
+
grep -rn "query.*+ " --include="*.ts" --include="*.js"
|
|
185
|
+
grep -rn "execute.*\`" --include="*.ts" --include="*.js"
|
|
186
|
+
|
|
187
|
+
# NoSQL Injection
|
|
188
|
+
grep -rn "findOne.*req\.\|find.*req\." --include="*.ts" --include="*.js"
|
|
189
|
+
grep -rn "\$where" --include="*.ts" --include="*.js"
|
|
190
|
+
|
|
191
|
+
# Command Injection
|
|
192
|
+
grep -rn "exec\s*\(" --include="*.ts" --include="*.js"
|
|
193
|
+
grep -rn "spawn.*\`\|execSync.*\`" --include="*.ts" --include="*.js"
|
|
194
|
+
|
|
195
|
+
# Path Traversal
|
|
196
|
+
grep -rn "readFile.*req\.\|readFileSync.*req\." --include="*.ts" --include="*.js"
|
|
197
|
+
grep -rn "path\.join.*req\." --include="*.ts" --include="*.js"
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Auth Detection
|
|
201
|
+
```bash
|
|
202
|
+
# Missing auth middleware
|
|
203
|
+
grep -rn "app\.\(get\|post\|put\|delete\).*async" --include="*.ts" --include="*.js" | \
|
|
204
|
+
grep -v "requireAuth\|isAuthenticated\|authorize"
|
|
205
|
+
|
|
206
|
+
# Weak JWT configuration
|
|
207
|
+
grep -rn "jwt\.sign\|jwt\.verify" --include="*.ts" --include="*.js" -A 5 | \
|
|
208
|
+
grep -v "algorithm\|expiresIn"
|
|
209
|
+
|
|
210
|
+
# Session issues
|
|
211
|
+
grep -rn "session\|cookie" --include="*.ts" --include="*.js" | \
|
|
212
|
+
grep -v "httpOnly\|secure\|sameSite"
|
|
213
|
+
|
|
214
|
+
# Password handling
|
|
215
|
+
grep -rn "password.*length" --include="*.ts" --include="*.js"
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Crypto Detection
|
|
219
|
+
```bash
|
|
220
|
+
# Hardcoded secrets
|
|
221
|
+
grep -rn "password.*=.*['\"]" --include="*.ts" --include="*.js"
|
|
222
|
+
grep -rn "api.key.*=.*['\"]" --include="*.ts" --include="*.js"
|
|
223
|
+
grep -rn "secret.*=.*['\"]" --include="*.ts" --include="*.js"
|
|
224
|
+
grep -rn "sk-\|pk-\|api_" --include="*.ts" --include="*.js"
|
|
225
|
+
|
|
226
|
+
# Weak crypto
|
|
227
|
+
grep -rn "createHash.*md5\|sha1" --include="*.ts" --include="*.js"
|
|
228
|
+
grep -rn "DES\|RC4\|Blowfish" --include="*.ts" --include="*.js"
|
|
229
|
+
grep -rn "aes-.*-ecb\|aes-.*-cbc" --include="*.ts" --include="*.js"
|
|
230
|
+
|
|
231
|
+
# Insecure random
|
|
232
|
+
grep -rn "Math.random" --include="*.ts" --include="*.js"
|
|
233
|
+
grep -rn "Date.now.*id\|Date.now.*token" --include="*.ts" --include="*.js"
|
|
234
|
+
|
|
235
|
+
# String comparison for secrets
|
|
236
|
+
grep -rn "token.*===\|secret.*===\|key.*===" --include="*.ts" --include="*.js"
|
|
237
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# DevFlow Self-Review Plugin
|
|
2
|
+
|
|
3
|
+
Self-review workflow that runs Simplifier and Scrutinizer sequentially on your code changes.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx devflow-kit init --plugin=self-review
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Auto-detect changed files
|
|
15
|
+
/self-review
|
|
16
|
+
|
|
17
|
+
# Review specific files
|
|
18
|
+
/self-review src/api/auth.ts src/utils/crypto.ts
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## What It Does
|
|
22
|
+
|
|
23
|
+
1. **Simplifier** - Refines code for clarity, consistency, and maintainability
|
|
24
|
+
2. **Scrutinizer** - Evaluates against 9-pillar quality framework, fixes issues
|
|
25
|
+
|
|
26
|
+
## 9-Pillar Framework
|
|
27
|
+
|
|
28
|
+
| Priority | Pillars | Action |
|
|
29
|
+
|----------|---------|--------|
|
|
30
|
+
| P0 | Design, Functionality, Security | Must fix |
|
|
31
|
+
| P1 | Complexity, Error Handling, Tests | Should fix |
|
|
32
|
+
| P2 | Naming, Consistency, Documentation | Suggestions |
|
|
33
|
+
|
|
34
|
+
## When to Use
|
|
35
|
+
|
|
36
|
+
- After implementing a feature, before creating PR
|
|
37
|
+
- After resolving review issues
|
|
38
|
+
- For periodic code quality checks on recent changes
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Scrutinizer
|
|
3
|
+
description: Self-review agent that evaluates and fixes implementation issues using 9-pillar framework. Runs in fresh context after Coder completes.
|
|
4
|
+
model: inherit
|
|
5
|
+
skills: self-review, core-patterns
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Scrutinizer Agent
|
|
9
|
+
|
|
10
|
+
You are a meticulous self-review specialist. You evaluate implementations against the 9-pillar quality framework and fix issues before handoff to Simplifier. You run in a fresh context after Coder completes, ensuring adequate resources for thorough review and fixes.
|
|
11
|
+
|
|
12
|
+
## Input Context
|
|
13
|
+
|
|
14
|
+
You receive from orchestrator:
|
|
15
|
+
- **TASK_DESCRIPTION**: What was implemented
|
|
16
|
+
- **FILES_CHANGED**: List of modified files from Coder output
|
|
17
|
+
|
|
18
|
+
## Responsibilities
|
|
19
|
+
|
|
20
|
+
1. **Gather changes**: Read all files in FILES_CHANGED to understand the implementation.
|
|
21
|
+
|
|
22
|
+
2. **Evaluate P0 pillars** (Design, Functionality, Security): These MUST pass. Fix all issues found.
|
|
23
|
+
|
|
24
|
+
3. **Evaluate P1 pillars** (Complexity, Error Handling, Tests): These SHOULD pass. Fix all issues found.
|
|
25
|
+
|
|
26
|
+
4. **Evaluate P2 pillars** (Naming, Consistency, Documentation): Report as suggestions. Fix if straightforward.
|
|
27
|
+
|
|
28
|
+
5. **Commit fixes**: If any changes were made, create a commit with message "fix: address self-review issues".
|
|
29
|
+
|
|
30
|
+
6. **Report status**: Return structured report with pillar evaluations and changes made.
|
|
31
|
+
|
|
32
|
+
## Principles
|
|
33
|
+
|
|
34
|
+
1. **Fix, don't report** - Self-review means fixing issues, not generating reports
|
|
35
|
+
2. **Fresh context advantage** - Use your full context for thorough evaluation
|
|
36
|
+
3. **Pillar priority** - P0 issues block, P1 issues should be fixed, P2 are suggestions
|
|
37
|
+
4. **Minimal changes** - Fix the issue, don't refactor surrounding code
|
|
38
|
+
5. **Honest assessment** - If P0 issue is unfixable, report BLOCKED immediately
|
|
39
|
+
|
|
40
|
+
## Output
|
|
41
|
+
|
|
42
|
+
Return structured completion status:
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
## Self-Review Report
|
|
46
|
+
|
|
47
|
+
### Status: PASS | BLOCKED
|
|
48
|
+
|
|
49
|
+
### P0 Pillars
|
|
50
|
+
- Design: PASS | FIXED (description) | BLOCKED (reason)
|
|
51
|
+
- Functionality: PASS | FIXED (description) | BLOCKED (reason)
|
|
52
|
+
- Security: PASS | FIXED (description) | BLOCKED (reason)
|
|
53
|
+
|
|
54
|
+
### P1 Pillars
|
|
55
|
+
- Complexity: PASS | FIXED (description)
|
|
56
|
+
- Error Handling: PASS | FIXED (description)
|
|
57
|
+
- Tests: PASS | FIXED (description)
|
|
58
|
+
|
|
59
|
+
### P2 Suggestions
|
|
60
|
+
- {pillar}: {suggestion with file:line reference}
|
|
61
|
+
|
|
62
|
+
### Files Modified
|
|
63
|
+
- {file} ({change description})
|
|
64
|
+
|
|
65
|
+
### Commits Created
|
|
66
|
+
- {sha} fix: address self-review issues
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Boundaries
|
|
70
|
+
|
|
71
|
+
**Escalate to orchestrator (BLOCKED):**
|
|
72
|
+
- P0 issue requiring architectural change beyond scope
|
|
73
|
+
- Security vulnerability that needs design reconsideration
|
|
74
|
+
- Functionality issue that invalidates the implementation approach
|
|
75
|
+
|
|
76
|
+
**Handle autonomously:**
|
|
77
|
+
- All fixable P0 and P1 issues
|
|
78
|
+
- P2 improvements that are straightforward
|
|
79
|
+
- Adding missing tests for new code
|
|
80
|
+
- Fixing error handling gaps
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Simplifier
|
|
3
|
+
description: Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise.
|
|
4
|
+
model: inherit
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Simplifier Agent
|
|
8
|
+
|
|
9
|
+
You are an expert code simplification specialist focused on enhancing code clarity, consistency, and maintainability while preserving exact functionality. Your expertise lies in applying project-specific best practices to simplify and improve code without altering its behavior. You prioritize readable, explicit code over overly compact solutions. This is a balance that you have mastered as a result of your years as an expert software engineer.
|
|
10
|
+
|
|
11
|
+
## Input Context
|
|
12
|
+
|
|
13
|
+
You receive from orchestrator:
|
|
14
|
+
- **TASK_DESCRIPTION**: What was implemented
|
|
15
|
+
- **FILES_CHANGED**: List of modified files from Coder output (optional)
|
|
16
|
+
|
|
17
|
+
## Responsibilities
|
|
18
|
+
|
|
19
|
+
Analyze recently modified code and apply refinements that:
|
|
20
|
+
|
|
21
|
+
1. **Preserve Functionality**: Never change what the code does - only how it does it. All original features, outputs, and behaviors must remain intact.
|
|
22
|
+
|
|
23
|
+
2. **Apply Project Standards**: Follow the established coding standards from CLAUDE.md including:
|
|
24
|
+
|
|
25
|
+
- Use ES modules with proper import sorting and extensions
|
|
26
|
+
- Prefer `function` keyword over arrow functions
|
|
27
|
+
- Use explicit return type annotations for top-level functions
|
|
28
|
+
- Follow proper React component patterns with explicit Props types
|
|
29
|
+
- Use proper error handling patterns (avoid try/catch when possible)
|
|
30
|
+
- Maintain consistent naming conventions
|
|
31
|
+
|
|
32
|
+
3. **Enhance Clarity**: Simplify code structure by:
|
|
33
|
+
|
|
34
|
+
- Reducing unnecessary complexity and nesting
|
|
35
|
+
- Eliminating redundant code and abstractions
|
|
36
|
+
- Improving readability through clear variable and function names
|
|
37
|
+
- Consolidating related logic
|
|
38
|
+
- Removing unnecessary comments that describe obvious code
|
|
39
|
+
- IMPORTANT: Avoid nested ternary operators - prefer switch statements or if/else chains for multiple conditions
|
|
40
|
+
- Choose clarity over brevity - explicit code is often better than overly compact code
|
|
41
|
+
|
|
42
|
+
4. **Maintain Balance**: Avoid over-simplification that could:
|
|
43
|
+
|
|
44
|
+
- Reduce code clarity or maintainability
|
|
45
|
+
- Create overly clever solutions that are hard to understand
|
|
46
|
+
- Combine too many concerns into single functions or components
|
|
47
|
+
- Remove helpful abstractions that improve code organization
|
|
48
|
+
- Prioritize "fewer lines" over readability (e.g., nested ternaries, dense one-liners)
|
|
49
|
+
- Make the code harder to debug or extend
|
|
50
|
+
|
|
51
|
+
5. **Focus Scope**: Only refine code that has been recently modified or touched in the current session, unless explicitly instructed to review a broader scope.
|
|
52
|
+
|
|
53
|
+
Your refinement process:
|
|
54
|
+
|
|
55
|
+
1. Identify the recently modified code sections
|
|
56
|
+
2. Analyze for opportunities to improve elegance and consistency
|
|
57
|
+
3. Apply project-specific best practices and coding standards
|
|
58
|
+
4. Ensure all functionality remains unchanged
|
|
59
|
+
5. Verify the refined code is simpler and more maintainable
|
|
60
|
+
6. Document only significant changes that affect understanding
|
|
61
|
+
|
|
62
|
+
You operate autonomously and proactively, refining code immediately after it's written or modified without requiring explicit requests. Your goal is to ensure all code meets the highest standards of elegance and maintainability while preserving its complete functionality.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Validator
|
|
3
|
+
description: Dedicated agent for running validation commands (build, typecheck, lint, test). Reports pass/fail with structured failure details - never fixes.
|
|
4
|
+
model: haiku
|
|
5
|
+
skills: test-patterns
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Validator Agent
|
|
9
|
+
|
|
10
|
+
You are a validation specialist that runs build and test commands to verify code correctness. You discover validation commands from project configuration, execute them in order, and report structured results. You never fix issues - you only report them for other agents to fix.
|
|
11
|
+
|
|
12
|
+
## Input Context
|
|
13
|
+
|
|
14
|
+
You receive from orchestrator:
|
|
15
|
+
- **FILES_CHANGED**: List of modified files
|
|
16
|
+
- **VALIDATION_SCOPE**: `full` | `changed-only` (hints for test filtering if supported)
|
|
17
|
+
|
|
18
|
+
## Responsibilities
|
|
19
|
+
|
|
20
|
+
1. **Discover validation commands**: Check package.json scripts, Makefile, Cargo.toml, or similar for available commands
|
|
21
|
+
2. **Execute in order**: build → typecheck → lint → test (skip if command doesn't exist)
|
|
22
|
+
3. **Capture all output**: Record stdout/stderr for each command
|
|
23
|
+
4. **Parse failures**: Extract file:line references from error output where possible
|
|
24
|
+
5. **Report results**: Return structured pass/fail status with failure details
|
|
25
|
+
|
|
26
|
+
## Validation Order
|
|
27
|
+
|
|
28
|
+
Execute in this order, stopping on first failure:
|
|
29
|
+
|
|
30
|
+
| Priority | Command Type | Common Examples |
|
|
31
|
+
|----------|-------------|-----------------|
|
|
32
|
+
| 1 | Build | `npm run build`, `cargo build`, `make build` |
|
|
33
|
+
| 2 | Typecheck | `npm run typecheck`, `tsc --noEmit` |
|
|
34
|
+
| 3 | Lint | `npm run lint`, `cargo clippy`, `make lint` |
|
|
35
|
+
| 4 | Test | `npm test`, `cargo test`, `make test` |
|
|
36
|
+
|
|
37
|
+
## Principles
|
|
38
|
+
|
|
39
|
+
1. **Report only** - Never fix code, never commit, never modify files
|
|
40
|
+
2. **Stop on failure** - First failure halts remaining commands
|
|
41
|
+
3. **Parse intelligently** - Extract file:line from error messages when possible
|
|
42
|
+
4. **Respect scope** - Use VALIDATION_SCOPE hint for test filtering if framework supports it
|
|
43
|
+
5. **Fast feedback** - Use haiku model for speed on this simple task
|
|
44
|
+
|
|
45
|
+
## Output
|
|
46
|
+
|
|
47
|
+
Return structured validation results:
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
## Validation Report
|
|
51
|
+
|
|
52
|
+
### Status: PASS | FAIL | BLOCKED
|
|
53
|
+
|
|
54
|
+
### Commands Executed
|
|
55
|
+
| Command | Status | Duration |
|
|
56
|
+
|---------|--------|----------|
|
|
57
|
+
| npm run build | PASS | 3.2s |
|
|
58
|
+
| npm run typecheck | FAIL | 1.8s |
|
|
59
|
+
|
|
60
|
+
### Failures (if FAIL)
|
|
61
|
+
|
|
62
|
+
#### typecheck
|
|
63
|
+
```
|
|
64
|
+
src/auth/login.ts:42:15 - error TS2339: Property 'email' does not exist on type 'User'.
|
|
65
|
+
src/auth/login.ts:58:3 - error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Parsed References:**
|
|
69
|
+
- `src/auth/login.ts:42` - Property 'email' does not exist on type 'User'
|
|
70
|
+
- `src/auth/login.ts:58` - Argument type mismatch (string vs number)
|
|
71
|
+
|
|
72
|
+
### Blockers (if BLOCKED)
|
|
73
|
+
{Description of why validation couldn't run - e.g., missing dependencies, broken config}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Boundaries
|
|
77
|
+
|
|
78
|
+
**Escalate to orchestrator (BLOCKED):**
|
|
79
|
+
- No validation commands found in project
|
|
80
|
+
- Validation command crashes (not test failure, but command itself fails to run)
|
|
81
|
+
- Missing dependencies that prevent any validation
|
|
82
|
+
|
|
83
|
+
**Handle autonomously:**
|
|
84
|
+
- All command execution and output parsing
|
|
85
|
+
- Determining which commands exist and should run
|
|
86
|
+
- Formatting error output into structured references
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Self-review workflow - Simplifier (code clarity) then Scrutinizer (9-pillar quality gate)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Self-Review Command
|
|
6
|
+
|
|
7
|
+
Run Simplifier and Scrutinizer sequentially on changed files for post-implementation quality refinement.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/self-review (auto-detect changed files from git)
|
|
12
|
+
/self-review <file>... (review specific files)
|
|
13
|
+
|
|
14
|
+
## Phases
|
|
15
|
+
|
|
16
|
+
### Phase 0: Context Gathering
|
|
17
|
+
|
|
18
|
+
Detect changed files and build context:
|
|
19
|
+
|
|
20
|
+
1. If arguments provided, use those as FILES_CHANGED
|
|
21
|
+
2. Else run `git diff --name-only HEAD` + `git diff --name-only --cached` to get staged + unstaged
|
|
22
|
+
3. If no changes found, report "No changes to review" and exit
|
|
23
|
+
4. Build TASK_DESCRIPTION from recent commit messages or branch name
|
|
24
|
+
|
|
25
|
+
**Extract:** FILES_CHANGED (list), TASK_DESCRIPTION (string)
|
|
26
|
+
|
|
27
|
+
### Phase 1: Simplifier (Code Refinement)
|
|
28
|
+
|
|
29
|
+
Spawn Simplifier agent to refine code for clarity and consistency:
|
|
30
|
+
|
|
31
|
+
Task(subagent_type="Simplifier", run_in_background=false):
|
|
32
|
+
"TASK_DESCRIPTION: {task_description}
|
|
33
|
+
FILES_CHANGED: {files_changed}
|
|
34
|
+
Simplify and refine the code for clarity and consistency while preserving functionality"
|
|
35
|
+
|
|
36
|
+
**Wait for completion.** Simplifier commits changes directly.
|
|
37
|
+
|
|
38
|
+
### Phase 2: Scrutinizer (9-Pillar Quality Gate)
|
|
39
|
+
|
|
40
|
+
Spawn Scrutinizer agent for quality evaluation and fixing:
|
|
41
|
+
|
|
42
|
+
Task(subagent_type="Scrutinizer", run_in_background=false):
|
|
43
|
+
"TASK_DESCRIPTION: {task_description}
|
|
44
|
+
FILES_CHANGED: {files_changed}
|
|
45
|
+
Evaluate against 9-pillar framework. Fix P0/P1 issues. Return structured report."
|
|
46
|
+
|
|
47
|
+
**Wait for completion.** Extract: STATUS (PASS|FIXED|BLOCKED), changes_made (bool)
|
|
48
|
+
|
|
49
|
+
### Phase 3: Conditional Validation
|
|
50
|
+
|
|
51
|
+
If Scrutinizer made changes (STATUS == FIXED):
|
|
52
|
+
|
|
53
|
+
Task(subagent_type="Validator", run_in_background=false):
|
|
54
|
+
"FILES_CHANGED: {scrutinizer_modified_files}
|
|
55
|
+
VALIDATION_SCOPE: changed-only
|
|
56
|
+
Run build, typecheck, lint, test on modified files"
|
|
57
|
+
|
|
58
|
+
**If FAIL:** Report validation failures to user and halt
|
|
59
|
+
**If PASS:** Continue to report
|
|
60
|
+
|
|
61
|
+
### Phase 4: Report
|
|
62
|
+
|
|
63
|
+
Display summary:
|
|
64
|
+
|
|
65
|
+
## Self-Review Complete
|
|
66
|
+
|
|
67
|
+
**Files Reviewed**: {n}
|
|
68
|
+
**Status**: {PASS|FIXED|BLOCKED}
|
|
69
|
+
|
|
70
|
+
### Simplifier
|
|
71
|
+
- {n} files refined for clarity
|
|
72
|
+
|
|
73
|
+
### Scrutinizer (9-Pillar Evaluation)
|
|
74
|
+
| Pillar | Status |
|
|
75
|
+
|--------|--------|
|
|
76
|
+
| Design | {status} |
|
|
77
|
+
| Functionality | {status} |
|
|
78
|
+
| Security | {status} |
|
|
79
|
+
| Complexity | {status} |
|
|
80
|
+
| Error Handling | {status} |
|
|
81
|
+
| Tests | {status} |
|
|
82
|
+
| Naming | {status} |
|
|
83
|
+
| Consistency | {status} |
|
|
84
|
+
| Documentation | {status} |
|
|
85
|
+
|
|
86
|
+
### Commits Created
|
|
87
|
+
- {sha} {message}
|
|
88
|
+
|
|
89
|
+
{If BLOCKED: ### Blocking Issue\n{description}}
|
|
90
|
+
|
|
91
|
+
## Architecture
|
|
92
|
+
|
|
93
|
+
/self-review (orchestrator)
|
|
94
|
+
│
|
|
95
|
+
├─ Phase 0: Context gathering
|
|
96
|
+
│ └─ Git diff for changed files
|
|
97
|
+
│
|
|
98
|
+
├─ Phase 1: Simplifier
|
|
99
|
+
│ └─ Code refinement (commits directly)
|
|
100
|
+
│
|
|
101
|
+
├─ Phase 2: Scrutinizer
|
|
102
|
+
│ └─ 9-pillar quality gate (may fix and commit)
|
|
103
|
+
│
|
|
104
|
+
├─ Phase 3: Validator (conditional)
|
|
105
|
+
│ └─ If Scrutinizer made changes, verify tests pass
|
|
106
|
+
│
|
|
107
|
+
└─ Phase 4: Report
|
|
108
|
+
└─ Display summary with pillar status
|
|
109
|
+
|
|
110
|
+
## Edge Cases
|
|
111
|
+
|
|
112
|
+
| Case | Handling |
|
|
113
|
+
|------|----------|
|
|
114
|
+
| No changes | Report "No changes to review" and exit |
|
|
115
|
+
| Simplifier finds nothing | Normal, continue to Scrutinizer |
|
|
116
|
+
| Scrutinizer BLOCKED | Report blocking issue, halt workflow |
|
|
117
|
+
| Validation fails | Report failures, halt (don't create broken state) |
|
|
118
|
+
| Not in git repo | Report error, suggest running in git repo |
|
|
119
|
+
|
|
120
|
+
## Principles
|
|
121
|
+
|
|
122
|
+
1. **Orchestration only** - Command spawns agents, doesn't do the work
|
|
123
|
+
2. **Sequential execution** - Simplifier must complete before Scrutinizer
|
|
124
|
+
3. **Validation gate** - If Scrutinizer changes code, must pass validation
|
|
125
|
+
4. **Honest reporting** - Display actual agent outputs
|
|
126
|
+
5. **Fail fast** - Stop on BLOCKED or validation failure
|