devflow-kit 0.9.0 → 1.1.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 +197 -29
- package/LICENSE +1 -1
- package/README.md +185 -309
- package/dist/cli.js +7 -1
- package/dist/commands/ambient.d.ts +18 -0
- package/dist/commands/ambient.js +136 -0
- package/dist/commands/init.d.ts +23 -0
- package/dist/commands/init.js +393 -571
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.js +20 -0
- package/dist/commands/memory.d.ts +22 -0
- package/dist/commands/memory.js +175 -0
- package/dist/commands/uninstall.d.ts +10 -0
- package/dist/commands/uninstall.js +418 -78
- package/dist/plugins.d.ts +46 -0
- package/dist/plugins.js +169 -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 +80 -0
- package/dist/utils/post-install.js +508 -0
- package/dist/utils/safe-delete-install.d.ts +29 -0
- package/dist/utils/safe-delete-install.js +191 -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-ambient/.claude-plugin/plugin.json +7 -0
- package/plugins/devflow-ambient/README.md +49 -0
- package/plugins/devflow-ambient/commands/ambient.md +110 -0
- package/plugins/devflow-ambient/skills/ambient-router/SKILL.md +89 -0
- package/plugins/devflow-ambient/skills/ambient-router/references/skill-catalog.md +64 -0
- 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 +28 -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 +138 -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-driven-development/SKILL.md +139 -0
- package/plugins/devflow-core-skills/skills/test-driven-development/references/rationalization-prevention.md +111 -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/ambient-prompt.sh +48 -0
- package/scripts/hooks/background-memory-update.sh +208 -0
- package/scripts/hooks/ensure-memory-gitignore.sh +17 -0
- package/scripts/hooks/pre-compact-memory.sh +87 -0
- package/scripts/hooks/session-start-memory.sh +126 -0
- package/scripts/hooks/stop-update-memory.sh +85 -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/ambient-router/SKILL.md +89 -0
- package/shared/skills/ambient-router/references/skill-catalog.md +64 -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 +138 -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-driven-development/SKILL.md +139 -0
- package/shared/skills/test-driven-development/references/rationalization-prevention.md +111 -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 +160 -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/get-issue.md +0 -286
- 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 -493
- 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/get-issue.md +0 -16
- 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 -20
- 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,308 @@
|
|
|
1
|
+
# Self-Review Violations
|
|
2
|
+
|
|
3
|
+
Common anti-patterns and code violations organized by the 9 pillars.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Self-Review Process Violations
|
|
8
|
+
|
|
9
|
+
| Violation | Problem | Fix |
|
|
10
|
+
|-----------|---------|-----|
|
|
11
|
+
| Skipping pillars | Incomplete review | Check all 9 pillars |
|
|
12
|
+
| Ignoring P0/P1 issues | Returning broken code | Fix before returning |
|
|
13
|
+
| Surface-level review | Missing deep issues | Review each pillar thoroughly |
|
|
14
|
+
| No evidence | Unverifiable claims | Reference specific code |
|
|
15
|
+
| Deferring critical fixes | Technical debt | Fix CRITICAL/HIGH immediately |
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## P0 Pillars (MUST Fix)
|
|
20
|
+
|
|
21
|
+
### 1. Design Violations
|
|
22
|
+
|
|
23
|
+
**Question**: Does the implementation fit the architecture?
|
|
24
|
+
|
|
25
|
+
**Red Flags**:
|
|
26
|
+
```typescript
|
|
27
|
+
// BAD: Direct database access in controller
|
|
28
|
+
class UserController {
|
|
29
|
+
async getUser(req, res) {
|
|
30
|
+
const user = await db.query('SELECT * FROM users WHERE id = ?', [req.params.id]);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// BAD: God class doing everything
|
|
35
|
+
class ApplicationManager {
|
|
36
|
+
createUser() {}
|
|
37
|
+
processPayment() {}
|
|
38
|
+
sendEmail() {}
|
|
39
|
+
generateReport() {}
|
|
40
|
+
// 500 more methods...
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// BAD: Circular dependencies
|
|
44
|
+
// a.ts imports b.ts, b.ts imports a.ts
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Checklist**:
|
|
48
|
+
- [ ] Follows existing patterns in codebase
|
|
49
|
+
- [ ] Respects layer boundaries (controller/service/repository)
|
|
50
|
+
- [ ] Dependencies injected, not instantiated
|
|
51
|
+
- [ ] Not over-engineering (YAGNI)
|
|
52
|
+
- [ ] Not under-engineering (technical debt)
|
|
53
|
+
- [ ] Interactions with other components are sound
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### 2. Functionality Violations
|
|
58
|
+
|
|
59
|
+
**Question**: Does the code work as intended?
|
|
60
|
+
|
|
61
|
+
**Red Flags**:
|
|
62
|
+
```typescript
|
|
63
|
+
// BAD: Missing null check
|
|
64
|
+
function getDisplayName(user: User) {
|
|
65
|
+
return user.profile.displayName; // user.profile could be undefined!
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// BAD: Race condition
|
|
69
|
+
let balance = await getBalance();
|
|
70
|
+
if (balance >= amount) {
|
|
71
|
+
await withdraw(amount); // Balance could change between check and withdraw!
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// BAD: Off-by-one error
|
|
75
|
+
for (let i = 0; i <= array.length; i++) { // Should be < not <=
|
|
76
|
+
process(array[i]);
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Checklist**:
|
|
81
|
+
- [ ] Happy path works correctly
|
|
82
|
+
- [ ] Edge cases handled (null, empty, boundary values)
|
|
83
|
+
- [ ] Error cases handled gracefully
|
|
84
|
+
- [ ] No race conditions in concurrent code
|
|
85
|
+
- [ ] No infinite loops or recursion without base case
|
|
86
|
+
- [ ] State mutations are intentional and correct
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
### 3. Security Violations
|
|
91
|
+
|
|
92
|
+
**Question**: Are there security vulnerabilities?
|
|
93
|
+
|
|
94
|
+
**Red Flags**:
|
|
95
|
+
```typescript
|
|
96
|
+
// BAD: SQL injection
|
|
97
|
+
const query = `SELECT * FROM users WHERE email = '${email}'`;
|
|
98
|
+
|
|
99
|
+
// BAD: Command injection
|
|
100
|
+
exec(`ls ${userInput}`);
|
|
101
|
+
|
|
102
|
+
// BAD: Hardcoded secret
|
|
103
|
+
const API_KEY = 'sk-abc123xyz789';
|
|
104
|
+
|
|
105
|
+
// BAD: Missing auth check
|
|
106
|
+
app.delete('/api/users/:id', async (req, res) => {
|
|
107
|
+
await deleteUser(req.params.id); // No auth!
|
|
108
|
+
});
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Checklist**:
|
|
112
|
+
- [ ] No SQL/NoSQL injection
|
|
113
|
+
- [ ] No command injection
|
|
114
|
+
- [ ] No XSS vulnerabilities
|
|
115
|
+
- [ ] Input validated at boundaries
|
|
116
|
+
- [ ] No hardcoded secrets
|
|
117
|
+
- [ ] Authentication/authorization checked
|
|
118
|
+
- [ ] Sensitive data not logged
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## P1 Pillars (SHOULD Fix)
|
|
123
|
+
|
|
124
|
+
### 4. Complexity Violations
|
|
125
|
+
|
|
126
|
+
**Question**: Can a reader understand this in 5 minutes?
|
|
127
|
+
|
|
128
|
+
**Red Flags**:
|
|
129
|
+
```typescript
|
|
130
|
+
// BAD: Deep nesting
|
|
131
|
+
if (a) {
|
|
132
|
+
if (b) {
|
|
133
|
+
if (c) {
|
|
134
|
+
if (d) {
|
|
135
|
+
if (e) {
|
|
136
|
+
// actual logic buried here
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// BAD: Magic numbers
|
|
144
|
+
setTimeout(callback, 86400000);
|
|
145
|
+
if (status === 3) { }
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Checklist**:
|
|
149
|
+
- [ ] Functions are < 50 lines
|
|
150
|
+
- [ ] Nesting depth < 4 levels
|
|
151
|
+
- [ ] Cyclomatic complexity < 10
|
|
152
|
+
- [ ] No magic numbers/strings
|
|
153
|
+
- [ ] Single responsibility per function
|
|
154
|
+
- [ ] Complex logic has explanatory comments
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### 5. Error Handling Violations
|
|
159
|
+
|
|
160
|
+
**Question**: Are errors handled explicitly and consistently?
|
|
161
|
+
|
|
162
|
+
**Red Flags**:
|
|
163
|
+
```typescript
|
|
164
|
+
// BAD: Swallowed exception
|
|
165
|
+
try {
|
|
166
|
+
await riskyOperation();
|
|
167
|
+
} catch (e) {
|
|
168
|
+
// silently ignored!
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// BAD: Generic error message
|
|
172
|
+
throw new Error('Something went wrong');
|
|
173
|
+
|
|
174
|
+
// BAD: Resource leak on error
|
|
175
|
+
const file = await openFile(path);
|
|
176
|
+
await processFile(file); // If this throws, file never closed!
|
|
177
|
+
await file.close();
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Checklist**:
|
|
181
|
+
- [ ] Errors are caught and handled appropriately
|
|
182
|
+
- [ ] Error messages are helpful (not generic)
|
|
183
|
+
- [ ] No silent failures (swallowed exceptions)
|
|
184
|
+
- [ ] Consistent error handling pattern (Result types or throws)
|
|
185
|
+
- [ ] Resources cleaned up in error paths
|
|
186
|
+
- [ ] Errors logged with context
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
### 6. Tests Violations
|
|
191
|
+
|
|
192
|
+
**Question**: Is the new functionality tested?
|
|
193
|
+
|
|
194
|
+
**Red Flags**:
|
|
195
|
+
```typescript
|
|
196
|
+
// BAD: No tests for new function
|
|
197
|
+
export function calculateDiscount(price, type) {
|
|
198
|
+
// 20 lines of logic with no tests
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// BAD: Test that doesn't verify behavior
|
|
202
|
+
it('creates user', async () => {
|
|
203
|
+
await createUser(data);
|
|
204
|
+
expect(mockDb.insert).toHaveBeenCalled(); // Only checks mock was called
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
// BAD: Missing edge case tests
|
|
208
|
+
describe('divide', () => {
|
|
209
|
+
it('divides numbers', () => {
|
|
210
|
+
expect(divide(10, 2)).toBe(5);
|
|
211
|
+
});
|
|
212
|
+
// No test for divide by zero!
|
|
213
|
+
});
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Checklist**:
|
|
217
|
+
- [ ] New code has corresponding tests
|
|
218
|
+
- [ ] Tests cover happy path
|
|
219
|
+
- [ ] Tests cover error cases
|
|
220
|
+
- [ ] Tests cover edge cases
|
|
221
|
+
- [ ] Tests are not brittle (test behavior, not implementation)
|
|
222
|
+
- [ ] Tests would fail if code breaks
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## P2 Pillars (FIX if Time Permits)
|
|
227
|
+
|
|
228
|
+
### 7. Naming Violations
|
|
229
|
+
|
|
230
|
+
**Question**: Are names clear and descriptive?
|
|
231
|
+
|
|
232
|
+
**Red Flags**:
|
|
233
|
+
```typescript
|
|
234
|
+
// BAD: Cryptic names
|
|
235
|
+
const d = new Date();
|
|
236
|
+
const r = items.filter(i => i.t > d);
|
|
237
|
+
const x = r.reduce((a, b) => a + b.p, 0);
|
|
238
|
+
|
|
239
|
+
// BAD: Misleading name
|
|
240
|
+
function getUser(id) {
|
|
241
|
+
return db.users.findAll(); // Returns ALL users, not one!
|
|
242
|
+
}
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
**Checklist**:
|
|
246
|
+
- [ ] Variable names describe content
|
|
247
|
+
- [ ] Function names describe action
|
|
248
|
+
- [ ] No single-letter names (except loop indices)
|
|
249
|
+
- [ ] No abbreviations that aren't universal
|
|
250
|
+
- [ ] Consistent naming style (camelCase/snake_case)
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
### 8. Consistency Violations
|
|
255
|
+
|
|
256
|
+
**Question**: Does this match existing patterns?
|
|
257
|
+
|
|
258
|
+
**Red Flags**:
|
|
259
|
+
```typescript
|
|
260
|
+
// BAD: Different style than rest of codebase
|
|
261
|
+
// Existing code uses Result types
|
|
262
|
+
function existingFunction(): Result<User, Error> { }
|
|
263
|
+
|
|
264
|
+
// Your code throws instead
|
|
265
|
+
function yourFunction(): User {
|
|
266
|
+
throw new Error('...'); // Inconsistent!
|
|
267
|
+
}
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**Checklist**:
|
|
271
|
+
- [ ] Follows existing code style
|
|
272
|
+
- [ ] Uses same patterns as surrounding code
|
|
273
|
+
- [ ] Error handling matches project conventions
|
|
274
|
+
- [ ] Import organization matches existing files
|
|
275
|
+
- [ ] No unnecessary divergence from norms
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
### 9. Documentation Violations
|
|
280
|
+
|
|
281
|
+
**Question**: Will others understand this code?
|
|
282
|
+
|
|
283
|
+
**Red Flags**:
|
|
284
|
+
```typescript
|
|
285
|
+
// BAD: Missing docs on complex function
|
|
286
|
+
export function calculateProratedBilling(plan, start, end, previous) {
|
|
287
|
+
// 50 lines of complex billing logic with no explanation
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
// BAD: Outdated comment
|
|
291
|
+
// Returns user's full name
|
|
292
|
+
function getDisplayName(user) {
|
|
293
|
+
return user.username; // Actually returns username!
|
|
294
|
+
}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
**Checklist**:
|
|
298
|
+
- [ ] Complex logic has explanatory comments
|
|
299
|
+
- [ ] Public APIs have JSDoc/docstrings
|
|
300
|
+
- [ ] README updated if behavior changes
|
|
301
|
+
- [ ] No outdated comments
|
|
302
|
+
- [ ] Comments explain "why", not "what"
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## Quick Reference
|
|
307
|
+
|
|
308
|
+
See [patterns.md](patterns.md) for correct patterns and [report-template.md](report-template.md) for self-review format.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "devflow-resolve",
|
|
3
|
+
"description": "Process and fix code review issues with risk assessment - decides FIX vs TECH_DEBT based on impact",
|
|
4
|
+
"author": {
|
|
5
|
+
"name": "DevFlow Contributors",
|
|
6
|
+
"email": "dean@keren.dev"
|
|
7
|
+
},
|
|
8
|
+
"version": "1.1.0",
|
|
9
|
+
"homepage": "https://github.com/dean0x/devflow",
|
|
10
|
+
"repository": "https://github.com/dean0x/devflow",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": ["issues", "fixes", "tech-debt", "resolution", "review"],
|
|
13
|
+
"agents": ["git", "resolver", "simplifier"],
|
|
14
|
+
"skills": [
|
|
15
|
+
"implementation-patterns",
|
|
16
|
+
"security-patterns",
|
|
17
|
+
"agent-teams"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# devflow-resolve
|
|
2
|
+
|
|
3
|
+
Review issue resolution plugin for Claude Code. Processes review findings, assesses risk, and implements fixes or defers to tech debt.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Via DevFlow CLI
|
|
9
|
+
npx devflow-kit init --plugin=resolve
|
|
10
|
+
|
|
11
|
+
# Via Claude Code (when available)
|
|
12
|
+
/plugin install dean0x/devflow-resolve
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
/resolve # Resolve issues from latest review
|
|
19
|
+
/resolve .docs/reviews/feature-x/ # Resolve from specific review
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Workflow
|
|
23
|
+
|
|
24
|
+
1. **Load Issues** - Parse review reports for actionable items
|
|
25
|
+
2. **Validate** - Confirm issues are real and still present
|
|
26
|
+
3. **Risk Assessment** - Evaluate fix complexity and impact
|
|
27
|
+
4. **Decision** - FIX (low risk) or TECH_DEBT (high risk)
|
|
28
|
+
5. **Implementation** - Resolver agent implements fixes
|
|
29
|
+
6. **Simplification** - Simplifier refines the changes
|
|
30
|
+
7. **Tech Debt Tracking** - Git agent manages deferred items
|
|
31
|
+
|
|
32
|
+
## Risk Assessment Criteria
|
|
33
|
+
|
|
34
|
+
| Decision | Criteria |
|
|
35
|
+
|----------|----------|
|
|
36
|
+
| FIX | Localized change, low regression risk, clear solution |
|
|
37
|
+
| TECH_DEBT | Cross-cutting change, high complexity, needs design |
|
|
38
|
+
|
|
39
|
+
## Components
|
|
40
|
+
|
|
41
|
+
### Command
|
|
42
|
+
- `/resolve` - Process and fix review issues
|
|
43
|
+
|
|
44
|
+
### Agents
|
|
45
|
+
- `git` - GitHub operations (tech debt management)
|
|
46
|
+
- `resolver` - Validates and implements fixes
|
|
47
|
+
- `simplifier` - Code refinement after fixes
|
|
48
|
+
|
|
49
|
+
### Skills (5)
|
|
50
|
+
- `core-patterns` - Result types, DI
|
|
51
|
+
- `git-safety` - Safe git operations
|
|
52
|
+
- `commit` - Atomic commit patterns
|
|
53
|
+
- `implementation-patterns` - Implementation guidance
|
|
54
|
+
- `security-patterns` - Security fix patterns
|
|
55
|
+
|
|
56
|
+
## Output
|
|
57
|
+
|
|
58
|
+
- Fixed issues committed to branch
|
|
59
|
+
- Tech debt items tracked in GitHub
|
|
60
|
+
- Resolution summary with fix/defer breakdown
|
|
61
|
+
|
|
62
|
+
## Related Plugins
|
|
63
|
+
|
|
64
|
+
- [devflow-code-review](../devflow-code-review) - Generate review issues
|
|
65
|
+
- [devflow-implement](../devflow-implement) - Original implementation
|
|
@@ -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
|