devflow-kit 0.9.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +197 -29
- package/LICENSE +1 -1
- package/README.md +185 -309
- package/dist/cli.js +7 -1
- package/dist/commands/ambient.d.ts +18 -0
- package/dist/commands/ambient.js +136 -0
- package/dist/commands/init.d.ts +23 -0
- package/dist/commands/init.js +393 -571
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.js +20 -0
- package/dist/commands/memory.d.ts +22 -0
- package/dist/commands/memory.js +175 -0
- package/dist/commands/uninstall.d.ts +10 -0
- package/dist/commands/uninstall.js +418 -78
- package/dist/plugins.d.ts +46 -0
- package/dist/plugins.js +169 -0
- package/dist/utils/cli.d.ts +5 -0
- package/dist/utils/cli.js +14 -0
- package/dist/utils/installer.d.ts +41 -0
- package/dist/utils/installer.js +177 -0
- package/dist/utils/paths.d.ts +10 -0
- package/dist/utils/paths.js +23 -3
- package/dist/utils/post-install.d.ts +80 -0
- package/dist/utils/post-install.js +508 -0
- package/dist/utils/safe-delete-install.d.ts +29 -0
- package/dist/utils/safe-delete-install.js +191 -0
- package/dist/utils/safe-delete.d.ts +12 -0
- package/dist/utils/safe-delete.js +83 -0
- package/package.json +18 -8
- package/plugins/devflow-ambient/.claude-plugin/plugin.json +7 -0
- package/plugins/devflow-ambient/README.md +49 -0
- package/plugins/devflow-ambient/commands/ambient.md +110 -0
- package/plugins/devflow-ambient/skills/ambient-router/SKILL.md +89 -0
- package/plugins/devflow-ambient/skills/ambient-router/references/skill-catalog.md +64 -0
- package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +7 -0
- package/plugins/devflow-audit-claude/README.md +46 -0
- package/plugins/devflow-audit-claude/agents/claude-md-auditor.md +134 -0
- package/plugins/devflow-audit-claude/commands/audit-claude.md +85 -0
- package/plugins/devflow-code-review/.claude-plugin/plugin.json +31 -0
- package/plugins/devflow-code-review/README.md +73 -0
- package/plugins/devflow-code-review/agents/git.md +272 -0
- package/plugins/devflow-code-review/agents/reviewer.md +119 -0
- package/plugins/devflow-code-review/agents/synthesizer.md +204 -0
- package/plugins/devflow-code-review/commands/code-review-teams.md +262 -0
- package/plugins/devflow-code-review/commands/code-review.md +141 -0
- package/plugins/devflow-code-review/skills/accessibility/SKILL.md +229 -0
- package/plugins/devflow-code-review/skills/accessibility/references/detection.md +171 -0
- package/plugins/devflow-code-review/skills/accessibility/references/patterns.md +670 -0
- package/plugins/devflow-code-review/skills/accessibility/references/violations.md +419 -0
- package/plugins/devflow-code-review/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-code-review/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-code-review/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-code-review/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/SKILL.md +153 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/references/detection.md +337 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/references/patterns.md +873 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/references/violations.md +575 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/SKILL.md +143 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/references/detection.md +264 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/references/patterns.md +487 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/references/violations.md +361 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/SKILL.md +140 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/references/detection.md +207 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/references/patterns.md +202 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/references/violations.md +213 -0
- package/plugins/devflow-code-review/skills/database-patterns/SKILL.md +134 -0
- package/plugins/devflow-code-review/skills/database-patterns/references/detection.md +208 -0
- package/plugins/devflow-code-review/skills/database-patterns/references/patterns.md +394 -0
- package/plugins/devflow-code-review/skills/database-patterns/references/violations.md +332 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/SKILL.md +141 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/references/detection.md +181 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/references/patterns.md +225 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/references/violations.md +247 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/SKILL.md +125 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/references/detection.md +190 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/references/patterns.md +189 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/references/violations.md +163 -0
- package/plugins/devflow-code-review/skills/frontend-design/SKILL.md +254 -0
- package/plugins/devflow-code-review/skills/frontend-design/references/detection.md +184 -0
- package/plugins/devflow-code-review/skills/frontend-design/references/patterns.md +511 -0
- package/plugins/devflow-code-review/skills/frontend-design/references/violations.md +453 -0
- package/plugins/devflow-code-review/skills/performance-patterns/SKILL.md +154 -0
- package/plugins/devflow-code-review/skills/performance-patterns/references/detection.md +351 -0
- package/plugins/devflow-code-review/skills/performance-patterns/references/patterns.md +503 -0
- package/plugins/devflow-code-review/skills/performance-patterns/references/violations.md +354 -0
- package/plugins/devflow-code-review/skills/react/SKILL.md +276 -0
- package/plugins/devflow-code-review/skills/react/references/patterns.md +1331 -0
- package/plugins/devflow-code-review/skills/react/references/violations.md +565 -0
- package/plugins/devflow-code-review/skills/regression-patterns/SKILL.md +146 -0
- package/plugins/devflow-code-review/skills/regression-patterns/references/detection.md +237 -0
- package/plugins/devflow-code-review/skills/regression-patterns/references/patterns.md +226 -0
- package/plugins/devflow-code-review/skills/regression-patterns/references/violations.md +225 -0
- package/plugins/devflow-code-review/skills/review-methodology/SKILL.md +119 -0
- package/plugins/devflow-code-review/skills/review-methodology/references/patterns.md +186 -0
- package/plugins/devflow-code-review/skills/review-methodology/references/report-template.md +142 -0
- package/plugins/devflow-code-review/skills/review-methodology/references/violations.md +125 -0
- package/plugins/devflow-code-review/skills/security-patterns/SKILL.md +156 -0
- package/plugins/devflow-code-review/skills/security-patterns/references/detection.md +287 -0
- package/plugins/devflow-code-review/skills/security-patterns/references/patterns.md +507 -0
- package/plugins/devflow-code-review/skills/security-patterns/references/violations.md +237 -0
- package/plugins/devflow-code-review/skills/test-patterns/SKILL.md +183 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/detection.md +149 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/patterns.md +220 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/report-template.md +108 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/violations.md +221 -0
- package/plugins/devflow-core-skills/.claude-plugin/plugin.json +28 -0
- package/plugins/devflow-core-skills/README.md +50 -0
- package/plugins/devflow-core-skills/skills/accessibility/SKILL.md +229 -0
- package/plugins/devflow-core-skills/skills/accessibility/references/detection.md +171 -0
- package/plugins/devflow-core-skills/skills/accessibility/references/patterns.md +670 -0
- package/plugins/devflow-core-skills/skills/accessibility/references/violations.md +419 -0
- package/plugins/devflow-core-skills/skills/core-patterns/SKILL.md +162 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/checklist.md +276 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/code-smell-violations.md +144 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/detection.md +303 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/patterns.md +576 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/violations.md +369 -0
- package/plugins/devflow-core-skills/skills/docs-framework/SKILL.md +138 -0
- package/plugins/devflow-core-skills/skills/docs-framework/references/patterns.md +346 -0
- package/plugins/devflow-core-skills/skills/docs-framework/references/violations.md +221 -0
- package/plugins/devflow-core-skills/skills/frontend-design/SKILL.md +254 -0
- package/plugins/devflow-core-skills/skills/frontend-design/references/detection.md +184 -0
- package/plugins/devflow-core-skills/skills/frontend-design/references/patterns.md +511 -0
- package/plugins/devflow-core-skills/skills/frontend-design/references/violations.md +453 -0
- package/plugins/devflow-core-skills/skills/git-safety/SKILL.md +122 -0
- package/plugins/devflow-core-skills/skills/git-safety/references/detection.md +290 -0
- package/plugins/devflow-core-skills/skills/git-safety/references/patterns.md +289 -0
- package/plugins/devflow-core-skills/skills/git-safety/references/violations.md +18 -0
- package/plugins/devflow-core-skills/skills/git-workflow/SKILL.md +158 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/commit-patterns.md +115 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/commit-violations.md +77 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/pr-patterns.md +127 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/pr-violations.md +96 -0
- package/plugins/devflow-core-skills/skills/github-patterns/SKILL.md +153 -0
- package/plugins/devflow-core-skills/skills/github-patterns/references/patterns.md +572 -0
- package/plugins/devflow-core-skills/skills/github-patterns/references/violations.md +298 -0
- package/plugins/devflow-core-skills/skills/input-validation/SKILL.md +148 -0
- package/plugins/devflow-core-skills/skills/input-validation/references/detection.md +283 -0
- package/plugins/devflow-core-skills/skills/input-validation/references/patterns.md +361 -0
- package/plugins/devflow-core-skills/skills/input-validation/references/violations.md +224 -0
- package/plugins/devflow-core-skills/skills/react/SKILL.md +276 -0
- package/plugins/devflow-core-skills/skills/react/references/patterns.md +1331 -0
- package/plugins/devflow-core-skills/skills/react/references/violations.md +565 -0
- package/plugins/devflow-core-skills/skills/test-driven-development/SKILL.md +139 -0
- package/plugins/devflow-core-skills/skills/test-driven-development/references/rationalization-prevention.md +111 -0
- package/plugins/devflow-core-skills/skills/test-patterns/SKILL.md +183 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/detection.md +149 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/patterns.md +220 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/report-template.md +108 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/violations.md +221 -0
- package/plugins/devflow-core-skills/skills/typescript/SKILL.md +176 -0
- package/plugins/devflow-core-skills/skills/typescript/references/patterns.md +1105 -0
- package/plugins/devflow-core-skills/skills/typescript/references/violations.md +433 -0
- package/plugins/devflow-debug/.claude-plugin/plugin.json +18 -0
- package/plugins/devflow-debug/README.md +65 -0
- package/plugins/devflow-debug/agents/git.md +272 -0
- package/plugins/devflow-debug/commands/debug-teams.md +231 -0
- package/plugins/devflow-debug/commands/debug.md +160 -0
- package/plugins/devflow-debug/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-debug/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-debug/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-debug/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-debug/skills/git-safety/SKILL.md +122 -0
- package/plugins/devflow-debug/skills/git-safety/references/detection.md +290 -0
- package/plugins/devflow-debug/skills/git-safety/references/patterns.md +289 -0
- package/plugins/devflow-debug/skills/git-safety/references/violations.md +18 -0
- package/plugins/devflow-implement/.claude-plugin/plugin.json +21 -0
- package/plugins/devflow-implement/README.md +71 -0
- package/plugins/devflow-implement/agents/coder.md +122 -0
- package/plugins/devflow-implement/agents/git.md +272 -0
- package/plugins/devflow-implement/agents/scrutinizer.md +80 -0
- package/plugins/devflow-implement/agents/shepherd.md +94 -0
- package/plugins/devflow-implement/agents/simplifier.md +62 -0
- package/plugins/devflow-implement/agents/skimmer.md +88 -0
- package/plugins/devflow-implement/agents/synthesizer.md +204 -0
- package/plugins/devflow-implement/agents/validator.md +86 -0
- package/plugins/devflow-implement/commands/implement-teams.md +608 -0
- package/plugins/devflow-implement/commands/implement.md +426 -0
- package/plugins/devflow-implement/skills/accessibility/SKILL.md +229 -0
- package/plugins/devflow-implement/skills/accessibility/references/detection.md +171 -0
- package/plugins/devflow-implement/skills/accessibility/references/patterns.md +670 -0
- package/plugins/devflow-implement/skills/accessibility/references/violations.md +419 -0
- package/plugins/devflow-implement/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-implement/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-implement/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-implement/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-implement/skills/frontend-design/SKILL.md +254 -0
- package/plugins/devflow-implement/skills/frontend-design/references/detection.md +184 -0
- package/plugins/devflow-implement/skills/frontend-design/references/patterns.md +511 -0
- package/plugins/devflow-implement/skills/frontend-design/references/violations.md +453 -0
- package/plugins/devflow-implement/skills/implementation-patterns/SKILL.md +162 -0
- package/plugins/devflow-implement/skills/implementation-patterns/references/patterns.md +1063 -0
- package/plugins/devflow-implement/skills/implementation-patterns/references/violations.md +483 -0
- package/plugins/devflow-implement/skills/self-review/SKILL.md +149 -0
- package/plugins/devflow-implement/skills/self-review/references/patterns.md +405 -0
- package/plugins/devflow-implement/skills/self-review/references/report-template.md +253 -0
- package/plugins/devflow-implement/skills/self-review/references/violations.md +308 -0
- package/plugins/devflow-resolve/.claude-plugin/plugin.json +19 -0
- package/plugins/devflow-resolve/README.md +65 -0
- package/plugins/devflow-resolve/agents/git.md +272 -0
- package/plugins/devflow-resolve/agents/resolver.md +131 -0
- package/plugins/devflow-resolve/agents/simplifier.md +62 -0
- package/plugins/devflow-resolve/commands/resolve-teams.md +298 -0
- package/plugins/devflow-resolve/commands/resolve.md +237 -0
- package/plugins/devflow-resolve/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-resolve/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-resolve/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-resolve/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-resolve/skills/implementation-patterns/SKILL.md +162 -0
- package/plugins/devflow-resolve/skills/implementation-patterns/references/patterns.md +1063 -0
- package/plugins/devflow-resolve/skills/implementation-patterns/references/violations.md +483 -0
- package/plugins/devflow-resolve/skills/security-patterns/SKILL.md +156 -0
- package/plugins/devflow-resolve/skills/security-patterns/references/detection.md +287 -0
- package/plugins/devflow-resolve/skills/security-patterns/references/patterns.md +507 -0
- package/plugins/devflow-resolve/skills/security-patterns/references/violations.md +237 -0
- package/plugins/devflow-self-review/.claude-plugin/plugin.json +7 -0
- package/plugins/devflow-self-review/README.md +38 -0
- package/plugins/devflow-self-review/agents/scrutinizer.md +80 -0
- package/plugins/devflow-self-review/agents/simplifier.md +62 -0
- package/plugins/devflow-self-review/agents/validator.md +86 -0
- package/plugins/devflow-self-review/commands/self-review.md +126 -0
- package/plugins/devflow-self-review/skills/core-patterns/SKILL.md +162 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/checklist.md +276 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/code-smell-violations.md +144 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/detection.md +303 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/patterns.md +576 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/violations.md +369 -0
- package/plugins/devflow-self-review/skills/self-review/SKILL.md +149 -0
- package/plugins/devflow-self-review/skills/self-review/references/patterns.md +405 -0
- package/plugins/devflow-self-review/skills/self-review/references/report-template.md +253 -0
- package/plugins/devflow-self-review/skills/self-review/references/violations.md +308 -0
- package/plugins/devflow-specify/.claude-plugin/plugin.json +15 -0
- package/plugins/devflow-specify/README.md +46 -0
- package/plugins/devflow-specify/agents/skimmer.md +88 -0
- package/plugins/devflow-specify/agents/synthesizer.md +204 -0
- package/plugins/devflow-specify/commands/specify-teams.md +314 -0
- package/plugins/devflow-specify/commands/specify.md +179 -0
- package/plugins/devflow-specify/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-specify/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-specify/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-specify/skills/agent-teams/references/team-patterns.md +217 -0
- package/scripts/hooks/ambient-prompt.sh +48 -0
- package/scripts/hooks/background-memory-update.sh +208 -0
- package/scripts/hooks/ensure-memory-gitignore.sh +17 -0
- package/scripts/hooks/pre-compact-memory.sh +87 -0
- package/scripts/hooks/session-start-memory.sh +126 -0
- package/scripts/hooks/stop-update-memory.sh +85 -0
- package/shared/agents/coder.md +122 -0
- package/shared/agents/git.md +272 -0
- package/shared/agents/resolver.md +131 -0
- package/shared/agents/reviewer.md +119 -0
- package/shared/agents/scrutinizer.md +80 -0
- package/shared/agents/shepherd.md +94 -0
- package/shared/agents/simplifier.md +62 -0
- package/shared/agents/skimmer.md +88 -0
- package/shared/agents/synthesizer.md +204 -0
- package/shared/agents/validator.md +86 -0
- package/shared/skills/accessibility/SKILL.md +229 -0
- package/shared/skills/accessibility/references/detection.md +171 -0
- package/shared/skills/accessibility/references/patterns.md +670 -0
- package/shared/skills/accessibility/references/violations.md +419 -0
- package/shared/skills/agent-teams/SKILL.md +124 -0
- package/shared/skills/agent-teams/references/cleanup.md +104 -0
- package/shared/skills/agent-teams/references/communication.md +122 -0
- package/shared/skills/agent-teams/references/team-patterns.md +217 -0
- package/shared/skills/ambient-router/SKILL.md +89 -0
- package/shared/skills/ambient-router/references/skill-catalog.md +64 -0
- package/shared/skills/architecture-patterns/SKILL.md +153 -0
- package/shared/skills/architecture-patterns/references/detection.md +337 -0
- package/shared/skills/architecture-patterns/references/patterns.md +873 -0
- package/shared/skills/architecture-patterns/references/violations.md +575 -0
- package/shared/skills/complexity-patterns/SKILL.md +143 -0
- package/shared/skills/complexity-patterns/references/detection.md +264 -0
- package/shared/skills/complexity-patterns/references/patterns.md +487 -0
- package/shared/skills/complexity-patterns/references/violations.md +361 -0
- package/shared/skills/consistency-patterns/SKILL.md +140 -0
- package/shared/skills/consistency-patterns/references/detection.md +207 -0
- package/shared/skills/consistency-patterns/references/patterns.md +202 -0
- package/shared/skills/consistency-patterns/references/violations.md +213 -0
- package/shared/skills/core-patterns/SKILL.md +162 -0
- package/shared/skills/core-patterns/references/checklist.md +276 -0
- package/shared/skills/core-patterns/references/code-smell-violations.md +144 -0
- package/shared/skills/core-patterns/references/detection.md +303 -0
- package/shared/skills/core-patterns/references/patterns.md +576 -0
- package/shared/skills/core-patterns/references/violations.md +369 -0
- package/shared/skills/database-patterns/SKILL.md +134 -0
- package/shared/skills/database-patterns/references/detection.md +208 -0
- package/shared/skills/database-patterns/references/patterns.md +394 -0
- package/shared/skills/database-patterns/references/violations.md +332 -0
- package/shared/skills/dependencies-patterns/SKILL.md +141 -0
- package/shared/skills/dependencies-patterns/references/detection.md +181 -0
- package/shared/skills/dependencies-patterns/references/patterns.md +225 -0
- package/shared/skills/dependencies-patterns/references/violations.md +247 -0
- package/shared/skills/docs-framework/SKILL.md +138 -0
- package/shared/skills/docs-framework/references/patterns.md +346 -0
- package/shared/skills/docs-framework/references/violations.md +221 -0
- package/shared/skills/documentation-patterns/SKILL.md +125 -0
- package/shared/skills/documentation-patterns/references/detection.md +190 -0
- package/shared/skills/documentation-patterns/references/patterns.md +189 -0
- package/shared/skills/documentation-patterns/references/violations.md +163 -0
- package/shared/skills/frontend-design/SKILL.md +254 -0
- package/shared/skills/frontend-design/references/detection.md +184 -0
- package/shared/skills/frontend-design/references/patterns.md +511 -0
- package/shared/skills/frontend-design/references/violations.md +453 -0
- package/shared/skills/git-safety/SKILL.md +122 -0
- package/shared/skills/git-safety/references/detection.md +290 -0
- package/shared/skills/git-safety/references/patterns.md +289 -0
- package/shared/skills/git-safety/references/violations.md +18 -0
- package/shared/skills/git-workflow/SKILL.md +158 -0
- package/shared/skills/git-workflow/references/commit-patterns.md +115 -0
- package/shared/skills/git-workflow/references/commit-violations.md +77 -0
- package/shared/skills/git-workflow/references/pr-patterns.md +127 -0
- package/shared/skills/git-workflow/references/pr-violations.md +96 -0
- package/shared/skills/github-patterns/SKILL.md +153 -0
- package/shared/skills/github-patterns/references/patterns.md +572 -0
- package/shared/skills/github-patterns/references/violations.md +298 -0
- package/shared/skills/implementation-patterns/SKILL.md +162 -0
- package/shared/skills/implementation-patterns/references/patterns.md +1063 -0
- package/shared/skills/implementation-patterns/references/violations.md +483 -0
- package/shared/skills/input-validation/SKILL.md +148 -0
- package/shared/skills/input-validation/references/detection.md +283 -0
- package/shared/skills/input-validation/references/patterns.md +361 -0
- package/shared/skills/input-validation/references/violations.md +224 -0
- package/shared/skills/performance-patterns/SKILL.md +154 -0
- package/shared/skills/performance-patterns/references/detection.md +351 -0
- package/shared/skills/performance-patterns/references/patterns.md +503 -0
- package/shared/skills/performance-patterns/references/violations.md +354 -0
- package/shared/skills/react/SKILL.md +276 -0
- package/shared/skills/react/references/patterns.md +1331 -0
- package/shared/skills/react/references/violations.md +565 -0
- package/shared/skills/regression-patterns/SKILL.md +146 -0
- package/shared/skills/regression-patterns/references/detection.md +237 -0
- package/shared/skills/regression-patterns/references/patterns.md +226 -0
- package/shared/skills/regression-patterns/references/violations.md +225 -0
- package/shared/skills/review-methodology/SKILL.md +119 -0
- package/shared/skills/review-methodology/references/patterns.md +186 -0
- package/shared/skills/review-methodology/references/report-template.md +142 -0
- package/shared/skills/review-methodology/references/violations.md +125 -0
- package/shared/skills/security-patterns/SKILL.md +156 -0
- package/shared/skills/security-patterns/references/detection.md +287 -0
- package/shared/skills/security-patterns/references/patterns.md +507 -0
- package/shared/skills/security-patterns/references/violations.md +237 -0
- package/shared/skills/self-review/SKILL.md +149 -0
- package/shared/skills/self-review/references/patterns.md +405 -0
- package/shared/skills/self-review/references/report-template.md +253 -0
- package/shared/skills/self-review/references/violations.md +308 -0
- package/shared/skills/test-driven-development/SKILL.md +139 -0
- package/shared/skills/test-driven-development/references/rationalization-prevention.md +111 -0
- package/shared/skills/test-patterns/SKILL.md +183 -0
- package/shared/skills/test-patterns/references/detection.md +149 -0
- package/shared/skills/test-patterns/references/patterns.md +220 -0
- package/shared/skills/test-patterns/references/report-template.md +108 -0
- package/shared/skills/test-patterns/references/violations.md +221 -0
- package/shared/skills/typescript/SKILL.md +176 -0
- package/shared/skills/typescript/references/patterns.md +1105 -0
- package/shared/skills/typescript/references/violations.md +433 -0
- package/src/templates/claudeignore.template +188 -0
- package/src/templates/managed-settings.json +160 -0
- package/src/templates/settings.json +59 -0
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/uninstall.d.ts.map +0 -1
- package/dist/commands/uninstall.js.map +0 -1
- package/dist/utils/git.d.ts.map +0 -1
- package/dist/utils/git.js.map +0 -1
- package/dist/utils/paths.d.ts.map +0 -1
- package/dist/utils/paths.js.map +0 -1
- package/src/claude/CLAUDE.md +0 -400
- package/src/claude/agents/devflow/audit-architecture.md +0 -132
- package/src/claude/agents/devflow/audit-complexity.md +0 -132
- package/src/claude/agents/devflow/audit-database.md +0 -132
- package/src/claude/agents/devflow/audit-dependencies.md +0 -132
- package/src/claude/agents/devflow/audit-documentation.md +0 -132
- package/src/claude/agents/devflow/audit-performance.md +0 -256
- package/src/claude/agents/devflow/audit-security.md +0 -259
- package/src/claude/agents/devflow/audit-tests.md +0 -132
- package/src/claude/agents/devflow/audit-typescript.md +0 -132
- package/src/claude/agents/devflow/brainstorm.md +0 -279
- package/src/claude/agents/devflow/catch-up.md +0 -345
- package/src/claude/agents/devflow/code-review.md +0 -307
- package/src/claude/agents/devflow/commit.md +0 -380
- package/src/claude/agents/devflow/debug.md +0 -476
- package/src/claude/agents/devflow/design.md +0 -491
- package/src/claude/agents/devflow/get-issue.md +0 -286
- package/src/claude/agents/devflow/pr-comments.md +0 -285
- package/src/claude/agents/devflow/project-state.md +0 -419
- package/src/claude/agents/devflow/pull-request.md +0 -493
- package/src/claude/agents/devflow/release.md +0 -1137
- package/src/claude/agents/devflow/tech-debt.md +0 -338
- package/src/claude/commands/devflow/brainstorm.md +0 -68
- package/src/claude/commands/devflow/breakdown.md +0 -125
- package/src/claude/commands/devflow/catch-up.md +0 -29
- package/src/claude/commands/devflow/code-review.md +0 -237
- package/src/claude/commands/devflow/commit.md +0 -17
- package/src/claude/commands/devflow/debug.md +0 -56
- package/src/claude/commands/devflow/design.md +0 -82
- package/src/claude/commands/devflow/devlog.md +0 -408
- package/src/claude/commands/devflow/get-issue.md +0 -16
- package/src/claude/commands/devflow/implement.md +0 -100
- package/src/claude/commands/devflow/plan.md +0 -223
- package/src/claude/commands/devflow/pull-request.md +0 -20
- package/src/claude/commands/devflow/release.md +0 -251
- package/src/claude/commands/devflow/resolve-comments.md +0 -583
- package/src/claude/scripts/statusline.sh +0 -47
- package/src/claude/settings.json +0 -6
- package/src/claude/skills/devflow/code-smell/SKILL.md +0 -428
- package/src/claude/skills/devflow/debug/SKILL.md +0 -119
- package/src/claude/skills/devflow/error-handling/SKILL.md +0 -597
- package/src/claude/skills/devflow/input-validation/SKILL.md +0 -514
- package/src/claude/skills/devflow/pattern-check/SKILL.md +0 -238
- package/src/claude/skills/devflow/research/SKILL.md +0 -138
- package/src/claude/skills/devflow/test-design/SKILL.md +0 -384
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
# Extended Violation Examples
|
|
2
|
+
|
|
3
|
+
Detailed examples of dependency violations by category.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Security Vulnerability Violations
|
|
8
|
+
|
|
9
|
+
### Known CVEs - Extended Examples
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Check for known vulnerabilities
|
|
13
|
+
npm audit
|
|
14
|
+
# or
|
|
15
|
+
yarn audit
|
|
16
|
+
# or
|
|
17
|
+
pnpm audit
|
|
18
|
+
|
|
19
|
+
# Output example:
|
|
20
|
+
# High: Prototype Pollution in lodash
|
|
21
|
+
# Package: lodash
|
|
22
|
+
# Dependency of: my-package
|
|
23
|
+
# Path: my-package > lodash
|
|
24
|
+
# More info: https://github.com/advisories/GHSA-xxx
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Vulnerable Version Ranges
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
// PROBLEM: Wide version range includes vulnerable versions
|
|
31
|
+
{
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"lodash": "^4.0.0" // Includes vulnerable 4.17.0-4.17.20
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// SOLUTION: Pin to safe version or use range excluding vulnerable
|
|
38
|
+
{
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"lodash": "^4.17.21" // First safe version
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Malicious Package Red Flags
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
// RED FLAGS for potentially malicious packages:
|
|
49
|
+
{
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"loadsh": "1.0.0", // Typosquat of "lodash"
|
|
52
|
+
"event-stream": "3.3.6", // Known compromised version
|
|
53
|
+
"random-unknown-pkg": "0.0.1" // No downloads, no repo
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// VERIFY packages:
|
|
58
|
+
// - Check npm page for download counts
|
|
59
|
+
// - Verify repository link
|
|
60
|
+
// - Check maintainer history
|
|
61
|
+
// - Look for typosquatting
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Version Management Violations
|
|
67
|
+
|
|
68
|
+
### Unpinned Versions
|
|
69
|
+
|
|
70
|
+
```json
|
|
71
|
+
// PROBLEM: Can get different versions on each install
|
|
72
|
+
{
|
|
73
|
+
"dependencies": {
|
|
74
|
+
"express": "*", // Any version!
|
|
75
|
+
"lodash": "latest", // Whatever is latest
|
|
76
|
+
"moment": "" // Empty = latest
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// SOLUTION: Pin exact or use caret with lockfile
|
|
81
|
+
{
|
|
82
|
+
"dependencies": {
|
|
83
|
+
"express": "4.18.2", // Exact pin
|
|
84
|
+
"lodash": "^4.17.21", // Caret + lockfile
|
|
85
|
+
"moment": "~2.29.4" // Tilde for patch only
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Missing Lockfile
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# PROBLEM: No lockfile committed
|
|
94
|
+
.gitignore:
|
|
95
|
+
package-lock.json # Don't ignore this!
|
|
96
|
+
yarn.lock # Don't ignore this!
|
|
97
|
+
|
|
98
|
+
# SOLUTION: Commit lockfile
|
|
99
|
+
git add package-lock.json # or yarn.lock
|
|
100
|
+
git commit -m "Add lockfile for reproducible builds"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Dependency Conflicts
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# PROBLEM: Multiple versions of same package
|
|
107
|
+
npm ls react
|
|
108
|
+
# my-app
|
|
109
|
+
# +-- react@18.2.0
|
|
110
|
+
# \-- some-library
|
|
111
|
+
# \-- react@17.0.2 # Conflict!
|
|
112
|
+
|
|
113
|
+
# SOLUTION: Use resolutions/overrides
|
|
114
|
+
# package.json (yarn)
|
|
115
|
+
{
|
|
116
|
+
"resolutions": {
|
|
117
|
+
"react": "18.2.0"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
# package.json (npm)
|
|
122
|
+
{
|
|
123
|
+
"overrides": {
|
|
124
|
+
"react": "18.2.0"
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Dependency Health Violations
|
|
132
|
+
|
|
133
|
+
### Outdated Packages
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# Check for outdated
|
|
137
|
+
npm outdated
|
|
138
|
+
|
|
139
|
+
# Package Current Wanted Latest
|
|
140
|
+
# lodash 4.17.15 4.17.21 4.17.21 # Security update!
|
|
141
|
+
# typescript 4.9.5 4.9.5 5.3.2 # Major version
|
|
142
|
+
# @types/node 18.0.0 18.19.0 20.10.0 # Minor updates
|
|
143
|
+
|
|
144
|
+
# Prioritize:
|
|
145
|
+
# 1. Security patches (lodash)
|
|
146
|
+
# 2. Bug fixes (minor updates)
|
|
147
|
+
# 3. Major versions (careful review)
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Unused Dependencies
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Find unused dependencies
|
|
154
|
+
npx depcheck
|
|
155
|
+
|
|
156
|
+
# Unused dependencies:
|
|
157
|
+
# * moment # Listed but never imported
|
|
158
|
+
# * lodash # Listed but never imported
|
|
159
|
+
|
|
160
|
+
# SOLUTION: Remove unused
|
|
161
|
+
npm uninstall moment lodash
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Unnecessary Heavy Dependencies
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
// PROBLEM: Heavy dependencies for simple tasks
|
|
168
|
+
{
|
|
169
|
+
"dependencies": {
|
|
170
|
+
"moment": "^2.29.4", // 300KB for date formatting
|
|
171
|
+
"lodash": "^4.17.21", // 70KB for one function
|
|
172
|
+
"left-pad": "^1.3.0" // 1KB for string padding
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// SOLUTION: Use native or lighter alternatives
|
|
177
|
+
// Native date formatting
|
|
178
|
+
new Date().toLocaleDateString();
|
|
179
|
+
|
|
180
|
+
// Native array methods instead of lodash
|
|
181
|
+
array.filter(x => x.active);
|
|
182
|
+
|
|
183
|
+
// Native string padding
|
|
184
|
+
'5'.padStart(2, '0');
|
|
185
|
+
|
|
186
|
+
// Or import only what you need
|
|
187
|
+
import { debounce } from 'lodash/debounce';
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## License Violations
|
|
193
|
+
|
|
194
|
+
### Incompatible Licenses
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
# Check licenses
|
|
198
|
+
npx license-checker --summary
|
|
199
|
+
|
|
200
|
+
# Watch for incompatible combinations:
|
|
201
|
+
# - GPL in MIT project (viral license)
|
|
202
|
+
# - Commercial-only licenses
|
|
203
|
+
# - AGPL in SaaS (requires source disclosure)
|
|
204
|
+
|
|
205
|
+
# Example problematic output:
|
|
206
|
+
# GPL-3.0: some-package # Requires your code to be GPL too!
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Missing License
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# Find packages without license
|
|
213
|
+
npx license-checker --onlyunknown
|
|
214
|
+
|
|
215
|
+
# Packages with unknown license:
|
|
216
|
+
# - internal-company-pkg@1.0.0 # Verify this is intentional
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Supply Chain Violations
|
|
222
|
+
|
|
223
|
+
### Transitive Dependencies
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
# Check dependency tree depth
|
|
227
|
+
npm ls --all | wc -l
|
|
228
|
+
# If > 1000, high supply chain risk
|
|
229
|
+
|
|
230
|
+
# Audit transitive deps
|
|
231
|
+
npm audit --all
|
|
232
|
+
|
|
233
|
+
# SOLUTION: Minimize dependencies, audit regularly
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Maintainer Concerns
|
|
237
|
+
|
|
238
|
+
```json
|
|
239
|
+
// RED FLAGS:
|
|
240
|
+
// - Package with 1 maintainer who's inactive
|
|
241
|
+
// - No recent releases but many open issues
|
|
242
|
+
// - Repository archived or deleted
|
|
243
|
+
// - Maintainer account compromised (check news)
|
|
244
|
+
|
|
245
|
+
// Check package health:
|
|
246
|
+
// https://snyk.io/advisor/npm-package/{package-name}
|
|
247
|
+
```
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-framework
|
|
3
|
+
description: This skill should be used when the user asks to "create a review report", "write a status log", "add documentation", "name this artifact", or creates files in the .docs/ directory. Provides naming conventions, templates, and directory structure for reviews, debug sessions, design docs, and all persistent DevFlow documentation artifacts.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
allowed-tools: Read, Bash, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Documentation Framework
|
|
9
|
+
|
|
10
|
+
The canonical source for documentation conventions in DevFlow. All agents that persist artifacts must follow these standards.
|
|
11
|
+
|
|
12
|
+
## Iron Law
|
|
13
|
+
|
|
14
|
+
> **ALL ARTIFACTS FOLLOW NAMING CONVENTIONS**
|
|
15
|
+
>
|
|
16
|
+
> Timestamps are `YYYY-MM-DD_HHMM`. Branch slugs replace `/` with `-`. Topic slugs are
|
|
17
|
+
> lowercase alphanumeric with dashes. No exceptions. Inconsistent naming breaks tooling,
|
|
18
|
+
> searching, and automation. Follow the pattern or fix the pattern for everyone.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Directory Structure
|
|
23
|
+
|
|
24
|
+
All generated documentation lives under `.docs/` in the project root:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
.docs/
|
|
28
|
+
├── reviews/{branch-slug}/ # Code review reports per branch
|
|
29
|
+
│ ├── {type}-report.{timestamp}.md
|
|
30
|
+
│ └── review-summary.{timestamp}.md
|
|
31
|
+
├── status/ # Development logs
|
|
32
|
+
│ ├── {timestamp}.md
|
|
33
|
+
│ ├── compact/{timestamp}.md
|
|
34
|
+
│ └── INDEX.md
|
|
35
|
+
└── swarm/ # Swarm operation state
|
|
36
|
+
├── state.json
|
|
37
|
+
└── plans/
|
|
38
|
+
|
|
39
|
+
.memory/
|
|
40
|
+
├── WORKING-MEMORY.md # Auto-maintained by Stop hook (overwritten)
|
|
41
|
+
├── PROJECT-PATTERNS.md # Accumulated patterns (merged across sessions)
|
|
42
|
+
└── backup.json # Pre-compact git state snapshot
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Naming Conventions
|
|
48
|
+
|
|
49
|
+
### Timestamps
|
|
50
|
+
Format: `YYYY-MM-DD_HHMM` (sortable, readable)
|
|
51
|
+
```bash
|
|
52
|
+
TIMESTAMP=$(date +%Y-%m-%d_%H%M) # Example: 2025-12-26_1430
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Branch Slugs
|
|
56
|
+
Replace `/` with `-`, sanitize special characters:
|
|
57
|
+
```bash
|
|
58
|
+
BRANCH_SLUG=$(git branch --show-current 2>/dev/null | sed 's/\//-/g' || echo "standalone")
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Topic Slugs
|
|
62
|
+
Lowercase, dashes, alphanumeric only, max 50 chars:
|
|
63
|
+
```bash
|
|
64
|
+
TOPIC_SLUG=$(echo "$TOPIC" | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed 's/[^a-z0-9-]//g' | cut -c1-50)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### File Naming Patterns
|
|
68
|
+
|
|
69
|
+
| Type | Pattern | Example |
|
|
70
|
+
|------|---------|---------|
|
|
71
|
+
| Special indexes | `UPPERCASE.md` | `WORKING-MEMORY.md`, `INDEX.md` |
|
|
72
|
+
| Reports | `{type}-report.{timestamp}.md` | `security-report.2025-12-26_1430.md` |
|
|
73
|
+
| Status logs | `{timestamp}.md` | `2025-12-26_1430.md` |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Helper Functions
|
|
78
|
+
|
|
79
|
+
Source helpers for consistent naming:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
source .devflow/scripts/docs-helpers.sh 2>/dev/null || {
|
|
83
|
+
get_timestamp() { date +%Y-%m-%d_%H%M; }
|
|
84
|
+
get_branch_slug() { git branch --show-current 2>/dev/null | sed 's/\//-/g' || echo "standalone"; }
|
|
85
|
+
get_topic_slug() { echo "$1" | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed 's/[^a-z0-9-]//g' | cut -c1-50; }
|
|
86
|
+
ensure_docs_dir() { mkdir -p ".docs/$1"; }
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Agent Persistence Rules
|
|
93
|
+
|
|
94
|
+
### Agents That Persist Artifacts
|
|
95
|
+
|
|
96
|
+
| Agent | Output Location | Behavior |
|
|
97
|
+
|-------|-----------------|----------|
|
|
98
|
+
| Reviewer | `.docs/reviews/{branch-slug}/{type}-report.{timestamp}.md` | Creates new |
|
|
99
|
+
| Working Memory | `.memory/WORKING-MEMORY.md` | Overwrites (auto-maintained by Stop hook) |
|
|
100
|
+
|
|
101
|
+
### Agents That Don't Persist
|
|
102
|
+
|
|
103
|
+
- Git (fetch-issue: read-only, comment-pr: PR comments only)
|
|
104
|
+
- Coder (commits to git, no .docs/ output)
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Implementation Checklist
|
|
109
|
+
|
|
110
|
+
When creating or modifying persisting agents:
|
|
111
|
+
|
|
112
|
+
- [ ] Use standard timestamp format (`YYYY-MM-DD_HHMM`)
|
|
113
|
+
- [ ] Sanitize branch names (replace `/` with `-`)
|
|
114
|
+
- [ ] Sanitize topic names (lowercase, dashes, alphanumeric)
|
|
115
|
+
- [ ] Create directory with `mkdir -p .docs/{subdir}`
|
|
116
|
+
- [ ] Document output location in agent's final message
|
|
117
|
+
- [ ] Follow special file naming (UPPERCASE for indexes)
|
|
118
|
+
- [ ] Use helper functions when possible
|
|
119
|
+
- [ ] Update relevant index files
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Integration
|
|
124
|
+
|
|
125
|
+
This framework is used by:
|
|
126
|
+
- **Review agents**: Creates review reports
|
|
127
|
+
- **Working Memory hooks**: Auto-maintains `.memory/WORKING-MEMORY.md`
|
|
128
|
+
|
|
129
|
+
All persisting agents should load this skill to ensure consistent documentation.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Extended References
|
|
134
|
+
|
|
135
|
+
For detailed patterns and violation examples:
|
|
136
|
+
|
|
137
|
+
- **[patterns.md](./references/patterns.md)** - Full templates, helper functions, naming examples, edge cases
|
|
138
|
+
- **[violations.md](./references/violations.md)** - Common violations with detection patterns and fixes
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
# Documentation Framework Patterns
|
|
2
|
+
|
|
3
|
+
Correct patterns for DevFlow documentation artifacts with templates and helper functions.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Directory Structure
|
|
8
|
+
|
|
9
|
+
### Standard Layout
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
.docs/
|
|
13
|
+
├── reviews/{branch-slug}/ # Code review reports per branch
|
|
14
|
+
│ ├── {type}-report.{timestamp}.md
|
|
15
|
+
│ └── review-summary.{timestamp}.md
|
|
16
|
+
├── design/ # Implementation plans
|
|
17
|
+
│ └── {topic-slug}.{timestamp}.md
|
|
18
|
+
├── status/ # Development logs
|
|
19
|
+
│ ├── {timestamp}.md
|
|
20
|
+
│ ├── compact/{timestamp}.md
|
|
21
|
+
│ └── INDEX.md
|
|
22
|
+
└── CATCH_UP.md # Latest summary (overwritten)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Setup Variations
|
|
26
|
+
|
|
27
|
+
**Minimal (new project):**
|
|
28
|
+
```
|
|
29
|
+
.docs/
|
|
30
|
+
├── status/
|
|
31
|
+
│ └── INDEX.md
|
|
32
|
+
└── CATCH_UP.md
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**With Reviews:**
|
|
36
|
+
```
|
|
37
|
+
.docs/
|
|
38
|
+
├── reviews/feat-auth/
|
|
39
|
+
│ ├── security-report.2025-01-05_1430.md
|
|
40
|
+
│ └── review-summary.2025-01-05_1430.md
|
|
41
|
+
├── status/
|
|
42
|
+
│ ├── 2025-01-05_1430.md
|
|
43
|
+
│ └── INDEX.md
|
|
44
|
+
└── CATCH_UP.md
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Naming Conventions
|
|
50
|
+
|
|
51
|
+
### Timestamps
|
|
52
|
+
|
|
53
|
+
Format: `YYYY-MM-DD_HHMM` (sortable, readable)
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Standard format
|
|
57
|
+
TIMESTAMP=$(date +%Y-%m-%d_%H%M)
|
|
58
|
+
# Output: 2025-01-05_1430
|
|
59
|
+
|
|
60
|
+
# With seconds (only if needed for uniqueness)
|
|
61
|
+
TIMESTAMP_SEC=$(date +%Y-%m-%d_%H%M%S)
|
|
62
|
+
# Output: 2025-01-05_143025
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Branch Slugs
|
|
66
|
+
|
|
67
|
+
Replace `/` with `-`, provide fallback for detached HEAD.
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
BRANCH_SLUG=$(git branch --show-current 2>/dev/null | sed 's/\//-/g' || echo "standalone")
|
|
71
|
+
|
|
72
|
+
# Examples:
|
|
73
|
+
# feature/auth -> feature-auth
|
|
74
|
+
# fix/issue-123 -> fix-issue-123
|
|
75
|
+
# hotfix/critical-bug -> hotfix-critical-bug
|
|
76
|
+
# release/v2.0.0 -> release-v2.0.0
|
|
77
|
+
# (detached HEAD) -> standalone
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Topic Slugs
|
|
81
|
+
|
|
82
|
+
Lowercase, dashes, alphanumeric only, max 50 chars.
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
TOPIC_SLUG=$(echo "$TOPIC" | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed 's/[^a-z0-9-]//g' | cut -c1-50)
|
|
86
|
+
|
|
87
|
+
# Examples:
|
|
88
|
+
# "JWT Authentication" -> jwt-authentication
|
|
89
|
+
# "Fix User Login Bug" -> fix-user-login-bug
|
|
90
|
+
# "OAuth 2.0 Integration" -> oauth-20-integration
|
|
91
|
+
# "Database Migration v2" -> database-migration-v2
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## File Naming Rules
|
|
97
|
+
|
|
98
|
+
### Special Index Files (UPPERCASE)
|
|
99
|
+
|
|
100
|
+
Always UPPERCASE, overwritten or appended:
|
|
101
|
+
|
|
102
|
+
- `CATCH_UP.md` - Latest context summary
|
|
103
|
+
- `INDEX.md` - Chronological log index
|
|
104
|
+
- `KNOWLEDGE_BASE.md` - Searchable debug solutions
|
|
105
|
+
|
|
106
|
+
### Artifact Files (lowercase + timestamp)
|
|
107
|
+
|
|
108
|
+
Always lowercase with timestamp:
|
|
109
|
+
|
|
110
|
+
- `2025-01-05_1430.md` - Status log
|
|
111
|
+
- `security-report.2025-01-05_1430.md` - Review report
|
|
112
|
+
- `review-summary.2025-01-05_1430.md` - Combined summary
|
|
113
|
+
- `jwt-authentication.2025-01-05_1430.md` - Design doc
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Helper Functions
|
|
118
|
+
|
|
119
|
+
Full implementation for `.devflow/scripts/docs-helpers.sh`:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
#!/bin/bash
|
|
123
|
+
# .devflow/scripts/docs-helpers.sh
|
|
124
|
+
|
|
125
|
+
# Get current timestamp in standard format
|
|
126
|
+
get_timestamp() {
|
|
127
|
+
date +%Y-%m-%d_%H%M
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
# Get sanitized branch slug
|
|
131
|
+
get_branch_slug() {
|
|
132
|
+
local branch
|
|
133
|
+
branch=$(git branch --show-current 2>/dev/null)
|
|
134
|
+
if [ -z "$branch" ]; then
|
|
135
|
+
echo "standalone"
|
|
136
|
+
else
|
|
137
|
+
echo "$branch" | sed 's/\//-/g'
|
|
138
|
+
fi
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
# Convert topic to slug format
|
|
142
|
+
get_topic_slug() {
|
|
143
|
+
local topic="$1"
|
|
144
|
+
echo "$topic" | \
|
|
145
|
+
tr '[:upper:]' '[:lower:]' | \
|
|
146
|
+
tr ' ' '-' | \
|
|
147
|
+
sed 's/[^a-z0-9-]//g' | \
|
|
148
|
+
cut -c1-50
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
# Ensure docs directory exists
|
|
152
|
+
ensure_docs_dir() {
|
|
153
|
+
local subdir="$1"
|
|
154
|
+
mkdir -p ".docs/$subdir"
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
# Get full output path for a document
|
|
158
|
+
get_doc_path() {
|
|
159
|
+
local subdir="$1"
|
|
160
|
+
local filename="$2"
|
|
161
|
+
ensure_docs_dir "$subdir"
|
|
162
|
+
echo ".docs/$subdir/$filename"
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
# Create timestamped status log path
|
|
166
|
+
get_status_path() {
|
|
167
|
+
local timestamp
|
|
168
|
+
timestamp=$(get_timestamp)
|
|
169
|
+
get_doc_path "status" "${timestamp}.md"
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
# Create review report path
|
|
173
|
+
get_review_path() {
|
|
174
|
+
local type="$1"
|
|
175
|
+
local branch_slug
|
|
176
|
+
local timestamp
|
|
177
|
+
branch_slug=$(get_branch_slug)
|
|
178
|
+
timestamp=$(get_timestamp)
|
|
179
|
+
get_doc_path "reviews/$branch_slug" "${type}-report.${timestamp}.md"
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Usage Example
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# Source helpers
|
|
187
|
+
source .devflow/scripts/docs-helpers.sh 2>/dev/null || {
|
|
188
|
+
# Inline fallback if script not found
|
|
189
|
+
get_timestamp() { date +%Y-%m-%d_%H%M; }
|
|
190
|
+
get_branch_slug() { git branch --show-current 2>/dev/null | sed 's/\//-/g' || echo "standalone"; }
|
|
191
|
+
get_topic_slug() { echo "$1" | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed 's/[^a-z0-9-]//g' | cut -c1-50; }
|
|
192
|
+
ensure_docs_dir() { mkdir -p ".docs/$1"; }
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
# Use helpers
|
|
196
|
+
TIMESTAMP=$(get_timestamp)
|
|
197
|
+
BRANCH_SLUG=$(get_branch_slug)
|
|
198
|
+
ensure_docs_dir "reviews/$BRANCH_SLUG"
|
|
199
|
+
|
|
200
|
+
# Create output path
|
|
201
|
+
OUTPUT=$(get_review_path "security")
|
|
202
|
+
echo "Writing to: $OUTPUT"
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Templates
|
|
208
|
+
|
|
209
|
+
### Status Log Template
|
|
210
|
+
|
|
211
|
+
```markdown
|
|
212
|
+
# Status Update - {TIMESTAMP}
|
|
213
|
+
|
|
214
|
+
## Session Summary
|
|
215
|
+
{Brief 2-3 sentence summary of what was accomplished}
|
|
216
|
+
|
|
217
|
+
## Branch Context
|
|
218
|
+
- **Branch**: {current_branch}
|
|
219
|
+
- **Base**: {base_branch}
|
|
220
|
+
- **Status**: {ahead/behind/clean}
|
|
221
|
+
|
|
222
|
+
## Work Completed
|
|
223
|
+
- {Task 1 completed}
|
|
224
|
+
- {Task 2 completed}
|
|
225
|
+
|
|
226
|
+
## Files Changed
|
|
227
|
+
- `path/to/file1.ts` - {description}
|
|
228
|
+
- `path/to/file2.ts` - {description}
|
|
229
|
+
|
|
230
|
+
## Decisions Made
|
|
231
|
+
- **{Decision}**: {Rationale}
|
|
232
|
+
|
|
233
|
+
## Next Steps
|
|
234
|
+
- [ ] {Next task 1}
|
|
235
|
+
- [ ] {Next task 2}
|
|
236
|
+
|
|
237
|
+
## Notes
|
|
238
|
+
{Any additional context for future sessions}
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Debug Session Template
|
|
242
|
+
|
|
243
|
+
```markdown
|
|
244
|
+
# Debug Session - {DEBUG_SESSION_ID}
|
|
245
|
+
|
|
246
|
+
## Problem Statement
|
|
247
|
+
**Issue**: {description}
|
|
248
|
+
**Reported**: {timestamp}
|
|
249
|
+
**Branch**: {branch}
|
|
250
|
+
|
|
251
|
+
## Expected vs Actual
|
|
252
|
+
**Expected**: {what should happen}
|
|
253
|
+
**Actual**: {what's happening}
|
|
254
|
+
|
|
255
|
+
## Hypotheses Tested
|
|
256
|
+
### Hypothesis 1: {description}
|
|
257
|
+
- **Test**: {how tested}
|
|
258
|
+
- **Result**: {confirmed/refuted}
|
|
259
|
+
- **Evidence**: {what was observed}
|
|
260
|
+
|
|
261
|
+
## Root Cause
|
|
262
|
+
**Location**: {file:line}
|
|
263
|
+
**Issue**: {precise description}
|
|
264
|
+
**Why It Happened**: {chain of events}
|
|
265
|
+
|
|
266
|
+
## Solution Applied
|
|
267
|
+
**Fix**: {description}
|
|
268
|
+
**Files Changed**: {list}
|
|
269
|
+
**Verification**: {how verified}
|
|
270
|
+
|
|
271
|
+
## Prevention
|
|
272
|
+
- {How to prevent in future}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### STATUS INDEX.md Template
|
|
276
|
+
|
|
277
|
+
```markdown
|
|
278
|
+
# Status Log Index
|
|
279
|
+
|
|
280
|
+
| Date | Summary | Branch |
|
|
281
|
+
|------|---------|--------|
|
|
282
|
+
| [2025-01-05_1430](./2025-01-05_1430.md) | Implemented auth | feat/auth |
|
|
283
|
+
| [2025-01-04_0900](./2025-01-04_0900.md) | Fixed login bug | fix/login |
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### DEBUG KNOWLEDGE_BASE.md Template
|
|
287
|
+
|
|
288
|
+
```markdown
|
|
289
|
+
# Debug Knowledge Base
|
|
290
|
+
|
|
291
|
+
Searchable record of debugging sessions and solutions.
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Issue: {description}
|
|
296
|
+
**Date**: {date}
|
|
297
|
+
**Session**: {session_id}
|
|
298
|
+
**Category**: {error/performance/test/build}
|
|
299
|
+
**Root Cause**: {brief}
|
|
300
|
+
**Solution**: {brief}
|
|
301
|
+
**Keywords**: {searchable terms}
|
|
302
|
+
|
|
303
|
+
[Full details](./debug-{session_id}.md)
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
## Edge Cases
|
|
311
|
+
|
|
312
|
+
### Detached HEAD State
|
|
313
|
+
|
|
314
|
+
Branch slug falls back to "standalone":
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
# In detached HEAD
|
|
318
|
+
get_branch_slug # Returns: standalone
|
|
319
|
+
|
|
320
|
+
# Review path becomes:
|
|
321
|
+
# .docs/reviews/standalone/security-report.2025-01-05_1430.md
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### Special Characters in Topics
|
|
325
|
+
|
|
326
|
+
All special characters stripped:
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
get_topic_slug "Bug: User can't login (v2.0)"
|
|
330
|
+
# Returns: bug-user-cant-login-v20
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Long Topic Names
|
|
334
|
+
|
|
335
|
+
Truncated at 50 characters:
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
get_topic_slug "This is a very long topic name that exceeds the maximum allowed length"
|
|
339
|
+
# Returns: this-is-a-very-long-topic-name-that-exceeds-the-m
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## Quick Reference
|
|
345
|
+
|
|
346
|
+
For violation examples and detection patterns, see [violations.md](violations.md).
|