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,189 @@
|
|
|
1
|
+
# Correct Documentation Patterns
|
|
2
|
+
|
|
3
|
+
Extended examples of proper documentation. See parent `SKILL.md` for brief examples and severity guidelines.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Code Documentation Patterns
|
|
8
|
+
|
|
9
|
+
### Proper JSDoc for Complex Functions
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
/**
|
|
13
|
+
* Calculates prorated billing amount when switching plans mid-cycle.
|
|
14
|
+
*
|
|
15
|
+
* @param plan - The new plan to prorate to
|
|
16
|
+
* @param startDate - When the new plan starts
|
|
17
|
+
* @param endDate - End of current billing cycle
|
|
18
|
+
* @param previousPlan - Optional previous plan for credit calculation
|
|
19
|
+
* @returns Prorated amount in cents (can be negative for downgrades)
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* // Upgrading mid-month
|
|
23
|
+
* calculateProratedAmount(premiumPlan, new Date('2024-01-15'), new Date('2024-01-31'))
|
|
24
|
+
* // Returns: 1645 (cents)
|
|
25
|
+
*
|
|
26
|
+
* @throws {InvalidDateRangeError} If startDate is after endDate
|
|
27
|
+
*/
|
|
28
|
+
export function calculateProratedAmount(
|
|
29
|
+
plan: Plan,
|
|
30
|
+
startDate: Date,
|
|
31
|
+
endDate: Date,
|
|
32
|
+
previousPlan?: Plan
|
|
33
|
+
): number {
|
|
34
|
+
// ...
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Key elements**: Purpose, all params, return type with units, example usage, error conditions.
|
|
39
|
+
|
|
40
|
+
### Comments That Explain "Why"
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
// Filter to active users only - inactive users should not receive
|
|
44
|
+
// promotional emails per GDPR consent requirements
|
|
45
|
+
const activeUsers = users.filter(u => u.active);
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Key elements**: Business reason (GDPR), not mechanical description.
|
|
49
|
+
|
|
50
|
+
### Algorithm Documentation
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
/**
|
|
54
|
+
* Schedules tasks using weighted shortest job first (WSJF) algorithm.
|
|
55
|
+
*
|
|
56
|
+
* Priority score = (priority * urgency) / duration
|
|
57
|
+
* Higher scores are scheduled first.
|
|
58
|
+
*
|
|
59
|
+
* Tasks are placed starting 1.5x their duration before deadline
|
|
60
|
+
* to allow buffer for overruns.
|
|
61
|
+
*
|
|
62
|
+
* @see https://www.scaledagileframework.com/wsjf/
|
|
63
|
+
*/
|
|
64
|
+
function schedule(tasks: Task[]): Schedule {
|
|
65
|
+
// ...
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Key elements**: Algorithm name, formula explanation, rationale for magic numbers, external reference.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## API Documentation Patterns
|
|
74
|
+
|
|
75
|
+
### Complete Parameter Documentation
|
|
76
|
+
|
|
77
|
+
```typescript
|
|
78
|
+
/**
|
|
79
|
+
* Creates a new subscription for a user.
|
|
80
|
+
*
|
|
81
|
+
* @param userId - The unique identifier of the user
|
|
82
|
+
* @param planId - The plan to subscribe to (from /plans endpoint)
|
|
83
|
+
* @param options - Optional configuration
|
|
84
|
+
* @param options.trialDays - Number of trial days (default: 0, max: 30)
|
|
85
|
+
* @param options.couponCode - Discount coupon to apply
|
|
86
|
+
* @param options.startDate - When to start (default: now)
|
|
87
|
+
*
|
|
88
|
+
* @returns The created subscription with payment details
|
|
89
|
+
*
|
|
90
|
+
* @throws {UserNotFoundError} If userId doesn't exist
|
|
91
|
+
* @throws {PlanNotFoundError} If planId doesn't exist
|
|
92
|
+
* @throws {InvalidCouponError} If coupon is expired or invalid
|
|
93
|
+
*/
|
|
94
|
+
async function createSubscription(
|
|
95
|
+
userId: string,
|
|
96
|
+
planId: string,
|
|
97
|
+
options?: SubscriptionOptions
|
|
98
|
+
): Promise<Subscription>;
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**Key elements**: All params including nested options, defaults, constraints, all error types.
|
|
102
|
+
|
|
103
|
+
### Return Value Documentation
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
/**
|
|
107
|
+
* Fetches aggregated analytics data for the date range.
|
|
108
|
+
*
|
|
109
|
+
* @param range - Start and end dates for the query
|
|
110
|
+
* @returns Analytics data including:
|
|
111
|
+
* - totalVisitors: Unique visitor count
|
|
112
|
+
* - pageViews: Total page view count
|
|
113
|
+
* - bounceRate: Percentage (0-100) of single-page sessions
|
|
114
|
+
* - avgSessionDuration: Average session length in seconds
|
|
115
|
+
* - topPages: Array of {path, views} sorted by views desc
|
|
116
|
+
*/
|
|
117
|
+
async function getAnalytics(range: DateRange): Promise<Analytics>;
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Key elements**: Shape of return object, units (percentage, seconds), sorting order.
|
|
121
|
+
|
|
122
|
+
### Error Documentation
|
|
123
|
+
|
|
124
|
+
```typescript
|
|
125
|
+
/**
|
|
126
|
+
* Transfers funds between accounts.
|
|
127
|
+
*
|
|
128
|
+
* @throws {InsufficientFundsError} If source account balance < amount
|
|
129
|
+
* @throws {AccountNotFoundError} If either account doesn't exist
|
|
130
|
+
* @throws {AccountFrozenError} If either account is frozen
|
|
131
|
+
* @throws {TransferLimitError} If amount exceeds daily transfer limit
|
|
132
|
+
* @throws {SameAccountError} If from === to
|
|
133
|
+
*/
|
|
134
|
+
async function transferFunds(from: string, to: string, amount: number): Promise<void>;
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Key elements**: All possible error types with conditions that trigger them.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Alignment Patterns
|
|
142
|
+
|
|
143
|
+
### Constants Instead of Magic Numbers
|
|
144
|
+
|
|
145
|
+
```typescript
|
|
146
|
+
const MAX_RETRIES = 5;
|
|
147
|
+
|
|
148
|
+
// Retries up to MAX_RETRIES times with exponential backoff
|
|
149
|
+
async function fetchWithRetry(url: string) {
|
|
150
|
+
for (let i = 0; i < MAX_RETRIES; i++) { /* ... */ }
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**Key elements**: Named constant keeps comment and code in sync automatically.
|
|
155
|
+
|
|
156
|
+
### Up-to-Date README
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
## Installation
|
|
160
|
+
npm install mypackage@^2.0.0
|
|
161
|
+
|
|
162
|
+
## Usage
|
|
163
|
+
import { newFunction } from 'mypackage';
|
|
164
|
+
await newFunction({ /* new options */ });
|
|
165
|
+
|
|
166
|
+
## Migration from v1
|
|
167
|
+
See [MIGRATION.md](./MIGRATION.md) for upgrade instructions.
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Key elements**: Correct version, working examples, migration guidance.
|
|
171
|
+
|
|
172
|
+
### Proper Changelog
|
|
173
|
+
|
|
174
|
+
```markdown
|
|
175
|
+
## [2.0.0] - 2024-01-15
|
|
176
|
+
|
|
177
|
+
### Breaking Changes
|
|
178
|
+
- `createUser()` now returns `Promise<Result<User>>` instead of `Promise<User>`
|
|
179
|
+
- Removed deprecated `oldFunction()` - use `newFunction()` instead
|
|
180
|
+
- Minimum Node.js version is now 18
|
|
181
|
+
|
|
182
|
+
### Added
|
|
183
|
+
- New `validateUser()` function for input validation
|
|
184
|
+
|
|
185
|
+
### Changed
|
|
186
|
+
- Improved error messages for authentication failures
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**Key elements**: Breaking changes highlighted first, migration hints, categorized changes.
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# Documentation Violation Examples
|
|
2
|
+
|
|
3
|
+
Extended examples of documentation anti-patterns. See parent `SKILL.md` for brief examples and severity guidelines.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Code Documentation Violations
|
|
8
|
+
|
|
9
|
+
### Missing Docstrings/JSDoc
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
// VIOLATION: Complex function without documentation
|
|
13
|
+
export function calculateProratedAmount(
|
|
14
|
+
plan: Plan,
|
|
15
|
+
startDate: Date,
|
|
16
|
+
endDate: Date,
|
|
17
|
+
previousPlan?: Plan
|
|
18
|
+
): number {
|
|
19
|
+
// 50 lines of complex billing logic...
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Why it's a problem**: Complex billing logic with edge cases (negative amounts for downgrades, credit calculations) is impossible to use correctly without documentation.
|
|
24
|
+
|
|
25
|
+
### Outdated Comments
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
// VIOLATION: Comment doesn't match code
|
|
29
|
+
// Returns user's full name
|
|
30
|
+
function getDisplayName(user: User): string {
|
|
31
|
+
return user.username; // Actually returns username, not full name!
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// VIOLATION: TODO that's been done
|
|
35
|
+
// TODO: Add validation
|
|
36
|
+
function processInput(input: string) {
|
|
37
|
+
if (!isValid(input)) throw new Error('Invalid'); // Validation exists!
|
|
38
|
+
// ...
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Why it's a problem**: Misleading comments cause bugs when developers trust them over reading the code.
|
|
43
|
+
|
|
44
|
+
### Comments Explaining "What" Instead of "Why"
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
// VIOLATION: Describes what code does (obvious from code)
|
|
48
|
+
// Loop through users
|
|
49
|
+
for (const user of users) {
|
|
50
|
+
// Check if user is active
|
|
51
|
+
if (user.active) {
|
|
52
|
+
// Add user to list
|
|
53
|
+
activeUsers.push(user);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Why it's a problem**: These comments add noise without value. The code already says what it does.
|
|
59
|
+
|
|
60
|
+
### Complex Code Without Explanation
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
// VIOLATION: Magic algorithm without explanation
|
|
64
|
+
function schedule(tasks: Task[]): Schedule {
|
|
65
|
+
return tasks
|
|
66
|
+
.sort((a, b) => (b.priority * b.urgency) / b.duration - (a.priority * a.urgency) / a.duration)
|
|
67
|
+
.reduce((schedule, task) => {
|
|
68
|
+
const slot = findSlot(schedule, task, task.deadline - task.duration * 1.5);
|
|
69
|
+
return slot ? addToSchedule(schedule, task, slot) : schedule;
|
|
70
|
+
}, emptySchedule());
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Why it's a problem**: The WSJF algorithm and 1.5x buffer are non-obvious. Future maintainers will be confused or afraid to modify.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## API Documentation Violations
|
|
79
|
+
|
|
80
|
+
### Missing Parameter Descriptions
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
// VIOLATION: Parameters unexplained
|
|
84
|
+
/**
|
|
85
|
+
* Creates a new subscription.
|
|
86
|
+
*/
|
|
87
|
+
async function createSubscription(
|
|
88
|
+
userId: string,
|
|
89
|
+
planId: string,
|
|
90
|
+
options?: SubscriptionOptions
|
|
91
|
+
): Promise<Subscription>;
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Why it's a problem**: Callers don't know valid values for `planId`, what `options` are available, or constraints on parameters.
|
|
95
|
+
|
|
96
|
+
### Missing Return Value Documentation
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
// VIOLATION: Return shape unknown
|
|
100
|
+
/**
|
|
101
|
+
* Fetches analytics data.
|
|
102
|
+
*/
|
|
103
|
+
async function getAnalytics(range: DateRange): Promise<Analytics>;
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Why it's a problem**: Consumers must read implementation to understand the shape of `Analytics`.
|
|
107
|
+
|
|
108
|
+
### Missing Error Documentation
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
// VIOLATION: Errors not documented
|
|
112
|
+
async function transferFunds(from: string, to: string, amount: number): Promise<void>;
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Why it's a problem**: Callers don't know what errors to catch or handle. They'll either catch everything or miss important cases.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Alignment Violations
|
|
120
|
+
|
|
121
|
+
### Code-Comment Drift
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
// BEFORE: Comment matches
|
|
125
|
+
// Retries up to 3 times with exponential backoff
|
|
126
|
+
async function fetchWithRetry(url: string) {
|
|
127
|
+
for (let i = 0; i < 3; i++) { /* ... */ }
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// AFTER: Code changed, comment didn't
|
|
131
|
+
// Retries up to 3 times with exponential backoff
|
|
132
|
+
async function fetchWithRetry(url: string) {
|
|
133
|
+
for (let i = 0; i < 5; i++) { /* ... */ } // Now 5 retries!
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Why it's a problem**: Developers relying on the comment will expect different behavior than actual.
|
|
138
|
+
|
|
139
|
+
### Stale README
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
<!-- VIOLATION: README doesn't reflect reality -->
|
|
143
|
+
|
|
144
|
+
## Installation
|
|
145
|
+
npm install mypackage
|
|
146
|
+
|
|
147
|
+
## Usage
|
|
148
|
+
const { oldFunction } = require('mypackage');
|
|
149
|
+
oldFunction(); // This function was removed!
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Why it's a problem**: New users follow outdated instructions and immediately hit errors.
|
|
153
|
+
|
|
154
|
+
### Missing Changelog Entries
|
|
155
|
+
|
|
156
|
+
```markdown
|
|
157
|
+
<!-- VIOLATION: Breaking change not documented -->
|
|
158
|
+
|
|
159
|
+
## [2.0.0] - 2024-01-15
|
|
160
|
+
- Updated dependencies
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Why it's a problem**: Users upgrading have no warning about breaking changes and no migration path.
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-design
|
|
3
|
+
description: This skill should be used when the user asks to "design a component", "pick colors", "improve typography", "fix spacing", "choose a layout", or discusses visual design, CSS, styling decisions, or responsive interfaces. Provides patterns for typography scales, color systems, spacing, and production-grade UI design.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
allowed-tools: Read, Grep, Glob
|
|
6
|
+
activation:
|
|
7
|
+
file-patterns:
|
|
8
|
+
- "**/*.tsx"
|
|
9
|
+
- "**/*.jsx"
|
|
10
|
+
- "**/*.css"
|
|
11
|
+
- "**/*.scss"
|
|
12
|
+
- "**/tailwind.config.*"
|
|
13
|
+
exclude:
|
|
14
|
+
- "node_modules/**"
|
|
15
|
+
- "**/*.test.*"
|
|
16
|
+
- "**/*.spec.*"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Frontend Design Patterns
|
|
20
|
+
|
|
21
|
+
Reference for intentional visual design, following Anthropic's 4 Dimensions framework. Focus on deliberate aesthetic choices over default slop.
|
|
22
|
+
|
|
23
|
+
## Iron Law
|
|
24
|
+
|
|
25
|
+
> **AESTHETICS MUST HAVE INTENT**
|
|
26
|
+
>
|
|
27
|
+
> Every visual choice must be justified. Default styles, copied gradients, and
|
|
28
|
+
> "looks modern" are not justifications. If you cannot explain why a specific
|
|
29
|
+
> font, color, or animation exists, it's design debt. Good design is invisible
|
|
30
|
+
> because it serves purpose, not because it copies trends.
|
|
31
|
+
|
|
32
|
+
## When This Skill Activates
|
|
33
|
+
|
|
34
|
+
- Creating or styling UI components
|
|
35
|
+
- Reviewing CSS, Tailwind, or styled-components
|
|
36
|
+
- Discussing typography, color schemes, or layouts
|
|
37
|
+
- Building design systems or component libraries
|
|
38
|
+
- Evaluating visual consistency
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 1. Typography Intent
|
|
43
|
+
|
|
44
|
+
### Font Personality Must Match Product
|
|
45
|
+
|
|
46
|
+
```css
|
|
47
|
+
/* CORRECT: Deliberate choice with rationale */
|
|
48
|
+
/* Product: Developer documentation - needs readability */
|
|
49
|
+
font-family: 'IBM Plex Mono', 'JetBrains Mono', monospace;
|
|
50
|
+
|
|
51
|
+
/* VIOLATION: Inter because "everyone uses it" */
|
|
52
|
+
font-family: 'Inter', sans-serif; /* Why? What does it communicate? */
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Clear Hierarchy
|
|
56
|
+
|
|
57
|
+
```css
|
|
58
|
+
/* CORRECT: Distinct visual hierarchy */
|
|
59
|
+
.heading-1 { font-size: 2.5rem; font-weight: 700; letter-spacing: -0.02em; }
|
|
60
|
+
.heading-2 { font-size: 1.75rem; font-weight: 600; letter-spacing: -0.01em; }
|
|
61
|
+
.body { font-size: 1rem; font-weight: 400; line-height: 1.6; }
|
|
62
|
+
.caption { font-size: 0.875rem; font-weight: 400; color: var(--text-muted); }
|
|
63
|
+
|
|
64
|
+
/* VIOLATION: No hierarchy - everything similar */
|
|
65
|
+
.text { font-size: 1rem; }
|
|
66
|
+
.text-big { font-size: 1.1rem; }
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Line Height Tuning
|
|
70
|
+
|
|
71
|
+
```css
|
|
72
|
+
/* CORRECT: Context-appropriate line height */
|
|
73
|
+
.heading { line-height: 1.2; } /* Tight for short headings */
|
|
74
|
+
.body { line-height: 1.6; } /* Comfortable for reading */
|
|
75
|
+
.code { line-height: 1.4; } /* Balanced for code */
|
|
76
|
+
|
|
77
|
+
/* VIOLATION: Universal line height */
|
|
78
|
+
* { line-height: 1.5; }
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 2. Color and Theme
|
|
84
|
+
|
|
85
|
+
### Deliberate Palette
|
|
86
|
+
|
|
87
|
+
```css
|
|
88
|
+
/* CORRECT: Semantic color system with clear purpose */
|
|
89
|
+
:root {
|
|
90
|
+
--color-primary: #0066cc; /* Actions, links - trust/stability */
|
|
91
|
+
--color-success: #0a6640; /* Positive outcomes */
|
|
92
|
+
--color-warning: #b35900; /* Attention needed */
|
|
93
|
+
--color-error: #c41e3a; /* Errors, destructive */
|
|
94
|
+
--color-neutral-900: #1a1a1a; /* Primary text */
|
|
95
|
+
--color-neutral-500: #6b7280; /* Secondary text */
|
|
96
|
+
--color-neutral-100: #f5f5f5; /* Backgrounds */
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* VIOLATION: Random hex values without system */
|
|
100
|
+
.button { background: #4f46e5; }
|
|
101
|
+
.link { color: #3b82f6; }
|
|
102
|
+
.alert { background: #ef4444; }
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Light/Dark as First-Class
|
|
106
|
+
|
|
107
|
+
```css
|
|
108
|
+
/* CORRECT: Design for both modes intentionally */
|
|
109
|
+
:root {
|
|
110
|
+
--bg-primary: #ffffff;
|
|
111
|
+
--text-primary: #1a1a1a;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@media (prefers-color-scheme: dark) {
|
|
115
|
+
:root {
|
|
116
|
+
--bg-primary: #0f0f0f;
|
|
117
|
+
--text-primary: #f5f5f5;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/* VIOLATION: Dark mode as afterthought */
|
|
122
|
+
.dark-mode { filter: invert(1); }
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 3. Motion and Animation
|
|
128
|
+
|
|
129
|
+
### State Communication
|
|
130
|
+
|
|
131
|
+
```css
|
|
132
|
+
/* CORRECT: Animation communicates state change */
|
|
133
|
+
.button {
|
|
134
|
+
transition: transform 0.1s ease-out, background 0.15s ease;
|
|
135
|
+
}
|
|
136
|
+
.button:active {
|
|
137
|
+
transform: scale(0.98); /* Feedback: "I received your click" */
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/* VIOLATION: Animation for decoration */
|
|
141
|
+
.button {
|
|
142
|
+
animation: pulse 2s infinite; /* Why is it pulsing? */
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Consistent Timing
|
|
147
|
+
|
|
148
|
+
```css
|
|
149
|
+
/* CORRECT: Timing scale for consistency */
|
|
150
|
+
:root {
|
|
151
|
+
--duration-fast: 100ms; /* Micro-interactions */
|
|
152
|
+
--duration-normal: 200ms; /* Standard transitions */
|
|
153
|
+
--duration-slow: 300ms; /* Complex animations */
|
|
154
|
+
--easing-default: cubic-bezier(0.4, 0, 0.2, 1);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* VIOLATION: Random durations */
|
|
158
|
+
.modal { transition: 0.35s; }
|
|
159
|
+
.dropdown { transition: 0.2s; }
|
|
160
|
+
.tooltip { transition: 0.15s; }
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Appropriate Duration
|
|
164
|
+
|
|
165
|
+
| Element | Duration | Rationale |
|
|
166
|
+
|---------|----------|-----------|
|
|
167
|
+
| Hover states | 100-150ms | Immediate feedback |
|
|
168
|
+
| Dropdowns | 150-200ms | Quick but perceptible |
|
|
169
|
+
| Modals | 200-300ms | Significant context change |
|
|
170
|
+
| Page transitions | 300-500ms | Major navigation |
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 4. Spatial Composition
|
|
175
|
+
|
|
176
|
+
### Consistent Spacing Scale
|
|
177
|
+
|
|
178
|
+
```css
|
|
179
|
+
/* CORRECT: Mathematical spacing system */
|
|
180
|
+
:root {
|
|
181
|
+
--space-1: 0.25rem; /* 4px */
|
|
182
|
+
--space-2: 0.5rem; /* 8px */
|
|
183
|
+
--space-3: 0.75rem; /* 12px */
|
|
184
|
+
--space-4: 1rem; /* 16px */
|
|
185
|
+
--space-6: 1.5rem; /* 24px */
|
|
186
|
+
--space-8: 2rem; /* 32px */
|
|
187
|
+
--space-12: 3rem; /* 48px */
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/* VIOLATION: Magic numbers */
|
|
191
|
+
.card { padding: 18px 22px; margin-bottom: 13px; }
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Whitespace With Purpose
|
|
195
|
+
|
|
196
|
+
```css
|
|
197
|
+
/* CORRECT: Whitespace creates visual grouping */
|
|
198
|
+
.section { margin-bottom: var(--space-12); }
|
|
199
|
+
.section-header { margin-bottom: var(--space-6); }
|
|
200
|
+
.paragraph { margin-bottom: var(--space-4); }
|
|
201
|
+
|
|
202
|
+
/* VIOLATION: Uniform spacing (no hierarchy) */
|
|
203
|
+
* + * { margin-top: 1rem; }
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## AI Slop Detection
|
|
209
|
+
|
|
210
|
+
Flag these patterns - they indicate thoughtless defaults:
|
|
211
|
+
|
|
212
|
+
| Pattern | Problem |
|
|
213
|
+
|---------|---------|
|
|
214
|
+
| Purple-to-pink gradient | Copied from templates without brand justification |
|
|
215
|
+
| `font-family: Inter` without rationale | Default choice, not intentional |
|
|
216
|
+
| Everything centered | No visual hierarchy or flow |
|
|
217
|
+
| `rounded-xl` on everything | Border radius should vary by context |
|
|
218
|
+
| Shadows on everything | Elevation should be meaningful |
|
|
219
|
+
| Generic "hero section" with gradient | Template copy, not designed |
|
|
220
|
+
| `animate-pulse` on buttons | Meaningless attention grab |
|
|
221
|
+
| Glassmorphism everywhere | Trend following, not purpose |
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Extended References
|
|
226
|
+
|
|
227
|
+
For additional patterns and examples:
|
|
228
|
+
- `references/violations.md` - Extended design anti-patterns
|
|
229
|
+
- `references/patterns.md` - Extended correct patterns
|
|
230
|
+
- `references/detection.md` - Grep patterns for finding issues
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Severity Guidelines
|
|
235
|
+
|
|
236
|
+
| Severity | Criteria |
|
|
237
|
+
|----------|----------|
|
|
238
|
+
| CRITICAL | No design system (random values everywhere) |
|
|
239
|
+
| HIGH | Inconsistent spacing/typography, broken dark mode |
|
|
240
|
+
| MEDIUM | Missing hover states, poor visual hierarchy |
|
|
241
|
+
| LOW | Could improve animation timing, minor inconsistencies |
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Checklist
|
|
246
|
+
|
|
247
|
+
- [ ] Typography choices have documented rationale
|
|
248
|
+
- [ ] Color palette is semantic (not arbitrary hex)
|
|
249
|
+
- [ ] Dark/light modes both intentionally designed
|
|
250
|
+
- [ ] Spacing follows consistent scale
|
|
251
|
+
- [ ] Animations communicate state (not decoration)
|
|
252
|
+
- [ ] No "AI slop" patterns present
|
|
253
|
+
- [ ] Visual hierarchy is clear
|
|
254
|
+
- [ ] Responsive behavior is intentional
|