devflow-kit 0.8.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +185 -29
- package/LICENSE +1 -1
- package/README.md +179 -308
- package/dist/cli.js +3 -1
- package/dist/commands/init.d.ts +21 -0
- package/dist/commands/init.js +311 -575
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.js +20 -0
- package/dist/commands/uninstall.d.ts +10 -0
- package/dist/commands/uninstall.js +351 -78
- package/dist/plugins.d.ts +46 -0
- package/dist/plugins.js +162 -0
- package/dist/utils/cli.d.ts +5 -0
- package/dist/utils/cli.js +14 -0
- package/dist/utils/installer.d.ts +41 -0
- package/dist/utils/installer.js +177 -0
- package/dist/utils/paths.d.ts +10 -0
- package/dist/utils/paths.js +23 -3
- package/dist/utils/post-install.d.ts +68 -0
- package/dist/utils/post-install.js +427 -0
- package/dist/utils/safe-delete-install.d.ts +22 -0
- package/dist/utils/safe-delete-install.js +156 -0
- package/dist/utils/safe-delete.d.ts +12 -0
- package/dist/utils/safe-delete.js +83 -0
- package/package.json +18 -8
- package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +7 -0
- package/plugins/devflow-audit-claude/README.md +46 -0
- package/plugins/devflow-audit-claude/agents/claude-md-auditor.md +134 -0
- package/plugins/devflow-audit-claude/commands/audit-claude.md +85 -0
- package/plugins/devflow-code-review/.claude-plugin/plugin.json +31 -0
- package/plugins/devflow-code-review/README.md +73 -0
- package/plugins/devflow-code-review/agents/git.md +272 -0
- package/plugins/devflow-code-review/agents/reviewer.md +119 -0
- package/plugins/devflow-code-review/agents/synthesizer.md +204 -0
- package/plugins/devflow-code-review/commands/code-review-teams.md +262 -0
- package/plugins/devflow-code-review/commands/code-review.md +141 -0
- package/plugins/devflow-code-review/skills/accessibility/SKILL.md +229 -0
- package/plugins/devflow-code-review/skills/accessibility/references/detection.md +171 -0
- package/plugins/devflow-code-review/skills/accessibility/references/patterns.md +670 -0
- package/plugins/devflow-code-review/skills/accessibility/references/violations.md +419 -0
- package/plugins/devflow-code-review/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-code-review/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-code-review/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-code-review/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/SKILL.md +153 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/references/detection.md +337 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/references/patterns.md +873 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/references/violations.md +575 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/SKILL.md +143 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/references/detection.md +264 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/references/patterns.md +487 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/references/violations.md +361 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/SKILL.md +140 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/references/detection.md +207 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/references/patterns.md +202 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/references/violations.md +213 -0
- package/plugins/devflow-code-review/skills/database-patterns/SKILL.md +134 -0
- package/plugins/devflow-code-review/skills/database-patterns/references/detection.md +208 -0
- package/plugins/devflow-code-review/skills/database-patterns/references/patterns.md +394 -0
- package/plugins/devflow-code-review/skills/database-patterns/references/violations.md +332 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/SKILL.md +141 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/references/detection.md +181 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/references/patterns.md +225 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/references/violations.md +247 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/SKILL.md +125 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/references/detection.md +190 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/references/patterns.md +189 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/references/violations.md +163 -0
- package/plugins/devflow-code-review/skills/frontend-design/SKILL.md +254 -0
- package/plugins/devflow-code-review/skills/frontend-design/references/detection.md +184 -0
- package/plugins/devflow-code-review/skills/frontend-design/references/patterns.md +511 -0
- package/plugins/devflow-code-review/skills/frontend-design/references/violations.md +453 -0
- package/plugins/devflow-code-review/skills/performance-patterns/SKILL.md +154 -0
- package/plugins/devflow-code-review/skills/performance-patterns/references/detection.md +351 -0
- package/plugins/devflow-code-review/skills/performance-patterns/references/patterns.md +503 -0
- package/plugins/devflow-code-review/skills/performance-patterns/references/violations.md +354 -0
- package/plugins/devflow-code-review/skills/react/SKILL.md +276 -0
- package/plugins/devflow-code-review/skills/react/references/patterns.md +1331 -0
- package/plugins/devflow-code-review/skills/react/references/violations.md +565 -0
- package/plugins/devflow-code-review/skills/regression-patterns/SKILL.md +146 -0
- package/plugins/devflow-code-review/skills/regression-patterns/references/detection.md +237 -0
- package/plugins/devflow-code-review/skills/regression-patterns/references/patterns.md +226 -0
- package/plugins/devflow-code-review/skills/regression-patterns/references/violations.md +225 -0
- package/plugins/devflow-code-review/skills/review-methodology/SKILL.md +119 -0
- package/plugins/devflow-code-review/skills/review-methodology/references/patterns.md +186 -0
- package/plugins/devflow-code-review/skills/review-methodology/references/report-template.md +142 -0
- package/plugins/devflow-code-review/skills/review-methodology/references/violations.md +125 -0
- package/plugins/devflow-code-review/skills/security-patterns/SKILL.md +156 -0
- package/plugins/devflow-code-review/skills/security-patterns/references/detection.md +287 -0
- package/plugins/devflow-code-review/skills/security-patterns/references/patterns.md +507 -0
- package/plugins/devflow-code-review/skills/security-patterns/references/violations.md +237 -0
- package/plugins/devflow-code-review/skills/test-patterns/SKILL.md +183 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/detection.md +149 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/patterns.md +220 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/report-template.md +108 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/violations.md +221 -0
- package/plugins/devflow-core-skills/.claude-plugin/plugin.json +27 -0
- package/plugins/devflow-core-skills/README.md +50 -0
- package/plugins/devflow-core-skills/skills/accessibility/SKILL.md +229 -0
- package/plugins/devflow-core-skills/skills/accessibility/references/detection.md +171 -0
- package/plugins/devflow-core-skills/skills/accessibility/references/patterns.md +670 -0
- package/plugins/devflow-core-skills/skills/accessibility/references/violations.md +419 -0
- package/plugins/devflow-core-skills/skills/core-patterns/SKILL.md +162 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/checklist.md +276 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/code-smell-violations.md +144 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/detection.md +303 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/patterns.md +576 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/violations.md +369 -0
- package/plugins/devflow-core-skills/skills/docs-framework/SKILL.md +134 -0
- package/plugins/devflow-core-skills/skills/docs-framework/references/patterns.md +346 -0
- package/plugins/devflow-core-skills/skills/docs-framework/references/violations.md +221 -0
- package/plugins/devflow-core-skills/skills/frontend-design/SKILL.md +254 -0
- package/plugins/devflow-core-skills/skills/frontend-design/references/detection.md +184 -0
- package/plugins/devflow-core-skills/skills/frontend-design/references/patterns.md +511 -0
- package/plugins/devflow-core-skills/skills/frontend-design/references/violations.md +453 -0
- package/plugins/devflow-core-skills/skills/git-safety/SKILL.md +122 -0
- package/plugins/devflow-core-skills/skills/git-safety/references/detection.md +290 -0
- package/plugins/devflow-core-skills/skills/git-safety/references/patterns.md +289 -0
- package/plugins/devflow-core-skills/skills/git-safety/references/violations.md +18 -0
- package/plugins/devflow-core-skills/skills/git-workflow/SKILL.md +158 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/commit-patterns.md +115 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/commit-violations.md +77 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/pr-patterns.md +127 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/pr-violations.md +96 -0
- package/plugins/devflow-core-skills/skills/github-patterns/SKILL.md +153 -0
- package/plugins/devflow-core-skills/skills/github-patterns/references/patterns.md +572 -0
- package/plugins/devflow-core-skills/skills/github-patterns/references/violations.md +298 -0
- package/plugins/devflow-core-skills/skills/input-validation/SKILL.md +148 -0
- package/plugins/devflow-core-skills/skills/input-validation/references/detection.md +283 -0
- package/plugins/devflow-core-skills/skills/input-validation/references/patterns.md +361 -0
- package/plugins/devflow-core-skills/skills/input-validation/references/violations.md +224 -0
- package/plugins/devflow-core-skills/skills/react/SKILL.md +276 -0
- package/plugins/devflow-core-skills/skills/react/references/patterns.md +1331 -0
- package/plugins/devflow-core-skills/skills/react/references/violations.md +565 -0
- package/plugins/devflow-core-skills/skills/test-patterns/SKILL.md +183 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/detection.md +149 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/patterns.md +220 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/report-template.md +108 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/violations.md +221 -0
- package/plugins/devflow-core-skills/skills/typescript/SKILL.md +176 -0
- package/plugins/devflow-core-skills/skills/typescript/references/patterns.md +1105 -0
- package/plugins/devflow-core-skills/skills/typescript/references/violations.md +433 -0
- package/plugins/devflow-debug/.claude-plugin/plugin.json +18 -0
- package/plugins/devflow-debug/README.md +65 -0
- package/plugins/devflow-debug/agents/git.md +272 -0
- package/plugins/devflow-debug/commands/debug-teams.md +231 -0
- package/plugins/devflow-debug/commands/debug.md +160 -0
- package/plugins/devflow-debug/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-debug/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-debug/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-debug/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-debug/skills/git-safety/SKILL.md +122 -0
- package/plugins/devflow-debug/skills/git-safety/references/detection.md +290 -0
- package/plugins/devflow-debug/skills/git-safety/references/patterns.md +289 -0
- package/plugins/devflow-debug/skills/git-safety/references/violations.md +18 -0
- package/plugins/devflow-implement/.claude-plugin/plugin.json +21 -0
- package/plugins/devflow-implement/README.md +71 -0
- package/plugins/devflow-implement/agents/coder.md +122 -0
- package/plugins/devflow-implement/agents/git.md +272 -0
- package/plugins/devflow-implement/agents/scrutinizer.md +80 -0
- package/plugins/devflow-implement/agents/shepherd.md +94 -0
- package/plugins/devflow-implement/agents/simplifier.md +62 -0
- package/plugins/devflow-implement/agents/skimmer.md +88 -0
- package/plugins/devflow-implement/agents/synthesizer.md +204 -0
- package/plugins/devflow-implement/agents/validator.md +86 -0
- package/plugins/devflow-implement/commands/implement-teams.md +608 -0
- package/plugins/devflow-implement/commands/implement.md +426 -0
- package/plugins/devflow-implement/skills/accessibility/SKILL.md +229 -0
- package/plugins/devflow-implement/skills/accessibility/references/detection.md +171 -0
- package/plugins/devflow-implement/skills/accessibility/references/patterns.md +670 -0
- package/plugins/devflow-implement/skills/accessibility/references/violations.md +419 -0
- package/plugins/devflow-implement/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-implement/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-implement/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-implement/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-implement/skills/frontend-design/SKILL.md +254 -0
- package/plugins/devflow-implement/skills/frontend-design/references/detection.md +184 -0
- package/plugins/devflow-implement/skills/frontend-design/references/patterns.md +511 -0
- package/plugins/devflow-implement/skills/frontend-design/references/violations.md +453 -0
- package/plugins/devflow-implement/skills/implementation-patterns/SKILL.md +162 -0
- package/plugins/devflow-implement/skills/implementation-patterns/references/patterns.md +1063 -0
- package/plugins/devflow-implement/skills/implementation-patterns/references/violations.md +483 -0
- package/plugins/devflow-implement/skills/self-review/SKILL.md +149 -0
- package/plugins/devflow-implement/skills/self-review/references/patterns.md +405 -0
- package/plugins/devflow-implement/skills/self-review/references/report-template.md +253 -0
- package/plugins/devflow-implement/skills/self-review/references/violations.md +308 -0
- package/plugins/devflow-resolve/.claude-plugin/plugin.json +19 -0
- package/plugins/devflow-resolve/README.md +65 -0
- package/plugins/devflow-resolve/agents/git.md +272 -0
- package/plugins/devflow-resolve/agents/resolver.md +131 -0
- package/plugins/devflow-resolve/agents/simplifier.md +62 -0
- package/plugins/devflow-resolve/commands/resolve-teams.md +298 -0
- package/plugins/devflow-resolve/commands/resolve.md +237 -0
- package/plugins/devflow-resolve/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-resolve/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-resolve/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-resolve/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-resolve/skills/implementation-patterns/SKILL.md +162 -0
- package/plugins/devflow-resolve/skills/implementation-patterns/references/patterns.md +1063 -0
- package/plugins/devflow-resolve/skills/implementation-patterns/references/violations.md +483 -0
- package/plugins/devflow-resolve/skills/security-patterns/SKILL.md +156 -0
- package/plugins/devflow-resolve/skills/security-patterns/references/detection.md +287 -0
- package/plugins/devflow-resolve/skills/security-patterns/references/patterns.md +507 -0
- package/plugins/devflow-resolve/skills/security-patterns/references/violations.md +237 -0
- package/plugins/devflow-self-review/.claude-plugin/plugin.json +7 -0
- package/plugins/devflow-self-review/README.md +38 -0
- package/plugins/devflow-self-review/agents/scrutinizer.md +80 -0
- package/plugins/devflow-self-review/agents/simplifier.md +62 -0
- package/plugins/devflow-self-review/agents/validator.md +86 -0
- package/plugins/devflow-self-review/commands/self-review.md +126 -0
- package/plugins/devflow-self-review/skills/core-patterns/SKILL.md +162 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/checklist.md +276 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/code-smell-violations.md +144 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/detection.md +303 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/patterns.md +576 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/violations.md +369 -0
- package/plugins/devflow-self-review/skills/self-review/SKILL.md +149 -0
- package/plugins/devflow-self-review/skills/self-review/references/patterns.md +405 -0
- package/plugins/devflow-self-review/skills/self-review/references/report-template.md +253 -0
- package/plugins/devflow-self-review/skills/self-review/references/violations.md +308 -0
- package/plugins/devflow-specify/.claude-plugin/plugin.json +15 -0
- package/plugins/devflow-specify/README.md +46 -0
- package/plugins/devflow-specify/agents/skimmer.md +88 -0
- package/plugins/devflow-specify/agents/synthesizer.md +204 -0
- package/plugins/devflow-specify/commands/specify-teams.md +314 -0
- package/plugins/devflow-specify/commands/specify.md +179 -0
- package/plugins/devflow-specify/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-specify/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-specify/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-specify/skills/agent-teams/references/team-patterns.md +217 -0
- package/scripts/hooks/background-memory-update.sh +167 -0
- package/scripts/hooks/pre-compact-memory.sh +81 -0
- package/scripts/hooks/session-start-memory.sh +84 -0
- package/scripts/hooks/stop-update-memory.sh +81 -0
- package/shared/agents/coder.md +122 -0
- package/shared/agents/git.md +272 -0
- package/shared/agents/resolver.md +131 -0
- package/shared/agents/reviewer.md +119 -0
- package/shared/agents/scrutinizer.md +80 -0
- package/shared/agents/shepherd.md +94 -0
- package/shared/agents/simplifier.md +62 -0
- package/shared/agents/skimmer.md +88 -0
- package/shared/agents/synthesizer.md +204 -0
- package/shared/agents/validator.md +86 -0
- package/shared/skills/accessibility/SKILL.md +229 -0
- package/shared/skills/accessibility/references/detection.md +171 -0
- package/shared/skills/accessibility/references/patterns.md +670 -0
- package/shared/skills/accessibility/references/violations.md +419 -0
- package/shared/skills/agent-teams/SKILL.md +124 -0
- package/shared/skills/agent-teams/references/cleanup.md +104 -0
- package/shared/skills/agent-teams/references/communication.md +122 -0
- package/shared/skills/agent-teams/references/team-patterns.md +217 -0
- package/shared/skills/architecture-patterns/SKILL.md +153 -0
- package/shared/skills/architecture-patterns/references/detection.md +337 -0
- package/shared/skills/architecture-patterns/references/patterns.md +873 -0
- package/shared/skills/architecture-patterns/references/violations.md +575 -0
- package/shared/skills/complexity-patterns/SKILL.md +143 -0
- package/shared/skills/complexity-patterns/references/detection.md +264 -0
- package/shared/skills/complexity-patterns/references/patterns.md +487 -0
- package/shared/skills/complexity-patterns/references/violations.md +361 -0
- package/shared/skills/consistency-patterns/SKILL.md +140 -0
- package/shared/skills/consistency-patterns/references/detection.md +207 -0
- package/shared/skills/consistency-patterns/references/patterns.md +202 -0
- package/shared/skills/consistency-patterns/references/violations.md +213 -0
- package/shared/skills/core-patterns/SKILL.md +162 -0
- package/shared/skills/core-patterns/references/checklist.md +276 -0
- package/shared/skills/core-patterns/references/code-smell-violations.md +144 -0
- package/shared/skills/core-patterns/references/detection.md +303 -0
- package/shared/skills/core-patterns/references/patterns.md +576 -0
- package/shared/skills/core-patterns/references/violations.md +369 -0
- package/shared/skills/database-patterns/SKILL.md +134 -0
- package/shared/skills/database-patterns/references/detection.md +208 -0
- package/shared/skills/database-patterns/references/patterns.md +394 -0
- package/shared/skills/database-patterns/references/violations.md +332 -0
- package/shared/skills/dependencies-patterns/SKILL.md +141 -0
- package/shared/skills/dependencies-patterns/references/detection.md +181 -0
- package/shared/skills/dependencies-patterns/references/patterns.md +225 -0
- package/shared/skills/dependencies-patterns/references/violations.md +247 -0
- package/shared/skills/docs-framework/SKILL.md +134 -0
- package/shared/skills/docs-framework/references/patterns.md +346 -0
- package/shared/skills/docs-framework/references/violations.md +221 -0
- package/shared/skills/documentation-patterns/SKILL.md +125 -0
- package/shared/skills/documentation-patterns/references/detection.md +190 -0
- package/shared/skills/documentation-patterns/references/patterns.md +189 -0
- package/shared/skills/documentation-patterns/references/violations.md +163 -0
- package/shared/skills/frontend-design/SKILL.md +254 -0
- package/shared/skills/frontend-design/references/detection.md +184 -0
- package/shared/skills/frontend-design/references/patterns.md +511 -0
- package/shared/skills/frontend-design/references/violations.md +453 -0
- package/shared/skills/git-safety/SKILL.md +122 -0
- package/shared/skills/git-safety/references/detection.md +290 -0
- package/shared/skills/git-safety/references/patterns.md +289 -0
- package/shared/skills/git-safety/references/violations.md +18 -0
- package/shared/skills/git-workflow/SKILL.md +158 -0
- package/shared/skills/git-workflow/references/commit-patterns.md +115 -0
- package/shared/skills/git-workflow/references/commit-violations.md +77 -0
- package/shared/skills/git-workflow/references/pr-patterns.md +127 -0
- package/shared/skills/git-workflow/references/pr-violations.md +96 -0
- package/shared/skills/github-patterns/SKILL.md +153 -0
- package/shared/skills/github-patterns/references/patterns.md +572 -0
- package/shared/skills/github-patterns/references/violations.md +298 -0
- package/shared/skills/implementation-patterns/SKILL.md +162 -0
- package/shared/skills/implementation-patterns/references/patterns.md +1063 -0
- package/shared/skills/implementation-patterns/references/violations.md +483 -0
- package/shared/skills/input-validation/SKILL.md +148 -0
- package/shared/skills/input-validation/references/detection.md +283 -0
- package/shared/skills/input-validation/references/patterns.md +361 -0
- package/shared/skills/input-validation/references/violations.md +224 -0
- package/shared/skills/performance-patterns/SKILL.md +154 -0
- package/shared/skills/performance-patterns/references/detection.md +351 -0
- package/shared/skills/performance-patterns/references/patterns.md +503 -0
- package/shared/skills/performance-patterns/references/violations.md +354 -0
- package/shared/skills/react/SKILL.md +276 -0
- package/shared/skills/react/references/patterns.md +1331 -0
- package/shared/skills/react/references/violations.md +565 -0
- package/shared/skills/regression-patterns/SKILL.md +146 -0
- package/shared/skills/regression-patterns/references/detection.md +237 -0
- package/shared/skills/regression-patterns/references/patterns.md +226 -0
- package/shared/skills/regression-patterns/references/violations.md +225 -0
- package/shared/skills/review-methodology/SKILL.md +119 -0
- package/shared/skills/review-methodology/references/patterns.md +186 -0
- package/shared/skills/review-methodology/references/report-template.md +142 -0
- package/shared/skills/review-methodology/references/violations.md +125 -0
- package/shared/skills/security-patterns/SKILL.md +156 -0
- package/shared/skills/security-patterns/references/detection.md +287 -0
- package/shared/skills/security-patterns/references/patterns.md +507 -0
- package/shared/skills/security-patterns/references/violations.md +237 -0
- package/shared/skills/self-review/SKILL.md +149 -0
- package/shared/skills/self-review/references/patterns.md +405 -0
- package/shared/skills/self-review/references/report-template.md +253 -0
- package/shared/skills/self-review/references/violations.md +308 -0
- package/shared/skills/test-patterns/SKILL.md +183 -0
- package/shared/skills/test-patterns/references/detection.md +149 -0
- package/shared/skills/test-patterns/references/patterns.md +220 -0
- package/shared/skills/test-patterns/references/report-template.md +108 -0
- package/shared/skills/test-patterns/references/violations.md +221 -0
- package/shared/skills/typescript/SKILL.md +176 -0
- package/shared/skills/typescript/references/patterns.md +1105 -0
- package/shared/skills/typescript/references/violations.md +433 -0
- package/src/templates/claudeignore.template +188 -0
- package/src/templates/managed-settings.json +146 -0
- package/src/templates/settings.json +59 -0
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/uninstall.d.ts.map +0 -1
- package/dist/commands/uninstall.js.map +0 -1
- package/dist/utils/git.d.ts.map +0 -1
- package/dist/utils/git.js.map +0 -1
- package/dist/utils/paths.d.ts.map +0 -1
- package/dist/utils/paths.js.map +0 -1
- package/src/claude/CLAUDE.md +0 -400
- package/src/claude/agents/devflow/audit-architecture.md +0 -132
- package/src/claude/agents/devflow/audit-complexity.md +0 -132
- package/src/claude/agents/devflow/audit-database.md +0 -132
- package/src/claude/agents/devflow/audit-dependencies.md +0 -132
- package/src/claude/agents/devflow/audit-documentation.md +0 -132
- package/src/claude/agents/devflow/audit-performance.md +0 -256
- package/src/claude/agents/devflow/audit-security.md +0 -259
- package/src/claude/agents/devflow/audit-tests.md +0 -132
- package/src/claude/agents/devflow/audit-typescript.md +0 -132
- package/src/claude/agents/devflow/brainstorm.md +0 -279
- package/src/claude/agents/devflow/catch-up.md +0 -345
- package/src/claude/agents/devflow/code-review.md +0 -307
- package/src/claude/agents/devflow/commit.md +0 -380
- package/src/claude/agents/devflow/debug.md +0 -476
- package/src/claude/agents/devflow/design.md +0 -491
- package/src/claude/agents/devflow/pr-comments.md +0 -285
- package/src/claude/agents/devflow/project-state.md +0 -419
- package/src/claude/agents/devflow/pull-request.md +0 -423
- package/src/claude/agents/devflow/release.md +0 -1137
- package/src/claude/agents/devflow/tech-debt.md +0 -338
- package/src/claude/commands/devflow/brainstorm.md +0 -68
- package/src/claude/commands/devflow/breakdown.md +0 -125
- package/src/claude/commands/devflow/catch-up.md +0 -29
- package/src/claude/commands/devflow/code-review.md +0 -237
- package/src/claude/commands/devflow/commit.md +0 -17
- package/src/claude/commands/devflow/debug.md +0 -56
- package/src/claude/commands/devflow/design.md +0 -82
- package/src/claude/commands/devflow/devlog.md +0 -408
- package/src/claude/commands/devflow/implement.md +0 -100
- package/src/claude/commands/devflow/plan.md +0 -223
- package/src/claude/commands/devflow/pull-request.md +0 -269
- package/src/claude/commands/devflow/release.md +0 -251
- package/src/claude/commands/devflow/resolve-comments.md +0 -583
- package/src/claude/scripts/statusline.sh +0 -47
- package/src/claude/settings.json +0 -6
- package/src/claude/skills/devflow/code-smell/SKILL.md +0 -428
- package/src/claude/skills/devflow/debug/SKILL.md +0 -119
- package/src/claude/skills/devflow/error-handling/SKILL.md +0 -597
- package/src/claude/skills/devflow/input-validation/SKILL.md +0 -514
- package/src/claude/skills/devflow/pattern-check/SKILL.md +0 -238
- package/src/claude/skills/devflow/research/SKILL.md +0 -138
- package/src/claude/skills/devflow/test-design/SKILL.md +0 -384
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
# GitHub Patterns Violation Examples
|
|
2
|
+
|
|
3
|
+
Extended violation patterns for GitHub API and CLI operations. Reference from main SKILL.md.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## API Usage Violations
|
|
8
|
+
|
|
9
|
+
### Rate Limit Violations
|
|
10
|
+
|
|
11
|
+
**Ignoring Rate Limits**
|
|
12
|
+
```bash
|
|
13
|
+
# VIOLATION: No rate limit check before batch operations
|
|
14
|
+
for issue in $(seq 1 100); do
|
|
15
|
+
gh api repos/{owner}/{repo}/issues/${issue}
|
|
16
|
+
done
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**No Backoff on Rate Limit Error**
|
|
20
|
+
```bash
|
|
21
|
+
# VIOLATION: Fails immediately without retry
|
|
22
|
+
response=$(gh api repos/{owner}/{repo}/issues 2>&1)
|
|
23
|
+
if [ $? -ne 0 ]; then
|
|
24
|
+
echo "Failed"
|
|
25
|
+
exit 1
|
|
26
|
+
fi
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Error Handling Violations
|
|
30
|
+
|
|
31
|
+
**Missing Error Handling**
|
|
32
|
+
```bash
|
|
33
|
+
# VIOLATION: Assumes success, ignores errors
|
|
34
|
+
PR_NUMBER=$(gh pr create --title "..." --body "..." --json number -q '.number')
|
|
35
|
+
gh pr merge $PR_NUMBER
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Silent Failure**
|
|
39
|
+
```bash
|
|
40
|
+
# VIOLATION: Swallows errors without reporting
|
|
41
|
+
gh issue create --title "..." 2>/dev/null || true
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**No Response Validation**
|
|
45
|
+
```bash
|
|
46
|
+
# VIOLATION: Trusts API response without validation
|
|
47
|
+
BODY=$(gh issue view $ISSUE --json body -q '.body')
|
|
48
|
+
# Directly uses BODY without checking if empty or malformed
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Security Violations
|
|
52
|
+
|
|
53
|
+
**Hardcoded Tokens**
|
|
54
|
+
```bash
|
|
55
|
+
# VIOLATION: Token in script
|
|
56
|
+
gh api -H "Authorization: token ghp_xxxxxxxxxxxx" repos/{owner}/{repo}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Token in Command History**
|
|
60
|
+
```bash
|
|
61
|
+
# VIOLATION: Exposes token in shell history
|
|
62
|
+
export GITHUB_TOKEN=ghp_xxxxxxxxxxxx
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Pagination Violations
|
|
66
|
+
|
|
67
|
+
**Missing Pagination**
|
|
68
|
+
```bash
|
|
69
|
+
# VIOLATION: Only gets first page (30 items by default)
|
|
70
|
+
gh api repos/{owner}/{repo}/issues --jq '.[].number'
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Incorrect Pagination Handling**
|
|
74
|
+
```bash
|
|
75
|
+
# VIOLATION: Manual page limit that may miss data
|
|
76
|
+
for page in 1 2 3; do
|
|
77
|
+
gh api "repos/{owner}/{repo}/issues?page=$page"
|
|
78
|
+
done
|
|
79
|
+
# What if there are 4+ pages?
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Query Violations
|
|
83
|
+
|
|
84
|
+
**Inefficient Multiple Queries**
|
|
85
|
+
```bash
|
|
86
|
+
# VIOLATION: Separate queries for data available in one
|
|
87
|
+
gh pr view $PR --json title
|
|
88
|
+
gh pr view $PR --json body
|
|
89
|
+
gh pr view $PR --json state
|
|
90
|
+
# Should use: gh pr view $PR --json title,body,state
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Missing Field Selection**
|
|
94
|
+
```bash
|
|
95
|
+
# VIOLATION: Fetches all fields when only one needed
|
|
96
|
+
gh issue list --json number,title,body,state,labels,assignees,milestone
|
|
97
|
+
# When you only need numbers
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## CLI Command Violations
|
|
103
|
+
|
|
104
|
+
### PR Comment Violations
|
|
105
|
+
|
|
106
|
+
**Invalid Line Comment Target**
|
|
107
|
+
```bash
|
|
108
|
+
# VIOLATION: Commenting on line not in diff
|
|
109
|
+
gh api -X POST "repos/${OWNER}/${REPO}/pulls/${PR}/comments" \
|
|
110
|
+
-f body="Comment" \
|
|
111
|
+
-f path="unchanged_file.ts" \
|
|
112
|
+
-F line=50 # Line not in PR diff
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Missing Commit SHA**
|
|
116
|
+
```bash
|
|
117
|
+
# VIOLATION: Comment without commit reference
|
|
118
|
+
gh api -X POST "repos/${OWNER}/${REPO}/pulls/${PR}/comments" \
|
|
119
|
+
-f body="Comment" \
|
|
120
|
+
-f path="file.ts" \
|
|
121
|
+
-F line=10
|
|
122
|
+
# Missing: -f commit_id="$HEAD_SHA"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**No Rate Limiting Between Comments**
|
|
126
|
+
```bash
|
|
127
|
+
# VIOLATION: Rapid-fire comments may hit rate limit
|
|
128
|
+
for file in "${FILES[@]}"; do
|
|
129
|
+
gh api -X POST "repos/${OWNER}/${REPO}/pulls/${PR}/comments" \
|
|
130
|
+
-f body="Issue found" \
|
|
131
|
+
-f path="$file"
|
|
132
|
+
# Missing: sleep between calls
|
|
133
|
+
done
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Issue Operations Violations
|
|
137
|
+
|
|
138
|
+
**Duplicate Issue Creation**
|
|
139
|
+
```bash
|
|
140
|
+
# VIOLATION: Creates duplicate without checking existing
|
|
141
|
+
gh issue create --title "Bug: Login fails" --body "..."
|
|
142
|
+
# Should check for existing similar issues first
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Tech Debt Issue Size Ignored**
|
|
146
|
+
```bash
|
|
147
|
+
# VIOLATION: Appending to issue without size check
|
|
148
|
+
gh issue comment $TECH_DEBT_ISSUE --body "$NEW_ITEMS"
|
|
149
|
+
# Issue may exceed 65,536 character limit
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Missing Issue Link Back**
|
|
153
|
+
```bash
|
|
154
|
+
# VIOLATION: Creates related issues without linking
|
|
155
|
+
NEW_ISSUE=$(gh issue create --title "Subtask" --json number -q '.number')
|
|
156
|
+
# Should add reference to parent issue
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Release Violations
|
|
160
|
+
|
|
161
|
+
**Invalid Version Format**
|
|
162
|
+
```bash
|
|
163
|
+
# VIOLATION: Non-semver version
|
|
164
|
+
gh release create "version-1.2" --title "Release"
|
|
165
|
+
# Should be: v1.2.0
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Missing Tag Before Release**
|
|
169
|
+
```bash
|
|
170
|
+
# VIOLATION: Creates release without tag
|
|
171
|
+
gh release create "v1.0.0" --title "Release"
|
|
172
|
+
# Tag should be created and pushed first for proper git history
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**No Changelog Reference**
|
|
176
|
+
```bash
|
|
177
|
+
# VIOLATION: Release without documented changes
|
|
178
|
+
gh release create "v1.0.0" --generate-notes
|
|
179
|
+
# Should have curated release notes or changelog reference
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Branch Name Violations
|
|
183
|
+
|
|
184
|
+
**Invalid Characters in Branch**
|
|
185
|
+
```bash
|
|
186
|
+
# VIOLATION: Spaces and special characters
|
|
187
|
+
BRANCH="feature/new feature with spaces!"
|
|
188
|
+
git checkout -b "$BRANCH"
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**Missing Issue Reference**
|
|
192
|
+
```bash
|
|
193
|
+
# VIOLATION: Branch without issue number for tracking
|
|
194
|
+
BRANCH="feature/add-login"
|
|
195
|
+
# Should be: feature/123-add-login (with issue reference)
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### PR Creation Violations
|
|
199
|
+
|
|
200
|
+
**Missing Base Branch**
|
|
201
|
+
```bash
|
|
202
|
+
# VIOLATION: PR to wrong base branch
|
|
203
|
+
gh pr create --title "Feature" --body "..."
|
|
204
|
+
# May default to wrong branch in forks
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**No Draft for WIP**
|
|
208
|
+
```bash
|
|
209
|
+
# VIOLATION: Non-draft PR for incomplete work
|
|
210
|
+
gh pr create --title "WIP: Feature" --body "Not ready yet"
|
|
211
|
+
# Should use: --draft
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**Missing Test Plan**
|
|
215
|
+
```bash
|
|
216
|
+
# VIOLATION: PR without test instructions
|
|
217
|
+
gh pr create --title "Feature" --body "Added feature X"
|
|
218
|
+
# Should include: ## Test plan section
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Workflow Integration Violations
|
|
224
|
+
|
|
225
|
+
### Webhook Handling Violations
|
|
226
|
+
|
|
227
|
+
**No Signature Verification**
|
|
228
|
+
```bash
|
|
229
|
+
# VIOLATION: Trusts webhook payload without verification
|
|
230
|
+
process_webhook() {
|
|
231
|
+
local payload="$1"
|
|
232
|
+
# Directly processes without checking X-Hub-Signature-256
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**Blocking Webhook Handler**
|
|
237
|
+
```bash
|
|
238
|
+
# VIOLATION: Long-running operation in webhook handler
|
|
239
|
+
handle_push_event() {
|
|
240
|
+
run_full_test_suite # May timeout
|
|
241
|
+
deploy_to_production # Takes too long
|
|
242
|
+
}
|
|
243
|
+
# Should acknowledge immediately, process async
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Actions Integration Violations
|
|
247
|
+
|
|
248
|
+
**Workflow Dispatch Without Validation**
|
|
249
|
+
```bash
|
|
250
|
+
# VIOLATION: Triggers workflow with unvalidated inputs
|
|
251
|
+
gh workflow run "deploy.yml" -f environment="$USER_INPUT"
|
|
252
|
+
# USER_INPUT could be malicious or invalid
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**No Run Status Check**
|
|
256
|
+
```bash
|
|
257
|
+
# VIOLATION: Triggers workflow without waiting for result
|
|
258
|
+
gh workflow run "build.yml"
|
|
259
|
+
echo "Triggered"
|
|
260
|
+
# Should check run status for critical workflows
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## GraphQL Violations
|
|
266
|
+
|
|
267
|
+
**Over-fetching Data**
|
|
268
|
+
```bash
|
|
269
|
+
# VIOLATION: Requesting all fields when few needed
|
|
270
|
+
gh api graphql -f query='
|
|
271
|
+
query {
|
|
272
|
+
repository(owner: "owner", name: "repo") {
|
|
273
|
+
pullRequest(number: 1) {
|
|
274
|
+
title body state author { login }
|
|
275
|
+
reviews(first: 100) { nodes { ... } }
|
|
276
|
+
comments(first: 100) { nodes { ... } }
|
|
277
|
+
commits(first: 250) { nodes { ... } }
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
'
|
|
282
|
+
# If only title and state needed, this wastes resources
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**Missing Pagination in GraphQL**
|
|
286
|
+
```bash
|
|
287
|
+
# VIOLATION: No cursor for paginated data
|
|
288
|
+
gh api graphql -f query='
|
|
289
|
+
query {
|
|
290
|
+
repository(owner: "owner", name: "repo") {
|
|
291
|
+
issues(first: 100) {
|
|
292
|
+
nodes { number title }
|
|
293
|
+
# Missing: pageInfo { hasNextPage endCursor }
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
'
|
|
298
|
+
```
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: implementation-patterns
|
|
3
|
+
description: This skill should be used when the user asks to "create an API endpoint", "add CRUD operations", "implement event handlers", "set up logging", "add configuration", or builds features involving database operations, REST/GraphQL APIs, pub/sub patterns, or service configuration. Provides implementation patterns that follow existing codebase conventions.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
allowed-tools: Read, Grep, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Implementation Patterns
|
|
9
|
+
|
|
10
|
+
Reference for common implementation patterns. Use these patterns to write consistent, maintainable code.
|
|
11
|
+
|
|
12
|
+
## Iron Law
|
|
13
|
+
|
|
14
|
+
> **FOLLOW EXISTING PATTERNS**
|
|
15
|
+
>
|
|
16
|
+
> Match the codebase style, don't invent new conventions. If the project uses Result types,
|
|
17
|
+
> use Result types. If it uses exceptions, use exceptions. Consistency trumps personal
|
|
18
|
+
> preference. The best pattern is the one already in use.
|
|
19
|
+
|
|
20
|
+
## When This Skill Activates
|
|
21
|
+
|
|
22
|
+
- Implementing CRUD operations
|
|
23
|
+
- Creating API endpoints
|
|
24
|
+
- Writing event handlers
|
|
25
|
+
- Setting up configuration
|
|
26
|
+
- Adding logging
|
|
27
|
+
- Database operations
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Pattern Categories
|
|
32
|
+
|
|
33
|
+
### CRUD Operations
|
|
34
|
+
|
|
35
|
+
Create, Read, Update, Delete with Result types and proper error handling.
|
|
36
|
+
|
|
37
|
+
**Core pattern**: Validate -> Transform -> Persist -> Return
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
async function createUser(input: CreateUserInput): Promise<Result<User, CreateError>> {
|
|
41
|
+
const validated = validateCreateUser(input);
|
|
42
|
+
if (!validated.ok) return Err({ type: 'validation', details: validated.error });
|
|
43
|
+
|
|
44
|
+
const user: User = { id: generateId(), ...validated.value, createdAt: new Date() };
|
|
45
|
+
const saved = await userRepository.save(user);
|
|
46
|
+
if (!saved.ok) return Err({ type: 'persistence', details: saved.error });
|
|
47
|
+
|
|
48
|
+
return Ok(saved.value);
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### API Endpoints
|
|
53
|
+
|
|
54
|
+
REST endpoint structure with auth, validation, and error mapping.
|
|
55
|
+
|
|
56
|
+
**Core pattern**: Parse request -> Validate auth -> Execute -> Format response
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
export async function handleGetUser(req: Request): Promise<Response> {
|
|
60
|
+
const id = parsePathParam(req, 'id');
|
|
61
|
+
if (!id.ok) return errorResponse(400, 'Invalid user ID');
|
|
62
|
+
|
|
63
|
+
const auth = await authenticate(req);
|
|
64
|
+
if (!auth.ok) return errorResponse(401, 'Unauthorized');
|
|
65
|
+
|
|
66
|
+
const result = await getUser(id.value);
|
|
67
|
+
if (!result.ok) return handleError(result.error);
|
|
68
|
+
|
|
69
|
+
return jsonResponse(200, result.value);
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Event Handlers
|
|
74
|
+
|
|
75
|
+
Async event processing with idempotency and error recovery.
|
|
76
|
+
|
|
77
|
+
**Core pattern**: Validate event -> Process -> Handle errors -> Acknowledge
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
async function handleUserCreated(event: UserCreatedEvent): Promise<void> {
|
|
81
|
+
const validated = validateEvent(event);
|
|
82
|
+
if (!validated.ok) { logger.warn('Invalid event'); return; }
|
|
83
|
+
|
|
84
|
+
await sendWelcomeEmail(event.userId);
|
|
85
|
+
await createDefaultSettings(event.userId);
|
|
86
|
+
logger.info('Event processed successfully');
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Configuration
|
|
91
|
+
|
|
92
|
+
Environment config with schema validation and feature flags.
|
|
93
|
+
|
|
94
|
+
**Core pattern**: Define schema -> Load from env -> Validate -> Export frozen
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
const ConfigSchema = z.object({
|
|
98
|
+
PORT: z.coerce.number().default(3000),
|
|
99
|
+
DATABASE_URL: z.string().url(),
|
|
100
|
+
NODE_ENV: z.enum(['development', 'production', 'test']).default('development'),
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
export const config = Object.freeze(ConfigSchema.parse(process.env));
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Logging
|
|
107
|
+
|
|
108
|
+
Structured logging with context propagation and operation tracking.
|
|
109
|
+
|
|
110
|
+
**Core pattern**: Context -> Level -> Message -> Data
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
const logger = createLogger({ requestId: req.id, userId: user.id });
|
|
114
|
+
logger.info('Processing order', { orderId: order.id, items: order.items.length });
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Anti-Patterns to Avoid
|
|
120
|
+
|
|
121
|
+
| Anti-Pattern | Problem | Fix |
|
|
122
|
+
|--------------|---------|-----|
|
|
123
|
+
| God functions | 500-line functions doing everything | Compose small, focused functions |
|
|
124
|
+
| Implicit dependencies | Using global state (`db.query(...)`) | Inject dependencies explicitly |
|
|
125
|
+
| Swallowing errors | Empty catch blocks | Handle or propagate with Result types |
|
|
126
|
+
| Magic values | Unexplained numbers/strings | Extract to named constants |
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Build Optimization
|
|
131
|
+
|
|
132
|
+
Production builds must exclude test files, debug artifacts, and sourcemaps.
|
|
133
|
+
|
|
134
|
+
```json
|
|
135
|
+
// tsconfig.prod.json
|
|
136
|
+
{
|
|
137
|
+
"exclude": ["**/*.test.ts", "**/*.spec.ts", "**/tests/**"]
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Implementation Checklist
|
|
144
|
+
|
|
145
|
+
Before implementing, verify:
|
|
146
|
+
|
|
147
|
+
- [ ] Using Result types for operations that can fail
|
|
148
|
+
- [ ] Validating input at system boundaries
|
|
149
|
+
- [ ] Logging with context (requestId, userId, operation)
|
|
150
|
+
- [ ] Handling all error cases explicitly
|
|
151
|
+
- [ ] Making operations idempotent where possible
|
|
152
|
+
- [ ] Using transactions for multi-step operations
|
|
153
|
+
- [ ] No hardcoded values (use config)
|
|
154
|
+
- [ ] Following existing codebase patterns
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Extended References
|
|
159
|
+
|
|
160
|
+
For full implementation examples:
|
|
161
|
+
- `references/violations.md` - Extended violation examples (CRUD, API, Events, Config, Logging)
|
|
162
|
+
- `references/patterns.md` - Extended correct patterns (CRUD, API, Events, Config, Logging)
|