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,17 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Ensures .memory/ exists and .gitignore entries are configured.
|
|
3
|
+
# Called from stop and pre-compact hooks. Idempotent, ~1μs after first run.
|
|
4
|
+
# Usage: source ensure-memory-gitignore.sh "$CWD"
|
|
5
|
+
|
|
6
|
+
_MEMORY_DIR="$1/.memory"
|
|
7
|
+
|
|
8
|
+
# Create .memory/ if needed
|
|
9
|
+
mkdir -p "$_MEMORY_DIR" 2>/dev/null || return 1
|
|
10
|
+
|
|
11
|
+
# One-time .gitignore setup (marker prevents repeated checks)
|
|
12
|
+
if [ ! -f "$_MEMORY_DIR/.gitignore-configured" ] && [ -e "$1/.git" ]; then
|
|
13
|
+
for _entry in ".memory/" ".docs/"; do
|
|
14
|
+
grep -qxF "$_entry" "$1/.gitignore" 2>/dev/null || echo "$_entry" >> "$1/.gitignore"
|
|
15
|
+
done
|
|
16
|
+
touch "$_MEMORY_DIR/.gitignore-configured"
|
|
17
|
+
fi
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Working Memory: PreCompact Hook
|
|
4
|
+
# Safety net that captures git state to a backup JSON file before context compaction.
|
|
5
|
+
# Also bootstraps a minimal WORKING-MEMORY.md if none exists yet, so SessionStart
|
|
6
|
+
# has something to inject after compaction.
|
|
7
|
+
# PreCompact hooks cannot block compaction — this is informational only.
|
|
8
|
+
|
|
9
|
+
set -euo pipefail
|
|
10
|
+
|
|
11
|
+
# jq is required to parse hook input JSON — silently no-op if missing
|
|
12
|
+
if ! command -v jq &>/dev/null; then exit 0; fi
|
|
13
|
+
|
|
14
|
+
INPUT=$(cat)
|
|
15
|
+
|
|
16
|
+
CWD=$(echo "$INPUT" | jq -r '.cwd // ""' 2>/dev/null)
|
|
17
|
+
if [ -z "$CWD" ]; then
|
|
18
|
+
exit 0
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
# Auto-create .memory/ and ensure .gitignore entries (idempotent after first run)
|
|
22
|
+
source "$(cd "$(dirname "$0")" && pwd)/ensure-memory-gitignore.sh" "$CWD" || exit 0
|
|
23
|
+
|
|
24
|
+
BACKUP_FILE="$CWD/.memory/backup.json"
|
|
25
|
+
|
|
26
|
+
# Capture git state
|
|
27
|
+
GIT_BRANCH=""
|
|
28
|
+
GIT_STATUS=""
|
|
29
|
+
GIT_LOG=""
|
|
30
|
+
GIT_DIFF_STAT=""
|
|
31
|
+
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
32
|
+
|
|
33
|
+
if cd "$CWD" 2>/dev/null && git rev-parse --git-dir >/dev/null 2>&1; then
|
|
34
|
+
GIT_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
|
|
35
|
+
GIT_STATUS=$(git status --porcelain 2>/dev/null | head -30 || echo "")
|
|
36
|
+
GIT_LOG=$(git log --oneline -10 2>/dev/null || echo "")
|
|
37
|
+
GIT_DIFF_STAT=$(git diff --stat HEAD 2>/dev/null || echo "")
|
|
38
|
+
fi
|
|
39
|
+
|
|
40
|
+
# Snapshot current WORKING-MEMORY.md (preserves session context through compaction)
|
|
41
|
+
MEMORY_SNAPSHOT=""
|
|
42
|
+
if [ -f "$CWD/.memory/WORKING-MEMORY.md" ]; then
|
|
43
|
+
MEMORY_SNAPSHOT=$(cat "$CWD/.memory/WORKING-MEMORY.md")
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
# Write backup JSON
|
|
47
|
+
jq -n \
|
|
48
|
+
--arg ts "$TIMESTAMP" \
|
|
49
|
+
--arg branch "$GIT_BRANCH" \
|
|
50
|
+
--arg status "$GIT_STATUS" \
|
|
51
|
+
--arg log "$GIT_LOG" \
|
|
52
|
+
--arg diff "$GIT_DIFF_STAT" \
|
|
53
|
+
--arg memory "$MEMORY_SNAPSHOT" \
|
|
54
|
+
'{
|
|
55
|
+
timestamp: $ts,
|
|
56
|
+
trigger: "pre-compact",
|
|
57
|
+
memory_snapshot: $memory,
|
|
58
|
+
git: {
|
|
59
|
+
branch: $branch,
|
|
60
|
+
status: $status,
|
|
61
|
+
log: $log,
|
|
62
|
+
diff_stat: $diff
|
|
63
|
+
}
|
|
64
|
+
}' > "$BACKUP_FILE"
|
|
65
|
+
|
|
66
|
+
# Bootstrap minimal WORKING-MEMORY.md if none exists yet
|
|
67
|
+
# This ensures SessionStart has context to inject after compaction
|
|
68
|
+
MEMORY_FILE="$CWD/.memory/WORKING-MEMORY.md"
|
|
69
|
+
if [ ! -f "$MEMORY_FILE" ] && [ -n "$GIT_BRANCH" ]; then
|
|
70
|
+
{
|
|
71
|
+
echo "# Working Memory"
|
|
72
|
+
echo ""
|
|
73
|
+
echo "## Now"
|
|
74
|
+
echo "- Session compacted before working memory was established"
|
|
75
|
+
echo ""
|
|
76
|
+
echo "## Context"
|
|
77
|
+
echo "- Branch: $GIT_BRANCH"
|
|
78
|
+
echo "$GIT_LOG" | head -3 | while IFS= read -r line; do
|
|
79
|
+
[ -n "$line" ] && echo "- $line"
|
|
80
|
+
done
|
|
81
|
+
echo ""
|
|
82
|
+
echo "## Modified Files"
|
|
83
|
+
echo "$GIT_STATUS" | head -10 | while IFS= read -r line; do
|
|
84
|
+
[ -n "$line" ] && echo "- $(echo "$line" | awk '{print $2}')"
|
|
85
|
+
done
|
|
86
|
+
} > "$MEMORY_FILE"
|
|
87
|
+
fi
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Working Memory: SessionStart Hook
|
|
4
|
+
# Reads .memory/WORKING-MEMORY.md and injects it as additionalContext for the new session.
|
|
5
|
+
# Also captures fresh git state so Claude knows what's changed since the memory was written.
|
|
6
|
+
# Adds staleness warning if memory is >1 hour old.
|
|
7
|
+
|
|
8
|
+
set -euo pipefail
|
|
9
|
+
|
|
10
|
+
# jq is required to parse hook input JSON — silently no-op if missing
|
|
11
|
+
if ! command -v jq &>/dev/null; then exit 0; fi
|
|
12
|
+
|
|
13
|
+
INPUT=$(cat)
|
|
14
|
+
|
|
15
|
+
CWD=$(echo "$INPUT" | jq -r '.cwd // ""' 2>/dev/null)
|
|
16
|
+
if [ -z "$CWD" ]; then
|
|
17
|
+
exit 0
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
MEMORY_FILE="$CWD/.memory/WORKING-MEMORY.md"
|
|
21
|
+
|
|
22
|
+
# No memory file = nothing to restore (fresh project or first session)
|
|
23
|
+
if [ ! -f "$MEMORY_FILE" ]; then
|
|
24
|
+
exit 0
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
MEMORY_CONTENT=$(cat "$MEMORY_FILE")
|
|
28
|
+
|
|
29
|
+
# Read accumulated patterns if they exist
|
|
30
|
+
PATTERNS_FILE="$CWD/.memory/PROJECT-PATTERNS.md"
|
|
31
|
+
PATTERNS_CONTENT=""
|
|
32
|
+
if [ -f "$PATTERNS_FILE" ]; then
|
|
33
|
+
PATTERNS_CONTENT=$(cat "$PATTERNS_FILE")
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
# Compute staleness warning
|
|
37
|
+
if stat --version &>/dev/null 2>&1; then
|
|
38
|
+
FILE_MTIME=$(stat -c %Y "$MEMORY_FILE")
|
|
39
|
+
else
|
|
40
|
+
FILE_MTIME=$(stat -f %m "$MEMORY_FILE")
|
|
41
|
+
fi
|
|
42
|
+
NOW=$(date +%s)
|
|
43
|
+
AGE=$(( NOW - FILE_MTIME ))
|
|
44
|
+
|
|
45
|
+
# Check for pre-compact memory snapshot (compaction recovery)
|
|
46
|
+
BACKUP_FILE="$CWD/.memory/backup.json"
|
|
47
|
+
COMPACT_NOTE=""
|
|
48
|
+
if [ -f "$BACKUP_FILE" ]; then
|
|
49
|
+
BACKUP_MEMORY=$(jq -r '.memory_snapshot // ""' "$BACKUP_FILE" 2>/dev/null)
|
|
50
|
+
if [ -n "$BACKUP_MEMORY" ]; then
|
|
51
|
+
BACKUP_TS=$(jq -r '.timestamp // ""' "$BACKUP_FILE" 2>/dev/null)
|
|
52
|
+
BACKUP_EPOCH=0
|
|
53
|
+
if [ -n "$BACKUP_TS" ]; then
|
|
54
|
+
BACKUP_EPOCH=$(date -j -f "%Y-%m-%dT%H:%M:%SZ" "$BACKUP_TS" +%s 2>/dev/null \
|
|
55
|
+
|| date -d "$BACKUP_TS" +%s 2>/dev/null \
|
|
56
|
+
|| echo "0")
|
|
57
|
+
fi
|
|
58
|
+
if [ "$BACKUP_EPOCH" -gt "$FILE_MTIME" ]; then
|
|
59
|
+
COMPACT_NOTE="
|
|
60
|
+
--- PRE-COMPACT SNAPSHOT ($BACKUP_TS) ---
|
|
61
|
+
Context was compacted. This snapshot may contain decisions or progress not yet in working memory.
|
|
62
|
+
|
|
63
|
+
$BACKUP_MEMORY
|
|
64
|
+
"
|
|
65
|
+
fi
|
|
66
|
+
fi
|
|
67
|
+
fi
|
|
68
|
+
|
|
69
|
+
STALE_WARNING=""
|
|
70
|
+
if [ "$AGE" -gt 3600 ]; then
|
|
71
|
+
HOURS=$(( AGE / 3600 ))
|
|
72
|
+
STALE_WARNING="⚠ This working memory is ${HOURS}h old. Verify before relying on it.
|
|
73
|
+
|
|
74
|
+
"
|
|
75
|
+
fi
|
|
76
|
+
|
|
77
|
+
# Capture fresh git state
|
|
78
|
+
GIT_BRANCH=""
|
|
79
|
+
GIT_STATUS=""
|
|
80
|
+
GIT_LOG=""
|
|
81
|
+
|
|
82
|
+
if cd "$CWD" 2>/dev/null && git rev-parse --git-dir >/dev/null 2>&1; then
|
|
83
|
+
GIT_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
|
|
84
|
+
GIT_STATUS=$(git status --porcelain 2>/dev/null | head -20)
|
|
85
|
+
GIT_LOG=$(git log --oneline -5 2>/dev/null || echo "")
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
# Build context string
|
|
89
|
+
CONTEXT="${STALE_WARNING}--- WORKING MEMORY (from previous session) ---
|
|
90
|
+
|
|
91
|
+
${MEMORY_CONTENT}"
|
|
92
|
+
|
|
93
|
+
# Insert accumulated patterns between working memory and git state
|
|
94
|
+
if [ -n "$PATTERNS_CONTENT" ]; then
|
|
95
|
+
CONTEXT="${CONTEXT}
|
|
96
|
+
|
|
97
|
+
--- PROJECT PATTERNS (accumulated) ---
|
|
98
|
+
|
|
99
|
+
${PATTERNS_CONTENT}"
|
|
100
|
+
fi
|
|
101
|
+
|
|
102
|
+
CONTEXT="${CONTEXT}
|
|
103
|
+
|
|
104
|
+
--- CURRENT GIT STATE ---
|
|
105
|
+
Branch: ${GIT_BRANCH}
|
|
106
|
+
Recent commits:
|
|
107
|
+
${GIT_LOG}"
|
|
108
|
+
|
|
109
|
+
if [ -n "$GIT_STATUS" ]; then
|
|
110
|
+
CONTEXT="${CONTEXT}
|
|
111
|
+
Uncommitted changes:
|
|
112
|
+
${GIT_STATUS}"
|
|
113
|
+
fi
|
|
114
|
+
|
|
115
|
+
if [ -n "$COMPACT_NOTE" ]; then
|
|
116
|
+
CONTEXT="${CONTEXT}
|
|
117
|
+
${COMPACT_NOTE}"
|
|
118
|
+
fi
|
|
119
|
+
|
|
120
|
+
# Output as additionalContext JSON envelope (Claude sees it as system context, not user-visible)
|
|
121
|
+
jq -n --arg ctx "$CONTEXT" '{
|
|
122
|
+
"hookSpecificOutput": {
|
|
123
|
+
"hookEventName": "SessionStart",
|
|
124
|
+
"additionalContext": $ctx
|
|
125
|
+
}
|
|
126
|
+
}'
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Working Memory: Stop Hook
|
|
4
|
+
# Spawns a background process to update .memory/WORKING-MEMORY.md asynchronously.
|
|
5
|
+
# The session ends immediately — no visible edit in the TUI.
|
|
6
|
+
# On failure: does nothing (stale memory is better than fake data).
|
|
7
|
+
|
|
8
|
+
set -euo pipefail
|
|
9
|
+
|
|
10
|
+
# Break feedback loop: background updater's headless session triggers stop hook on exit.
|
|
11
|
+
# DEVFLOW_BG_UPDATER is set by background-memory-update.sh before invoking claude.
|
|
12
|
+
if [ "${DEVFLOW_BG_UPDATER:-}" = "1" ]; then exit 0; fi
|
|
13
|
+
|
|
14
|
+
# jq is required to parse hook input JSON — silently no-op if missing
|
|
15
|
+
if ! command -v jq &>/dev/null; then exit 0; fi
|
|
16
|
+
|
|
17
|
+
INPUT=$(cat)
|
|
18
|
+
|
|
19
|
+
# Resolve project directory — bail if missing
|
|
20
|
+
CWD=$(echo "$INPUT" | jq -r '.cwd // ""' 2>/dev/null)
|
|
21
|
+
if [ -z "$CWD" ]; then
|
|
22
|
+
exit 0
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
# Auto-create .memory/ and ensure .gitignore entries (idempotent after first run)
|
|
26
|
+
SCRIPT_DIR_EARLY="$(cd "$(dirname "$0")" && pwd)"
|
|
27
|
+
source "$SCRIPT_DIR_EARLY/ensure-memory-gitignore.sh" "$CWD" || exit 0
|
|
28
|
+
|
|
29
|
+
# Logging (shared log file with background updater; [stop-hook] prefix distinguishes)
|
|
30
|
+
MEMORY_FILE="$CWD/.memory/WORKING-MEMORY.md"
|
|
31
|
+
LOG_FILE="$CWD/.memory/.working-memory-update.log"
|
|
32
|
+
log() { echo "[$(date -u '+%Y-%m-%dT%H:%M:%SZ')] [stop-hook] $1" >> "$LOG_FILE"; }
|
|
33
|
+
|
|
34
|
+
# Throttle: skip if stop hook was triggered within the last 2 minutes
|
|
35
|
+
# Uses a marker file touched BEFORE spawning the updater — prevents race condition
|
|
36
|
+
# where multiple hooks see stale WORKING-MEMORY.md mtime and all bypass throttle.
|
|
37
|
+
TRIGGER_MARKER="$CWD/.memory/.working-memory-last-trigger"
|
|
38
|
+
if [ -f "$TRIGGER_MARKER" ]; then
|
|
39
|
+
if stat --version &>/dev/null 2>&1; then
|
|
40
|
+
MARKER_MTIME=$(stat -c %Y "$TRIGGER_MARKER")
|
|
41
|
+
else
|
|
42
|
+
MARKER_MTIME=$(stat -f %m "$TRIGGER_MARKER")
|
|
43
|
+
fi
|
|
44
|
+
NOW=$(date +%s)
|
|
45
|
+
AGE=$(( NOW - MARKER_MTIME ))
|
|
46
|
+
if [ "$AGE" -lt 120 ]; then
|
|
47
|
+
log "Skipped: triggered ${AGE}s ago (throttled)"
|
|
48
|
+
exit 0
|
|
49
|
+
fi
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
# Resolve claude binary — if not found, skip (graceful degradation)
|
|
53
|
+
CLAUDE_BIN=$(command -v claude 2>/dev/null || true)
|
|
54
|
+
if [ -z "$CLAUDE_BIN" ]; then
|
|
55
|
+
log "Skipped: claude binary not found"
|
|
56
|
+
exit 0
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
# Extract session ID from hook input
|
|
60
|
+
SESSION_ID=$(echo "$INPUT" | jq -r '.session_id // ""' 2>/dev/null)
|
|
61
|
+
if [ -z "$SESSION_ID" ]; then
|
|
62
|
+
log "Skipped: no session_id in hook input"
|
|
63
|
+
exit 0
|
|
64
|
+
fi
|
|
65
|
+
|
|
66
|
+
# Resolve the background updater script (same directory as this hook)
|
|
67
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
68
|
+
UPDATER="$SCRIPT_DIR/background-memory-update.sh"
|
|
69
|
+
if [ ! -x "$UPDATER" ]; then
|
|
70
|
+
log "Skipped: updater not found/not executable at $UPDATER"
|
|
71
|
+
exit 0
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
# Touch marker BEFORE spawning updater — prevents race with concurrent hooks
|
|
75
|
+
touch "$TRIGGER_MARKER"
|
|
76
|
+
|
|
77
|
+
# Spawn background updater — detached, no effect on session exit
|
|
78
|
+
nohup "$UPDATER" "$CWD" "$SESSION_ID" "$MEMORY_FILE" "$CLAUDE_BIN" \
|
|
79
|
+
</dev/null >/dev/null 2>&1 &
|
|
80
|
+
disown
|
|
81
|
+
|
|
82
|
+
log "Spawned background updater: session=$SESSION_ID cwd=$CWD memory=$MEMORY_FILE claude=$CLAUDE_BIN updater=$UPDATER"
|
|
83
|
+
|
|
84
|
+
# Allow stop immediately (no JSON output = proceed)
|
|
85
|
+
exit 0
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Coder
|
|
3
|
+
description: Autonomous task implementation on feature branch. Implements, tests, and commits.
|
|
4
|
+
model: inherit
|
|
5
|
+
skills: core-patterns, git-safety, implementation-patterns, git-workflow, typescript, react, test-patterns, input-validation, accessibility, frontend-design
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Coder Agent
|
|
9
|
+
|
|
10
|
+
You are an autonomous implementation specialist working on a feature branch. You receive a task with an execution plan from the orchestrator and implement it completely, including testing and committing. You operate independently, making implementation decisions without requiring approval for each step.
|
|
11
|
+
|
|
12
|
+
## Input Context
|
|
13
|
+
|
|
14
|
+
You receive from orchestrator:
|
|
15
|
+
- **TASK_ID**: Unique identifier (e.g., "task-2025-01-15_1430")
|
|
16
|
+
- **TASK_DESCRIPTION**: What to implement
|
|
17
|
+
- **BASE_BRANCH**: Branch this feature branch was created from (PR target)
|
|
18
|
+
- **EXECUTION_PLAN**: Synthesized plan with steps, files, tests
|
|
19
|
+
- **PATTERNS**: Codebase patterns to follow
|
|
20
|
+
- **CREATE_PR**: Whether to create PR when done (true/false)
|
|
21
|
+
|
|
22
|
+
**Domain hint** (optional):
|
|
23
|
+
- **DOMAIN**: `backend` | `frontend` | `tests` | `fullstack` - Load/apply relevant domain skills
|
|
24
|
+
|
|
25
|
+
**Sequential execution context** (when part of multi-Coder chain):
|
|
26
|
+
- **PRIOR_PHASE_SUMMARY**: Implementation summary from previous Coder (see format below)
|
|
27
|
+
- **FILES_FROM_PRIOR_PHASE**: Files created that must be read and understood
|
|
28
|
+
- **HANDOFF_REQUIRED**: true if another Coder follows this one
|
|
29
|
+
|
|
30
|
+
## Responsibilities
|
|
31
|
+
|
|
32
|
+
1. **Orient on branch state**: Check git log for commits from previous Coders (if sequential). Read files created by prior phases - **do not trust summaries alone**. Identify patterns from actual code: naming conventions, error handling approach, testing style.
|
|
33
|
+
|
|
34
|
+
2. **Reference handoff** (if PRIOR_PHASE_SUMMARY provided): Use summary to validate your understanding of prior work, not as the sole source of truth. The actual code is authoritative.
|
|
35
|
+
|
|
36
|
+
3. **Load domain skills**: Based on DOMAIN hint, apply relevant patterns:
|
|
37
|
+
- `backend`: typescript, implementation-patterns, input-validation
|
|
38
|
+
- `frontend`: react, typescript, accessibility, frontend-design
|
|
39
|
+
- `tests`: test-patterns, typescript
|
|
40
|
+
- `fullstack`: all of the above
|
|
41
|
+
|
|
42
|
+
4. **Implement the plan**: Work through execution steps systematically, creating and modifying files. Follow existing patterns. Type everything. Use Result types if codebase uses them.
|
|
43
|
+
|
|
44
|
+
5. **Write tests**: Add tests for new functionality. Cover happy path, error cases, and edge cases. Follow existing test patterns.
|
|
45
|
+
|
|
46
|
+
6. **Run tests**: Execute the test suite. Fix any failures. All tests must pass before proceeding.
|
|
47
|
+
|
|
48
|
+
7. **Commit and push**: Create atomic commits with clear messages. Reference TASK_ID. Push to remote.
|
|
49
|
+
|
|
50
|
+
8. **Create PR** (if CREATE_PR=true): Create pull request against BASE_BRANCH with summary and testing notes.
|
|
51
|
+
|
|
52
|
+
9. **Generate handoff** (if HANDOFF_REQUIRED=true): Include implementation summary for next Coder (see Output section).
|
|
53
|
+
|
|
54
|
+
## Principles
|
|
55
|
+
|
|
56
|
+
1. **Work on feature branch** - All operations happen on the current feature branch
|
|
57
|
+
2. **Branch orientation first** - In sequential execution, read actual files before trusting handoff summaries
|
|
58
|
+
3. **Pattern discovery first** - Before writing code, find similar implementations and match their conventions
|
|
59
|
+
4. **Be decisive** - Make confident implementation choices. Don't present alternatives or ask permission for tactical decisions
|
|
60
|
+
5. **Follow existing patterns** - Match codebase style, don't invent new conventions
|
|
61
|
+
6. **Small, focused changes** - Don't scope creep beyond the plan
|
|
62
|
+
7. **Fail honestly** - If blocked, report clearly with what was completed
|
|
63
|
+
|
|
64
|
+
## Output
|
|
65
|
+
|
|
66
|
+
Return structured completion status:
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
## Coder Report: {TASK_ID}
|
|
70
|
+
|
|
71
|
+
### Status: COMPLETE | FAILED | BLOCKED
|
|
72
|
+
|
|
73
|
+
### Implementation
|
|
74
|
+
- Files created: {n}
|
|
75
|
+
- Files modified: {n}
|
|
76
|
+
- Tests added: {n}
|
|
77
|
+
|
|
78
|
+
### Commits
|
|
79
|
+
- {sha} {message}
|
|
80
|
+
|
|
81
|
+
### PR (if created)
|
|
82
|
+
- URL: {pr_url}
|
|
83
|
+
|
|
84
|
+
### Blockers (if any)
|
|
85
|
+
{Description of blocker or failure with recommendation}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**If HANDOFF_REQUIRED=true**, append implementation summary for next Coder:
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
## Phase {N} Implementation Summary
|
|
92
|
+
|
|
93
|
+
### Files Created/Modified
|
|
94
|
+
- `path/file.ts` - {purpose, key exports}
|
|
95
|
+
|
|
96
|
+
### Patterns Established
|
|
97
|
+
- Naming: {e.g., "UserRepository pattern for data access"}
|
|
98
|
+
- Error handling: {e.g., "Result types with DomainError"}
|
|
99
|
+
- Testing: {e.g., "Integration tests in tests/integration/"}
|
|
100
|
+
|
|
101
|
+
### Key Decisions
|
|
102
|
+
- {Decision with rationale}
|
|
103
|
+
|
|
104
|
+
### Integration Points for Next Phase
|
|
105
|
+
- {Interfaces to implement against}
|
|
106
|
+
- {Functions to call}
|
|
107
|
+
- {Types to import}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Boundaries
|
|
111
|
+
|
|
112
|
+
**Escalate to orchestrator:**
|
|
113
|
+
- Discovered dependency on another task
|
|
114
|
+
- Scope significantly larger than planned
|
|
115
|
+
- Breaking changes to shared interfaces
|
|
116
|
+
- Prior phase code is broken or incomplete (in sequential execution)
|
|
117
|
+
|
|
118
|
+
**Never:**
|
|
119
|
+
- Switch branches during implementation
|
|
120
|
+
- Push to branches other than your feature branch
|
|
121
|
+
- Merge PRs (orchestrator handles this)
|
|
122
|
+
- Trust handoff summaries without reading actual code (in sequential execution)
|