devflow-kit 0.9.0 → 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 +167 -29
- package/LICENSE +1 -1
- package/README.md +179 -310
- package/dist/cli.js +3 -1
- package/dist/commands/init.d.ts +21 -0
- package/dist/commands/init.js +311 -576
- 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/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,405 @@
|
|
|
1
|
+
# Self-Review Patterns
|
|
2
|
+
|
|
3
|
+
Correct patterns for thorough self-review organized by the 9 pillars.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 9-Pillar Evaluation
|
|
8
|
+
|
|
9
|
+
For each pillar, ask:
|
|
10
|
+
|
|
11
|
+
| Pillar | Key Questions |
|
|
12
|
+
|--------|---------------|
|
|
13
|
+
| Design | Does this follow existing patterns? Is it maintainable? |
|
|
14
|
+
| Functionality | Does it meet requirements? Handle edge cases? |
|
|
15
|
+
| Security | Is input validated? Auth checked? Data protected? |
|
|
16
|
+
| Complexity | Can someone understand this in 5 minutes? |
|
|
17
|
+
| Error Handling | Are errors handled with Result types? Logged? |
|
|
18
|
+
| Tests | Is behavior tested? Coverage adequate? |
|
|
19
|
+
| Naming | Are names clear, consistent, domain-aligned? |
|
|
20
|
+
| Consistency | Does this match existing patterns? |
|
|
21
|
+
| Documentation | Are complex parts explained? API documented? |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Issue Classification
|
|
26
|
+
|
|
27
|
+
| Priority | Action | Examples |
|
|
28
|
+
|----------|--------|----------|
|
|
29
|
+
| P0 (CRITICAL) | Fix immediately | Security holes, data loss, broken functionality |
|
|
30
|
+
| P1 (HIGH) | Fix before returning | Bugs, missing validation, error handling gaps |
|
|
31
|
+
| P2 (MEDIUM) | Fix or document | Style, minor improvements, complexity |
|
|
32
|
+
| P3 (LOW) | Note for future | Nice-to-haves, minor naming |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## P0 Pillars (MUST Fix)
|
|
37
|
+
|
|
38
|
+
### 1. Design - Correct Patterns
|
|
39
|
+
|
|
40
|
+
**Fix Pattern**: Refactor to match existing architecture. Extract responsibilities. Use dependency injection.
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
// GOOD: Repository pattern with proper layering
|
|
44
|
+
class UserController {
|
|
45
|
+
constructor(private userService: UserService) {}
|
|
46
|
+
|
|
47
|
+
async getUser(req, res) {
|
|
48
|
+
const result = await this.userService.findById(req.params.id);
|
|
49
|
+
if (!result.ok) return res.status(404).json({ error: result.error });
|
|
50
|
+
return res.json(result.value);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// GOOD: Single responsibility, focused class
|
|
55
|
+
class UserRepository {
|
|
56
|
+
constructor(private db: Database) {}
|
|
57
|
+
|
|
58
|
+
async findById(id: string): Promise<Result<User, Error>> {
|
|
59
|
+
// Only handles user data access
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// GOOD: Dependency injection
|
|
64
|
+
class UserService {
|
|
65
|
+
constructor(
|
|
66
|
+
private repository: UserRepository,
|
|
67
|
+
private logger: Logger
|
|
68
|
+
) {}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
### 2. Functionality - Correct Patterns
|
|
75
|
+
|
|
76
|
+
**Fix Pattern**: Add null checks, use transactions for atomic operations, verify loop bounds.
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
// GOOD: Proper null handling
|
|
80
|
+
function getDisplayName(user: User): string {
|
|
81
|
+
return user.profile?.displayName ?? user.email ?? 'Anonymous';
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// GOOD: Atomic transaction
|
|
85
|
+
await db.transaction(async (tx) => {
|
|
86
|
+
const balance = await tx.getBalance(userId);
|
|
87
|
+
if (balance < amount) {
|
|
88
|
+
throw new InsufficientFundsError();
|
|
89
|
+
}
|
|
90
|
+
await tx.withdraw(userId, amount);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
// GOOD: Correct loop bounds
|
|
94
|
+
for (let i = 0; i < array.length; i++) {
|
|
95
|
+
process(array[i]);
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### 3. Security - Correct Patterns
|
|
102
|
+
|
|
103
|
+
**Fix Pattern**: Use parameterized queries, escape user input, use environment variables, add auth middleware.
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
// GOOD: Parameterized query
|
|
107
|
+
const user = await db.query(
|
|
108
|
+
'SELECT * FROM users WHERE email = ?',
|
|
109
|
+
[email]
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
// GOOD: Safe command execution
|
|
113
|
+
import { execFile } from 'child_process';
|
|
114
|
+
execFile('ls', [sanitizedPath], callback);
|
|
115
|
+
|
|
116
|
+
// GOOD: Environment variable for secrets
|
|
117
|
+
const API_KEY = process.env.API_KEY;
|
|
118
|
+
if (!API_KEY) throw new Error('API_KEY required');
|
|
119
|
+
|
|
120
|
+
// GOOD: Auth middleware
|
|
121
|
+
app.delete('/api/users/:id', authMiddleware, adminOnly, async (req, res) => {
|
|
122
|
+
await deleteUser(req.params.id);
|
|
123
|
+
});
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## P1 Pillars (SHOULD Fix)
|
|
129
|
+
|
|
130
|
+
### 4. Complexity - Correct Patterns
|
|
131
|
+
|
|
132
|
+
**Fix Pattern**: Extract functions, use early returns, define named constants.
|
|
133
|
+
|
|
134
|
+
```typescript
|
|
135
|
+
// GOOD: Early returns reduce nesting
|
|
136
|
+
function processItem(item: Item): Result<ProcessedItem, Error> {
|
|
137
|
+
if (!item) return Err('Item required');
|
|
138
|
+
if (!item.isValid) return Err('Invalid item');
|
|
139
|
+
if (!item.isActive) return Err('Item not active');
|
|
140
|
+
|
|
141
|
+
return Ok(transformItem(item));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// GOOD: Named constants
|
|
145
|
+
const ONE_DAY_MS = 24 * 60 * 60 * 1000;
|
|
146
|
+
const STATUS = { PENDING: 1, ACTIVE: 2, COMPLETED: 3 } as const;
|
|
147
|
+
|
|
148
|
+
setTimeout(callback, ONE_DAY_MS);
|
|
149
|
+
if (status === STATUS.COMPLETED) { }
|
|
150
|
+
|
|
151
|
+
// GOOD: Extracted function
|
|
152
|
+
function calculateTotal(items: Item[]): number {
|
|
153
|
+
return items
|
|
154
|
+
.filter(item => item.isActive)
|
|
155
|
+
.reduce((sum, item) => sum + item.price, 0);
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
### 5. Error Handling - Correct Patterns
|
|
162
|
+
|
|
163
|
+
**Fix Pattern**: Always handle or rethrow errors, include context in messages, use try/finally for cleanup.
|
|
164
|
+
|
|
165
|
+
```typescript
|
|
166
|
+
// GOOD: Handle or rethrow
|
|
167
|
+
try {
|
|
168
|
+
await riskyOperation();
|
|
169
|
+
} catch (e) {
|
|
170
|
+
logger.error('Operation failed', { error: e, context: operationContext });
|
|
171
|
+
throw new OperationError('Failed to complete operation', { cause: e });
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// GOOD: Descriptive error message
|
|
175
|
+
throw new ValidationError(`Invalid email format: ${email}`, {
|
|
176
|
+
field: 'email',
|
|
177
|
+
value: email,
|
|
178
|
+
expected: 'valid email address'
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
// GOOD: Resource cleanup with try/finally
|
|
182
|
+
const file = await openFile(path);
|
|
183
|
+
try {
|
|
184
|
+
await processFile(file);
|
|
185
|
+
} finally {
|
|
186
|
+
await file.close();
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
### 6. Tests - Correct Patterns
|
|
193
|
+
|
|
194
|
+
**Fix Pattern**: Add tests for all new functions, test behavior not mocks, cover edge cases.
|
|
195
|
+
|
|
196
|
+
```typescript
|
|
197
|
+
// GOOD: Testing behavior
|
|
198
|
+
describe('createUser', () => {
|
|
199
|
+
it('returns created user with generated id', async () => {
|
|
200
|
+
const result = await createUser({ name: 'Test', email: 'test@example.com' });
|
|
201
|
+
|
|
202
|
+
expect(result.ok).toBe(true);
|
|
203
|
+
expect(result.value.id).toBeDefined();
|
|
204
|
+
expect(result.value.name).toBe('Test');
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
it('returns error for duplicate email', async () => {
|
|
208
|
+
await createUser({ name: 'First', email: 'test@example.com' });
|
|
209
|
+
const result = await createUser({ name: 'Second', email: 'test@example.com' });
|
|
210
|
+
|
|
211
|
+
expect(result.ok).toBe(false);
|
|
212
|
+
expect(result.error.type).toBe('DuplicateEmail');
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
// GOOD: Edge case coverage
|
|
217
|
+
describe('divide', () => {
|
|
218
|
+
it('divides positive numbers', () => {
|
|
219
|
+
expect(divide(10, 2)).toBe(5);
|
|
220
|
+
});
|
|
221
|
+
|
|
222
|
+
it('returns error for division by zero', () => {
|
|
223
|
+
const result = divide(10, 0);
|
|
224
|
+
expect(result.ok).toBe(false);
|
|
225
|
+
expect(result.error.type).toBe('DivisionByZero');
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
it('handles negative numbers', () => {
|
|
229
|
+
expect(divide(-10, 2)).toBe(-5);
|
|
230
|
+
});
|
|
231
|
+
});
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## P2 Pillars (FIX if Time Permits)
|
|
237
|
+
|
|
238
|
+
### 7. Naming - Correct Patterns
|
|
239
|
+
|
|
240
|
+
**Fix Pattern**: Rename to be descriptive and accurate.
|
|
241
|
+
|
|
242
|
+
```typescript
|
|
243
|
+
// GOOD: Descriptive names
|
|
244
|
+
const currentDate = new Date();
|
|
245
|
+
const recentItems = items.filter(item => item.timestamp > currentDate);
|
|
246
|
+
const totalPrice = recentItems.reduce((sum, item) => sum + item.price, 0);
|
|
247
|
+
|
|
248
|
+
// GOOD: Accurate function name
|
|
249
|
+
function getAllUsers(): User[] {
|
|
250
|
+
return db.users.findAll();
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
function getUserById(id: string): Result<User, NotFoundError> {
|
|
254
|
+
return db.users.findById(id);
|
|
255
|
+
}
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
### 8. Consistency - Correct Patterns
|
|
261
|
+
|
|
262
|
+
**Fix Pattern**: Match existing patterns, follow established conventions.
|
|
263
|
+
|
|
264
|
+
```typescript
|
|
265
|
+
// GOOD: Consistent with codebase pattern
|
|
266
|
+
// Existing code uses Result types
|
|
267
|
+
function existingFunction(): Result<User, Error> { }
|
|
268
|
+
|
|
269
|
+
// Your code also uses Result types
|
|
270
|
+
function yourFunction(): Result<Order, OrderError> {
|
|
271
|
+
const validation = validateOrder(data);
|
|
272
|
+
if (!validation.ok) return Err(validation.error);
|
|
273
|
+
|
|
274
|
+
return Ok(createOrder(validation.value));
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
// GOOD: Matching import organization
|
|
278
|
+
// Match existing file's import order
|
|
279
|
+
import { z } from 'zod';
|
|
280
|
+
|
|
281
|
+
import { Result, Ok, Err } from '@/lib/result';
|
|
282
|
+
import { User, Order } from '@/types';
|
|
283
|
+
import { userRepository } from '@/repositories';
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
### 9. Documentation - Correct Patterns
|
|
289
|
+
|
|
290
|
+
**Fix Pattern**: Add JSDoc to public APIs, explain complex algorithms, remove outdated comments.
|
|
291
|
+
|
|
292
|
+
```typescript
|
|
293
|
+
// GOOD: Documented complex function
|
|
294
|
+
/**
|
|
295
|
+
* Calculate prorated billing amount for plan changes.
|
|
296
|
+
*
|
|
297
|
+
* @param plan - The new plan to prorate to
|
|
298
|
+
* @param start - Start date of billing period
|
|
299
|
+
* @param end - End date of billing period
|
|
300
|
+
* @param previous - Previous plan (for upgrade/downgrade calculation)
|
|
301
|
+
* @returns Prorated amount in cents
|
|
302
|
+
*
|
|
303
|
+
* @example
|
|
304
|
+
* const amount = calculateProratedBilling(premiumPlan, startDate, endDate, basicPlan);
|
|
305
|
+
*/
|
|
306
|
+
export function calculateProratedBilling(
|
|
307
|
+
plan: Plan,
|
|
308
|
+
start: Date,
|
|
309
|
+
end: Date,
|
|
310
|
+
previous: Plan
|
|
311
|
+
): number {
|
|
312
|
+
// Calculate remaining days in billing period
|
|
313
|
+
const remainingDays = differenceInDays(end, new Date());
|
|
314
|
+
const totalDays = differenceInDays(end, start);
|
|
315
|
+
|
|
316
|
+
// Pro-rate the price difference
|
|
317
|
+
const priceDifference = plan.price - previous.price;
|
|
318
|
+
return Math.round((priceDifference * remainingDays) / totalDays);
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
// GOOD: Accurate comment
|
|
322
|
+
// Returns the user's preferred display name, falling back to username
|
|
323
|
+
function getDisplayName(user: User): string {
|
|
324
|
+
return user.displayName ?? user.username;
|
|
325
|
+
}
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## Decision Tree
|
|
331
|
+
|
|
332
|
+
```
|
|
333
|
+
START
|
|
334
|
+
|
|
|
335
|
+
v
|
|
336
|
+
+------------------+
|
|
337
|
+
| Evaluate P0 |
|
|
338
|
+
| (Design, |
|
|
339
|
+
| Functionality, |
|
|
340
|
+
| Security) |
|
|
341
|
+
+--------+---------+
|
|
342
|
+
|
|
|
343
|
+
Issues found?
|
|
344
|
+
+----+----+
|
|
345
|
+
YES NO
|
|
346
|
+
| |
|
|
347
|
+
v |
|
|
348
|
+
+---------+ |
|
|
349
|
+
| Fixable?| |
|
|
350
|
+
+----+----+ |
|
|
351
|
+
+--+--+ |
|
|
352
|
+
YES NO |
|
|
353
|
+
| | |
|
|
354
|
+
v v |
|
|
355
|
+
FIX STOP |
|
|
356
|
+
| REPORT |
|
|
357
|
+
| BLOCKER |
|
|
358
|
+
| |
|
|
359
|
+
+-----+-----+
|
|
360
|
+
|
|
|
361
|
+
v
|
|
362
|
+
+------------------+
|
|
363
|
+
| Evaluate P1 |
|
|
364
|
+
| (Complexity, |
|
|
365
|
+
| Error Handling, |
|
|
366
|
+
| Tests) |
|
|
367
|
+
+--------+---------+
|
|
368
|
+
|
|
|
369
|
+
Issues found?
|
|
370
|
+
+----+----+
|
|
371
|
+
YES NO
|
|
372
|
+
| |
|
|
373
|
+
v |
|
|
374
|
+
FIX |
|
|
375
|
+
| |
|
|
376
|
+
+----+----+
|
|
377
|
+
|
|
|
378
|
+
v
|
|
379
|
+
+------------------+
|
|
380
|
+
| Evaluate P2 |
|
|
381
|
+
| (Naming, |
|
|
382
|
+
| Consistency, |
|
|
383
|
+
| Documentation) |
|
|
384
|
+
+--------+---------+
|
|
385
|
+
|
|
|
386
|
+
Issues found?
|
|
387
|
+
+----+----+
|
|
388
|
+
YES NO
|
|
389
|
+
| |
|
|
390
|
+
v |
|
|
391
|
+
FIX IF |
|
|
392
|
+
TIME |
|
|
393
|
+
| |
|
|
394
|
+
+----+----+
|
|
395
|
+
|
|
|
396
|
+
v
|
|
397
|
+
RETURN
|
|
398
|
+
WITH REPORT
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
## Quick Reference
|
|
404
|
+
|
|
405
|
+
See [violations.md](violations.md) for anti-patterns and [report-template.md](report-template.md) for self-review format.
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
# Self-Review Report Template
|
|
2
|
+
|
|
3
|
+
Use this template when generating your self-review report.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Report Format
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
## Self-Review Report
|
|
11
|
+
|
|
12
|
+
### Task
|
|
13
|
+
{Brief description of what was implemented}
|
|
14
|
+
|
|
15
|
+
### Files Changed
|
|
16
|
+
- `path/to/file.ts` - {what changed}
|
|
17
|
+
- `path/to/test.ts` - {what changed}
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
### P0 Pillars (MUST Fix)
|
|
22
|
+
|
|
23
|
+
| Pillar | Status | Notes |
|
|
24
|
+
|--------|--------|-------|
|
|
25
|
+
| Design | PASS/FIXED | {details if fixed} |
|
|
26
|
+
| Functionality | PASS/FIXED | {details if fixed} |
|
|
27
|
+
| Security | PASS/FIXED | {details if fixed} |
|
|
28
|
+
|
|
29
|
+
**Fixes Applied**:
|
|
30
|
+
- {file:line} - {what was fixed}
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### P1 Pillars (SHOULD Fix)
|
|
35
|
+
|
|
36
|
+
| Pillar | Status | Notes |
|
|
37
|
+
|--------|--------|-------|
|
|
38
|
+
| Complexity | PASS/FIXED | {details if fixed} |
|
|
39
|
+
| Error Handling | PASS/FIXED | {details if fixed} |
|
|
40
|
+
| Tests | PASS/FIXED | {details if fixed} |
|
|
41
|
+
|
|
42
|
+
**Fixes Applied**:
|
|
43
|
+
- {file:line} - {what was fixed}
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
### P2 Pillars (FIX if Time Permits)
|
|
48
|
+
|
|
49
|
+
| Pillar | Status | Notes |
|
|
50
|
+
|--------|--------|-------|
|
|
51
|
+
| Naming | PASS/FIXED/SKIP | {details} |
|
|
52
|
+
| Consistency | PASS/FIXED/SKIP | {details} |
|
|
53
|
+
| Documentation | PASS/FIXED/SKIP | {details} |
|
|
54
|
+
|
|
55
|
+
**Fixes Applied** (if any):
|
|
56
|
+
- {file:line} - {what was fixed}
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
### Summary
|
|
61
|
+
|
|
62
|
+
**Issues Found**: {total count}
|
|
63
|
+
**Issues Fixed**: {count}
|
|
64
|
+
**Status**: READY / BLOCKED
|
|
65
|
+
|
|
66
|
+
{If BLOCKED, explain what cannot be fixed and why}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Example Reports
|
|
72
|
+
|
|
73
|
+
### Example 1: Clean Pass
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
## Self-Review Report
|
|
77
|
+
|
|
78
|
+
### Task
|
|
79
|
+
Add user profile update endpoint
|
|
80
|
+
|
|
81
|
+
### Files Changed
|
|
82
|
+
- `src/routes/users.ts` - added PUT /users/:id/profile endpoint
|
|
83
|
+
- `src/services/user-service.ts` - added updateProfile method
|
|
84
|
+
- `tests/services/user-service.test.ts` - added profile update tests
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
### P0 Pillars (MUST Fix)
|
|
89
|
+
|
|
90
|
+
| Pillar | Status | Notes |
|
|
91
|
+
|--------|--------|-------|
|
|
92
|
+
| Design | PASS | Follows existing route/service pattern |
|
|
93
|
+
| Functionality | PASS | All edge cases handled |
|
|
94
|
+
| Security | PASS | Auth middleware in place, input validated |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
### P1 Pillars (SHOULD Fix)
|
|
99
|
+
|
|
100
|
+
| Pillar | Status | Notes |
|
|
101
|
+
|--------|--------|-------|
|
|
102
|
+
| Complexity | PASS | Functions under 30 lines |
|
|
103
|
+
| Error Handling | PASS | Uses Result types consistently |
|
|
104
|
+
| Tests | PASS | Happy path, errors, and edges covered |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### P2 Pillars (FIX if Time Permits)
|
|
109
|
+
|
|
110
|
+
| Pillar | Status | Notes |
|
|
111
|
+
|--------|--------|-------|
|
|
112
|
+
| Naming | PASS | Clear, descriptive names |
|
|
113
|
+
| Consistency | PASS | Matches existing patterns |
|
|
114
|
+
| Documentation | PASS | JSDoc on public methods |
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
### Summary
|
|
119
|
+
|
|
120
|
+
**Issues Found**: 0
|
|
121
|
+
**Issues Fixed**: 0
|
|
122
|
+
**Status**: READY
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Example 2: Issues Fixed
|
|
126
|
+
|
|
127
|
+
```markdown
|
|
128
|
+
## Self-Review Report
|
|
129
|
+
|
|
130
|
+
### Task
|
|
131
|
+
Implement order cancellation flow
|
|
132
|
+
|
|
133
|
+
### Files Changed
|
|
134
|
+
- `src/services/order-service.ts` - added cancelOrder method
|
|
135
|
+
- `src/routes/orders.ts` - added DELETE /orders/:id endpoint
|
|
136
|
+
- `tests/services/order-service.test.ts` - added cancellation tests
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
### P0 Pillars (MUST Fix)
|
|
141
|
+
|
|
142
|
+
| Pillar | Status | Notes |
|
|
143
|
+
|--------|--------|-------|
|
|
144
|
+
| Design | PASS | Follows existing patterns |
|
|
145
|
+
| Functionality | FIXED | Added missing status check before cancel |
|
|
146
|
+
| Security | FIXED | Added ownership verification |
|
|
147
|
+
|
|
148
|
+
**Fixes Applied**:
|
|
149
|
+
- `src/services/order-service.ts:45` - Added check: cannot cancel completed orders
|
|
150
|
+
- `src/routes/orders.ts:78` - Added auth check: user must own the order
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
### P1 Pillars (SHOULD Fix)
|
|
155
|
+
|
|
156
|
+
| Pillar | Status | Notes |
|
|
157
|
+
|--------|--------|-------|
|
|
158
|
+
| Complexity | PASS | Clean, simple logic |
|
|
159
|
+
| Error Handling | FIXED | Changed generic error to specific CancellationError |
|
|
160
|
+
| Tests | FIXED | Added test for already-completed order case |
|
|
161
|
+
|
|
162
|
+
**Fixes Applied**:
|
|
163
|
+
- `src/services/order-service.ts:52` - Specific error: `OrderCancellationError('Order already completed')`
|
|
164
|
+
- `tests/services/order-service.test.ts:120` - Added: `it('rejects cancellation of completed orders')`
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
### P2 Pillars (FIX if Time Permits)
|
|
169
|
+
|
|
170
|
+
| Pillar | Status | Notes |
|
|
171
|
+
|--------|--------|-------|
|
|
172
|
+
| Naming | PASS | Clear names |
|
|
173
|
+
| Consistency | PASS | Matches existing order methods |
|
|
174
|
+
| Documentation | FIXED | Added JSDoc explaining cancellation rules |
|
|
175
|
+
|
|
176
|
+
**Fixes Applied**:
|
|
177
|
+
- `src/services/order-service.ts:40` - Added JSDoc documenting cancellation states
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
### Summary
|
|
182
|
+
|
|
183
|
+
**Issues Found**: 5
|
|
184
|
+
**Issues Fixed**: 5
|
|
185
|
+
**Status**: READY
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Example 3: Blocked
|
|
189
|
+
|
|
190
|
+
```markdown
|
|
191
|
+
## Self-Review Report
|
|
192
|
+
|
|
193
|
+
### Task
|
|
194
|
+
Add payment refund capability
|
|
195
|
+
|
|
196
|
+
### Files Changed
|
|
197
|
+
- `src/services/payment-service.ts` - added refund method
|
|
198
|
+
- `src/routes/payments.ts` - added POST /payments/:id/refund
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
### P0 Pillars (MUST Fix)
|
|
203
|
+
|
|
204
|
+
| Pillar | Status | Notes |
|
|
205
|
+
|--------|--------|-------|
|
|
206
|
+
| Design | BLOCKED | Requires architectural change (see below) |
|
|
207
|
+
| Functionality | - | Cannot evaluate due to design blocker |
|
|
208
|
+
| Security | - | Cannot evaluate due to design blocker |
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
### Summary
|
|
213
|
+
|
|
214
|
+
**Issues Found**: 1 (architectural)
|
|
215
|
+
**Issues Fixed**: 0
|
|
216
|
+
**Status**: BLOCKED
|
|
217
|
+
|
|
218
|
+
**Blocker**: Payment refunds require access to transaction history, but current
|
|
219
|
+
PaymentService has no dependency on TransactionRepository. Adding this dependency
|
|
220
|
+
would require:
|
|
221
|
+
1. Modifying PaymentService constructor (breaking change)
|
|
222
|
+
2. Updating all 15 existing tests
|
|
223
|
+
3. Modifying dependency injection container
|
|
224
|
+
|
|
225
|
+
This is beyond the scope of self-review fixes. Escalating to orchestrator for
|
|
226
|
+
architectural decision.
|
|
227
|
+
|
|
228
|
+
**Recommendation**: Refactor PaymentService to accept TransactionRepository
|
|
229
|
+
before implementing refund feature.
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Status Definitions
|
|
235
|
+
|
|
236
|
+
| Status | Meaning |
|
|
237
|
+
|--------|---------|
|
|
238
|
+
| PASS | No issues found for this pillar |
|
|
239
|
+
| FIXED | Issue found and resolved |
|
|
240
|
+
| SKIP | P2 only - issue noted but not fixed due to time |
|
|
241
|
+
| BLOCKED | Cannot fix - requires escalation |
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Report Checklist
|
|
246
|
+
|
|
247
|
+
Before submitting report:
|
|
248
|
+
- [ ] All P0 pillars are PASS or FIXED
|
|
249
|
+
- [ ] All P1 pillars are PASS or FIXED
|
|
250
|
+
- [ ] P2 pillars evaluated (PASS/FIXED/SKIP)
|
|
251
|
+
- [ ] All fixes documented with file:line
|
|
252
|
+
- [ ] Summary accurately reflects status
|
|
253
|
+
- [ ] If BLOCKED, clear explanation provided
|