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,104 @@
|
|
|
1
|
+
# Session Management and Cleanup
|
|
2
|
+
|
|
3
|
+
## Team Lifecycle
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
1. Lead creates team
|
|
7
|
+
2. Lead spawns teammates
|
|
8
|
+
3. Teammates work independently
|
|
9
|
+
4. Debate rounds (teammates message directly)
|
|
10
|
+
5. Lead collects consensus
|
|
11
|
+
6. Lead shuts down teammates
|
|
12
|
+
7. Lead calls cleanup
|
|
13
|
+
8. Lead verifies no orphans
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Cleanup Rules
|
|
19
|
+
|
|
20
|
+
### Lead Responsibilities
|
|
21
|
+
|
|
22
|
+
1. **Always call cleanup** - Even if team work was interrupted or errored
|
|
23
|
+
2. **Shut down teammates first** - Before calling cleanup
|
|
24
|
+
3. **Verify completion** - Check that no orphaned sessions remain
|
|
25
|
+
|
|
26
|
+
### Error Handling
|
|
27
|
+
|
|
28
|
+
If a teammate errors or hangs:
|
|
29
|
+
1. Send shutdown message to the teammate
|
|
30
|
+
2. Wait briefly for graceful shutdown
|
|
31
|
+
3. Proceed with cleanup for remaining team
|
|
32
|
+
4. Report the failed teammate in final output
|
|
33
|
+
|
|
34
|
+
### Orphan Detection
|
|
35
|
+
|
|
36
|
+
After cleanup, verify:
|
|
37
|
+
- No tmux sessions from the team remain (split-pane mode)
|
|
38
|
+
- No background processes from teammates
|
|
39
|
+
- Team config at `~/.claude/teams/{team-name}/` is cleaned up
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Known Limitations
|
|
44
|
+
|
|
45
|
+
| Limitation | Mitigation |
|
|
46
|
+
|-----------|------------|
|
|
47
|
+
| No session resumption for teammates | Start fresh; don't rely on teammate state persistence |
|
|
48
|
+
| One team per session | Queue team work sequentially if needed |
|
|
49
|
+
| Task status may lag | Use direct messages for time-sensitive coordination |
|
|
50
|
+
| No nested teams | Teammates cannot spawn sub-teams; keep hierarchy flat |
|
|
51
|
+
| Split-pane requires tmux/iTerm2 | Fall back to in-process mode if unavailable |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Cost Management
|
|
56
|
+
|
|
57
|
+
### Token Optimization
|
|
58
|
+
|
|
59
|
+
| Strategy | Savings |
|
|
60
|
+
|----------|---------|
|
|
61
|
+
| Use haiku for validation teammates | ~70% per validation agent |
|
|
62
|
+
| Limit debate to 2 rounds | Prevents runaway token usage |
|
|
63
|
+
| Size teams to task (don't over-spawn) | Fewer agents = fewer tokens |
|
|
64
|
+
| Shut down teammates promptly | No idle token consumption |
|
|
65
|
+
|
|
66
|
+
### When NOT to Use Teams
|
|
67
|
+
|
|
68
|
+
- Simple, single-focus tasks (use regular subagent)
|
|
69
|
+
- Tasks requiring sequential dependency (no parallelism benefit)
|
|
70
|
+
- Cost-sensitive operations where subagent is sufficient
|
|
71
|
+
- Tasks where debate adds no value (e.g., formatting, simple fixes)
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Sequential Team Transition Protocol
|
|
76
|
+
|
|
77
|
+
Commands that create multiple teams (e.g., `/implement`, `/specify`) MUST follow this 4-step protocol between teams. Skipping steps causes silent failures due to the one-team-per-session constraint.
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
Step 1: SHUTDOWN — Send shutdown_request to each teammate by name
|
|
81
|
+
SendMessage(type: "shutdown_request", recipient: "{name}", content: "Phase complete")
|
|
82
|
+
Wait for each shutdown_response (approve: true)
|
|
83
|
+
|
|
84
|
+
Step 2: DELETE — Remove team resources
|
|
85
|
+
TeamDelete
|
|
86
|
+
|
|
87
|
+
Step 3: VERIFY — Confirm cleanup succeeded
|
|
88
|
+
If TeamDelete returned success → proceed
|
|
89
|
+
If TeamDelete failed → retry once after 5s
|
|
90
|
+
If retry fails → HALT and report to user:
|
|
91
|
+
"Team cleanup failed for {team-name}. Cannot create next team."
|
|
92
|
+
|
|
93
|
+
Step 4: CREATE — Only now create the next team
|
|
94
|
+
TeamCreate(team_name: "{next-team-name}")
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Failure Modes
|
|
98
|
+
|
|
99
|
+
| Failure | Action |
|
|
100
|
+
|---------|--------|
|
|
101
|
+
| Teammate ignores shutdown_request | Wait 30s, then proceed to TeamDelete (force cleanup) |
|
|
102
|
+
| TeamDelete fails | Retry once after 5s delay |
|
|
103
|
+
| TeamDelete retry fails | HALT execution, report to user |
|
|
104
|
+
| TeamCreate fails after successful delete | Retry once; if fails, fall back to parallel Task() subagents |
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Communication Protocols
|
|
2
|
+
|
|
3
|
+
## Message Types
|
|
4
|
+
|
|
5
|
+
### Direct Message (one-to-one)
|
|
6
|
+
|
|
7
|
+
Use when challenging a specific teammate's finding:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
To [Security Reviewer]:
|
|
11
|
+
"Your finding about SQL injection at api/users.ts:42 - I disagree.
|
|
12
|
+
The parameterized query at line 45 handles this. Check the query builder
|
|
13
|
+
pattern used throughout this codebase."
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### Broadcast (one-to-all)
|
|
17
|
+
|
|
18
|
+
Use when sharing findings that affect all teammates:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Broadcast:
|
|
22
|
+
"I found that the auth middleware is bypassed for /api/internal/* routes.
|
|
23
|
+
This affects security, architecture, and testing perspectives."
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Debate Protocol
|
|
29
|
+
|
|
30
|
+
### Round Structure
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Round 1: Initial findings (each teammate shares top findings)
|
|
34
|
+
Round 2: Challenge round (teammates dispute or validate)
|
|
35
|
+
Round 3: Resolution (update, withdraw, or escalate)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Cap: 2 challenge exchanges per topic.** If unresolved, escalate to lead.
|
|
39
|
+
|
|
40
|
+
### Challenge Format
|
|
41
|
+
|
|
42
|
+
When challenging another teammate:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
CHALLENGE to [Teammate]:
|
|
46
|
+
- Finding: [what they claimed]
|
|
47
|
+
- Evidence against: [your counter-evidence with file:line references]
|
|
48
|
+
- Suggested resolution: [what you think is correct]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Concession Format
|
|
52
|
+
|
|
53
|
+
When accepting a challenge:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
UPDATED based on [Teammate]'s challenge:
|
|
57
|
+
- Original: [what I originally claimed]
|
|
58
|
+
- Revised: [updated finding incorporating their evidence]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Escalation Format
|
|
62
|
+
|
|
63
|
+
When debate is unresolved after 2 exchanges:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
ESCALATION to Lead:
|
|
67
|
+
- Topic: [what we disagree about]
|
|
68
|
+
- Position A: [first perspective with evidence]
|
|
69
|
+
- Position B: [second perspective with evidence]
|
|
70
|
+
- Recommendation: [which has stronger evidence, or "genuinely split"]
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Lead Coordination Messages
|
|
76
|
+
|
|
77
|
+
### Initiating Debate
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
Lead broadcast:
|
|
81
|
+
"All teammates: Share your top 3-5 findings. After sharing, challenge
|
|
82
|
+
any finding you disagree with. Provide evidence (file:line references).
|
|
83
|
+
You have 2 exchange rounds to resolve disagreements."
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Ending Debate
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
Lead broadcast:
|
|
90
|
+
"Debate round complete. Submit final findings with confidence levels:
|
|
91
|
+
- HIGH: Unanimous or unchallenged with evidence
|
|
92
|
+
- MEDIUM: Majority agreed, dissent noted
|
|
93
|
+
- LOW: Split opinion, both perspectives included"
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Requesting Clarification
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
Lead to [Teammate]:
|
|
100
|
+
"Your finding about X contradicts [Other Teammate]'s finding about Y.
|
|
101
|
+
Can you address their evidence at [file:line]?"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Output Aggregation
|
|
107
|
+
|
|
108
|
+
### Consensus Report Structure
|
|
109
|
+
|
|
110
|
+
```markdown
|
|
111
|
+
## Confirmed Findings (HIGH confidence)
|
|
112
|
+
[Findings all teammates agreed on or that survived challenge]
|
|
113
|
+
|
|
114
|
+
## Majority Findings (MEDIUM confidence)
|
|
115
|
+
[Findings most agreed on, with dissenting view noted]
|
|
116
|
+
|
|
117
|
+
## Split Findings (LOW confidence)
|
|
118
|
+
[Genuinely contested findings with both perspectives and evidence]
|
|
119
|
+
|
|
120
|
+
## Withdrawn Findings
|
|
121
|
+
[Findings that were disproved during debate]
|
|
122
|
+
```
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# Team Patterns by Workflow
|
|
2
|
+
|
|
3
|
+
## Task-Based Coordination
|
|
4
|
+
|
|
5
|
+
All team workflows should use the shared task list for structured progress tracking:
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
1. Lead creates team
|
|
9
|
+
2. Lead creates tasks (TaskCreate) for each teammate's work unit
|
|
10
|
+
3. Lead spawns teammates, assigning tasks via TaskUpdate(owner)
|
|
11
|
+
4. Teammates work, mark tasks completed via TaskUpdate(status: completed)
|
|
12
|
+
5. Lead checks TaskList before proceeding to next phase
|
|
13
|
+
6. Lead shuts down teammates, calls TeamDelete
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**Example task creation for a review team:**
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
TaskCreate: "Security review of auth module" → assigned to Security Reviewer
|
|
20
|
+
TaskCreate: "Architecture review of auth module" → assigned to Architecture Reviewer
|
|
21
|
+
TaskCreate: "Performance review of auth module" → assigned to Performance Reviewer
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Review Team
|
|
27
|
+
|
|
28
|
+
### Standard Review (4 perspectives)
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
Lead spawns:
|
|
32
|
+
├── Security reviewer → vulnerabilities, injection, auth, crypto
|
|
33
|
+
├── Architecture reviewer → SOLID, coupling, layering, modularity
|
|
34
|
+
├── Performance reviewer → queries, algorithms, caching, I/O
|
|
35
|
+
└── Quality reviewer → complexity, tests, consistency, naming
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Extended Review (add conditionally)
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Additional teammates based on changed files:
|
|
42
|
+
├── TypeScript reviewer → type safety, generics (if .ts/.tsx changed)
|
|
43
|
+
├── React reviewer → hooks, state, rendering (if .tsx/.jsx changed)
|
|
44
|
+
├── Database reviewer → schema, queries, migrations (if DB files changed)
|
|
45
|
+
└── Dependencies reviewer → CVEs, versions, licenses (if package files changed)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Review Debate Flow
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
1. Each reviewer analyzes independently
|
|
52
|
+
2. Lead broadcasts: "Share top 3 findings and challenge others"
|
|
53
|
+
3. Security challenges architecture: "This coupling creates attack surface"
|
|
54
|
+
4. Architecture challenges performance: "Your caching suggestion breaks separation"
|
|
55
|
+
5. Quality validates: "Tests don't cover the security concern raised"
|
|
56
|
+
6. Lead collects consensus after max 2 exchange rounds
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Implementation Team
|
|
62
|
+
|
|
63
|
+
### Exploration Team (4 perspectives)
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Lead spawns:
|
|
67
|
+
├── Architecture explorer → existing patterns, module structure
|
|
68
|
+
├── Integration explorer → entry points, services, config
|
|
69
|
+
├── Reusable code explorer → utilities, helpers, shared logic
|
|
70
|
+
└── Edge case explorer → error conditions, boundaries, race conditions
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Planning Team (3 perspectives)
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
Lead spawns:
|
|
77
|
+
├── Implementation planner → step-by-step coding approach
|
|
78
|
+
├── Testing planner → test strategy and coverage plan
|
|
79
|
+
└── Risk planner → potential issues, rollback strategy
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Implementation Debate
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
1. Explorers share findings
|
|
86
|
+
2. Architecture challenges edge cases: "This boundary isn't handled"
|
|
87
|
+
3. Integration challenges reusable code: "That helper doesn't cover our case"
|
|
88
|
+
4. Lead synthesizes consensus exploration
|
|
89
|
+
|
|
90
|
+
5. Planners propose approaches
|
|
91
|
+
6. Testing challenges implementation: "This approach is untestable"
|
|
92
|
+
7. Risk challenges both: "Rollback is impossible with this migration"
|
|
93
|
+
8. Lead synthesizes consensus plan
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Specification Team
|
|
99
|
+
|
|
100
|
+
### Requirements Exploration Team (4 perspectives)
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
Lead spawns:
|
|
104
|
+
├── User Perspective Explorer → target users, goals, pain points, user journeys
|
|
105
|
+
├── Similar Features Explorer → comparable features, scope patterns, precedents
|
|
106
|
+
├── Constraints Explorer → dependencies, business rules, security, performance
|
|
107
|
+
└── Failure Mode Explorer → error states, edge cases, validation needs
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Requirements Debate Flow
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
1. Each explorer shares findings from their perspective
|
|
114
|
+
2. Constraints challenges user perspective: "This requirement conflicts with X constraint"
|
|
115
|
+
3. Failure modes challenges similar features: "That pattern failed in Y scenario"
|
|
116
|
+
4. Similar features validates user perspective: "This UX pattern works well in Z"
|
|
117
|
+
5. Lead collects consensus after max 2 exchange rounds
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Scope Planning Team (3 perspectives)
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
Lead spawns:
|
|
124
|
+
├── User Stories Planner → actors, actions, outcomes ("As X, I want Y, so that Z")
|
|
125
|
+
├── Scope Boundaries Planner → v1 MVP, v2 deferred, out of scope, dependencies
|
|
126
|
+
└── Acceptance Criteria Planner → success/failure/edge case criteria (testable)
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Scope Debate Flow
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
1. Each planner presents their analysis
|
|
133
|
+
2. Scope challenges user stories: "This story is too broad for v1"
|
|
134
|
+
3. Acceptance challenges scope: "These boundaries leave this edge case uncovered"
|
|
135
|
+
4. User stories challenges acceptance: "This criterion is untestable"
|
|
136
|
+
5. Lead collects consensus after max 2 exchange rounds
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Note**: Specification teams complement (not replace) the 3 mandatory clarification gates. User still drives all decisions via Gate 0, Gate 1, and Gate 2.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Resolution Team
|
|
144
|
+
|
|
145
|
+
### Cross-Validation Resolution Team
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
Lead spawns resolvers based on batches:
|
|
149
|
+
├── Resolver A → Batch 1 issues (file-a cluster)
|
|
150
|
+
├── Resolver B → Batch 2 issues (file-b cluster)
|
|
151
|
+
└── Resolver C → Batch 3 issues (file-c cluster)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Resolution Debate Flow
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
1. Each resolver independently validates + fixes their batch
|
|
158
|
+
2. Lead broadcasts: "Review each other's fixes for cross-batch conflicts"
|
|
159
|
+
3. Resolver A: "My fix in file-a.ts changes the interface that Resolver B depends on"
|
|
160
|
+
4. Resolver B: "Confirmed — my fix in file-b.ts imports from that interface"
|
|
161
|
+
5. Resolvers coordinate the fix or escalate conflict to lead
|
|
162
|
+
6. Lead collects consensus after max 2 exchange rounds
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### When Cross-Validation Adds Value
|
|
166
|
+
|
|
167
|
+
- Fixes touch shared interfaces or types
|
|
168
|
+
- Resolvers modify files that import from each other
|
|
169
|
+
- Batch fixes could introduce conflicting patterns
|
|
170
|
+
- Large resolution sets (>5 issues across multiple files)
|
|
171
|
+
|
|
172
|
+
### When to Skip Cross-Validation
|
|
173
|
+
|
|
174
|
+
- All fixes are in completely independent files
|
|
175
|
+
- Only 1-2 batches with no shared dependencies
|
|
176
|
+
- Fixes are trivial (typos, formatting, naming)
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Debug Team
|
|
181
|
+
|
|
182
|
+
### Hypothesis Investigation (3-5 hypotheses)
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
Lead spawns (one per hypothesis):
|
|
186
|
+
├── Hypothesis A investigator → state management / race condition
|
|
187
|
+
├── Hypothesis B investigator → configuration / environment
|
|
188
|
+
├── Hypothesis C investigator → edge case / input validation
|
|
189
|
+
└── Hypothesis D investigator → dependency / version issue
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Debug Debate Flow
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
1. Each investigator gathers evidence for their hypothesis
|
|
196
|
+
2. Lead broadcasts: "Present evidence. Disprove each other."
|
|
197
|
+
3. Investigator A: "Found race condition at file:line"
|
|
198
|
+
4. Investigator B: "My config theory is disproved by A's evidence"
|
|
199
|
+
5. Investigator C: "A's race condition doesn't explain the timing"
|
|
200
|
+
6. Converge on surviving hypothesis with strongest evidence
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Team Size Guidelines
|
|
206
|
+
|
|
207
|
+
| Scenario | Min | Max | Rationale |
|
|
208
|
+
|----------|-----|-----|-----------|
|
|
209
|
+
| Quick review | 2 | 3 | Focused, low cost |
|
|
210
|
+
| Full review | 4 | 5 | Core perspectives |
|
|
211
|
+
| Exploration | 3 | 4 | Diminishing returns beyond 4 |
|
|
212
|
+
| Planning | 2 | 3 | Too many cooks |
|
|
213
|
+
| Specification (explore) | 3 | 4 | Requirements need diverse perspectives |
|
|
214
|
+
| Specification (scope) | 2 | 3 | Scope planning benefits from focus |
|
|
215
|
+
| Resolution | 2 | 4 | One per independent batch |
|
|
216
|
+
| Debugging | 3 | 5 | One per viable hypothesis |
|
|
217
|
+
| Parallel coding | 2 | 3 | Merge complexity grows fast |
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Ambient Mode: UserPromptSubmit Hook
|
|
4
|
+
# Injects a classification preamble before every user prompt so Claude applies
|
|
5
|
+
# relevant skill loading via the ambient-router skill.
|
|
6
|
+
# Zero file I/O beyond stdin — static injection only.
|
|
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
|
+
PROMPT=$(echo "$INPUT" | jq -r '.prompt // ""' 2>/dev/null)
|
|
21
|
+
|
|
22
|
+
# Skip slash commands — they have their own orchestration
|
|
23
|
+
if [[ "$PROMPT" == /* ]]; then
|
|
24
|
+
exit 0
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
# Skip single-word confirmations (< 2 words)
|
|
28
|
+
WORD_COUNT=$(echo "$PROMPT" | wc -w | tr -d ' ')
|
|
29
|
+
if [ "$WORD_COUNT" -lt 2 ]; then
|
|
30
|
+
exit 0
|
|
31
|
+
fi
|
|
32
|
+
|
|
33
|
+
# Inject classification preamble
|
|
34
|
+
PREAMBLE="AMBIENT MODE ACTIVE: Before responding, silently classify this prompt:
|
|
35
|
+
Intent: BUILD | DEBUG | REVIEW | PLAN | EXPLORE | CHAT
|
|
36
|
+
Depth: QUICK (no overhead) | STANDARD (load skills) | ESCALATE (suggest /command)
|
|
37
|
+
|
|
38
|
+
If STANDARD+: Read the ambient-router skill for classification details and skill selection matrix. For BUILD tasks, also load test-driven-development skill and enforce RED-GREEN-REFACTOR.
|
|
39
|
+
|
|
40
|
+
If QUICK: Respond normally without stating classification.
|
|
41
|
+
Only state classification aloud for STANDARD/ESCALATE."
|
|
42
|
+
|
|
43
|
+
jq -n --arg ctx "$PREAMBLE" '{
|
|
44
|
+
"hookSpecificOutput": {
|
|
45
|
+
"hookEventName": "UserPromptSubmit",
|
|
46
|
+
"additionalContext": $ctx
|
|
47
|
+
}
|
|
48
|
+
}'
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Background Working Memory Updater
|
|
4
|
+
# Called by stop-update-memory.sh as a detached background process.
|
|
5
|
+
# Resumes the parent session headlessly to update .memory/WORKING-MEMORY.md.
|
|
6
|
+
# On failure: logs error, does nothing (no fallback).
|
|
7
|
+
|
|
8
|
+
set -euo pipefail
|
|
9
|
+
|
|
10
|
+
CWD="$1"
|
|
11
|
+
SESSION_ID="$2"
|
|
12
|
+
MEMORY_FILE="$3"
|
|
13
|
+
CLAUDE_BIN="$4"
|
|
14
|
+
|
|
15
|
+
LOG_FILE="$CWD/.memory/.working-memory-update.log"
|
|
16
|
+
LOCK_DIR="$CWD/.memory/.working-memory.lock"
|
|
17
|
+
|
|
18
|
+
# --- Logging ---
|
|
19
|
+
|
|
20
|
+
log() {
|
|
21
|
+
echo "[$(date -u '+%Y-%m-%dT%H:%M:%SZ')] $1" >> "$LOG_FILE"
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
rotate_log() {
|
|
25
|
+
if [ -f "$LOG_FILE" ] && [ "$(wc -l < "$LOG_FILE")" -gt 100 ]; then
|
|
26
|
+
tail -50 "$LOG_FILE" > "$LOG_FILE.tmp" && mv "$LOG_FILE.tmp" "$LOG_FILE"
|
|
27
|
+
fi
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
# --- Stale Lock Recovery ---
|
|
31
|
+
|
|
32
|
+
# Portable mtime in epoch seconds (same pattern as stop-update-memory.sh:35-39)
|
|
33
|
+
get_mtime() {
|
|
34
|
+
if stat --version &>/dev/null 2>&1; then
|
|
35
|
+
stat -c %Y "$1"
|
|
36
|
+
else
|
|
37
|
+
stat -f %m "$1"
|
|
38
|
+
fi
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
STALE_THRESHOLD=300 # 5 min — generous vs 30-60s normal runtime
|
|
42
|
+
|
|
43
|
+
break_stale_lock() {
|
|
44
|
+
if [ ! -d "$LOCK_DIR" ]; then return; fi
|
|
45
|
+
local lock_mtime now age
|
|
46
|
+
lock_mtime=$(get_mtime "$LOCK_DIR")
|
|
47
|
+
now=$(date +%s)
|
|
48
|
+
age=$(( now - lock_mtime ))
|
|
49
|
+
if [ "$age" -gt "$STALE_THRESHOLD" ]; then
|
|
50
|
+
log "Breaking stale lock (age: ${age}s, threshold: ${STALE_THRESHOLD}s)"
|
|
51
|
+
rmdir "$LOCK_DIR" 2>/dev/null || true
|
|
52
|
+
fi
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
# --- Locking (mkdir-based, POSIX-atomic) ---
|
|
56
|
+
|
|
57
|
+
acquire_lock() {
|
|
58
|
+
local timeout=90
|
|
59
|
+
local waited=0
|
|
60
|
+
while ! mkdir "$LOCK_DIR" 2>/dev/null; do
|
|
61
|
+
if [ "$waited" -ge "$timeout" ]; then
|
|
62
|
+
return 1
|
|
63
|
+
fi
|
|
64
|
+
sleep 1
|
|
65
|
+
waited=$((waited + 1))
|
|
66
|
+
done
|
|
67
|
+
return 0
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
cleanup() {
|
|
71
|
+
rmdir "$LOCK_DIR" 2>/dev/null || true
|
|
72
|
+
}
|
|
73
|
+
trap cleanup EXIT
|
|
74
|
+
|
|
75
|
+
# --- Main ---
|
|
76
|
+
|
|
77
|
+
# Wait for parent session to flush transcript.
|
|
78
|
+
# 3s provides ~6-10x margin over typical flush times.
|
|
79
|
+
# If --resume shows stale transcripts, bump to 5s.
|
|
80
|
+
sleep 3
|
|
81
|
+
|
|
82
|
+
log "Starting update for session $SESSION_ID"
|
|
83
|
+
|
|
84
|
+
# Break stale locks from previous zombie processes
|
|
85
|
+
break_stale_lock
|
|
86
|
+
|
|
87
|
+
# Acquire lock (other sessions may be updating concurrently)
|
|
88
|
+
if ! acquire_lock; then
|
|
89
|
+
log "Lock timeout after 90s — skipping update for session $SESSION_ID"
|
|
90
|
+
# Don't clean up lock we don't own
|
|
91
|
+
trap - EXIT
|
|
92
|
+
exit 0
|
|
93
|
+
fi
|
|
94
|
+
|
|
95
|
+
rotate_log
|
|
96
|
+
|
|
97
|
+
# Read existing memory for merge context
|
|
98
|
+
EXISTING_MEMORY=""
|
|
99
|
+
if [ -f "$MEMORY_FILE" ]; then
|
|
100
|
+
EXISTING_MEMORY=$(cat "$MEMORY_FILE")
|
|
101
|
+
fi
|
|
102
|
+
|
|
103
|
+
# Build instruction
|
|
104
|
+
if [ -n "$EXISTING_MEMORY" ]; then
|
|
105
|
+
PATTERNS_INSTRUCTION=""
|
|
106
|
+
PATTERNS_FILE="$CWD/.memory/PROJECT-PATTERNS.md"
|
|
107
|
+
EXISTING_PATTERNS=""
|
|
108
|
+
if [ -f "$PATTERNS_FILE" ]; then
|
|
109
|
+
EXISTING_PATTERNS=$(cat "$PATTERNS_FILE")
|
|
110
|
+
PATTERNS_INSTRUCTION="
|
|
111
|
+
|
|
112
|
+
Also update $PATTERNS_FILE by APPENDING any new recurring patterns discovered during this session. Do NOT overwrite existing entries — only add new ones. Skip if no new patterns were observed. Format each entry as: - **Pattern name**: Brief description (discovered: YYYY-MM-DD). Keep patterns.md under 40 entries. When approaching the limit, consolidate related patterns into broader entries rather than adding duplicates.
|
|
113
|
+
|
|
114
|
+
Existing patterns:
|
|
115
|
+
$EXISTING_PATTERNS"
|
|
116
|
+
else
|
|
117
|
+
PATTERNS_INSTRUCTION="
|
|
118
|
+
|
|
119
|
+
If recurring patterns were observed during this session (coding conventions, architectural decisions, team preferences, tooling quirks), create $PATTERNS_FILE with entries formatted as: - **Pattern name**: Brief description (discovered: YYYY-MM-DD). Only create this file if genuine patterns were observed — do not fabricate entries."
|
|
120
|
+
fi
|
|
121
|
+
|
|
122
|
+
INSTRUCTION="Update the file $MEMORY_FILE with working memory from this session. The file already has content — possibly from a concurrent session that just wrote it moments ago. Merge this session's context with the existing content to produce a single unified working memory snapshot. Both this session and the existing content represent fresh, concurrent work — integrate both fully. Working memory captures what's active now, not a changelog. Deduplicate overlapping information. Keep under 120 lines total. Use the same structure: ## Now, ## Progress, ## Decisions, ## Modified Files, ## Context, ## Session Log.
|
|
123
|
+
|
|
124
|
+
## Progress tracks Done (completed items), Remaining (next steps), and Blockers (if any). Keep each sub-list to 1-3 items. This section reflects current work state, not historical logs.
|
|
125
|
+
|
|
126
|
+
## Decisions entries must include date and status. Format: - **[Decision]** — [rationale] (YYYY-MM-DD) [ACTIVE|SUPERSEDED]. Mark superseded decisions rather than deleting them.${PATTERNS_INSTRUCTION}
|
|
127
|
+
|
|
128
|
+
Existing content:
|
|
129
|
+
$EXISTING_MEMORY"
|
|
130
|
+
else
|
|
131
|
+
PATTERNS_INSTRUCTION=""
|
|
132
|
+
PATTERNS_FILE="$CWD/.memory/PROJECT-PATTERNS.md"
|
|
133
|
+
if [ -f "$PATTERNS_FILE" ]; then
|
|
134
|
+
EXISTING_PATTERNS=$(cat "$PATTERNS_FILE")
|
|
135
|
+
PATTERNS_INSTRUCTION="
|
|
136
|
+
|
|
137
|
+
Also update $PATTERNS_FILE by APPENDING any new recurring patterns discovered during this session. Do NOT overwrite existing entries — only add new ones. Skip if no new patterns were observed. Format each entry as: - **Pattern name**: Brief description (discovered: YYYY-MM-DD). Keep patterns.md under 40 entries. When approaching the limit, consolidate related patterns into broader entries rather than adding duplicates.
|
|
138
|
+
|
|
139
|
+
Existing patterns:
|
|
140
|
+
$EXISTING_PATTERNS"
|
|
141
|
+
else
|
|
142
|
+
PATTERNS_INSTRUCTION="
|
|
143
|
+
|
|
144
|
+
If recurring patterns were observed during this session (coding conventions, architectural decisions, team preferences, tooling quirks), create $PATTERNS_FILE with entries formatted as: - **Pattern name**: Brief description (discovered: YYYY-MM-DD). Only create this file if genuine patterns were observed — do not fabricate entries."
|
|
145
|
+
fi
|
|
146
|
+
|
|
147
|
+
INSTRUCTION="Create the file $MEMORY_FILE with working memory from this session. Keep under 120 lines. Use this structure:
|
|
148
|
+
|
|
149
|
+
# Working Memory
|
|
150
|
+
|
|
151
|
+
## Now
|
|
152
|
+
<!-- Current focus, status, blockers (1-3 bullets) -->
|
|
153
|
+
|
|
154
|
+
## Progress
|
|
155
|
+
<!-- Done: completed items (1-3). Remaining: next steps (1-3). Blockers: if any. -->
|
|
156
|
+
|
|
157
|
+
## Decisions
|
|
158
|
+
<!-- Format: - **[Decision]** — [rationale] (YYYY-MM-DD) [ACTIVE|SUPERSEDED] -->
|
|
159
|
+
|
|
160
|
+
## Modified Files
|
|
161
|
+
<!-- File paths only, most recent first -->
|
|
162
|
+
|
|
163
|
+
## Context
|
|
164
|
+
<!-- Branch, PR, architectural context, open questions -->
|
|
165
|
+
|
|
166
|
+
## Session Log
|
|
167
|
+
|
|
168
|
+
### Today
|
|
169
|
+
<!-- Chronological summary of work done today (2-5 bullets) -->
|
|
170
|
+
|
|
171
|
+
### This Week
|
|
172
|
+
<!-- Broader multi-day context if relevant -->${PATTERNS_INSTRUCTION}"
|
|
173
|
+
fi
|
|
174
|
+
|
|
175
|
+
# Resume session headlessly to perform the update
|
|
176
|
+
TIMEOUT=120 # Normal runtime 30-60s; 2x margin
|
|
177
|
+
|
|
178
|
+
DEVFLOW_BG_UPDATER=1 env -u CLAUDECODE "$CLAUDE_BIN" -p \
|
|
179
|
+
--resume "$SESSION_ID" \
|
|
180
|
+
--model haiku \
|
|
181
|
+
--tools "Write" \
|
|
182
|
+
--allowedTools "Write($CWD/.memory/WORKING-MEMORY.md)" "Write($CWD/.memory/PROJECT-PATTERNS.md)" \
|
|
183
|
+
--no-session-persistence \
|
|
184
|
+
--output-format text \
|
|
185
|
+
"$INSTRUCTION" \
|
|
186
|
+
> /dev/null 2>> "$LOG_FILE" &
|
|
187
|
+
CLAUDE_PID=$!
|
|
188
|
+
|
|
189
|
+
# Watchdog: kill claude if it exceeds timeout
|
|
190
|
+
( sleep "$TIMEOUT" && kill "$CLAUDE_PID" 2>/dev/null ) &
|
|
191
|
+
WATCHDOG_PID=$!
|
|
192
|
+
|
|
193
|
+
if wait "$CLAUDE_PID" 2>/dev/null; then
|
|
194
|
+
log "Update completed for session $SESSION_ID"
|
|
195
|
+
else
|
|
196
|
+
EXIT_CODE=$?
|
|
197
|
+
if [ "$EXIT_CODE" -gt 128 ]; then
|
|
198
|
+
log "Update timed out (killed after ${TIMEOUT}s) for session $SESSION_ID"
|
|
199
|
+
else
|
|
200
|
+
log "Update failed for session $SESSION_ID (exit code $EXIT_CODE)"
|
|
201
|
+
fi
|
|
202
|
+
fi
|
|
203
|
+
|
|
204
|
+
# Clean up watchdog
|
|
205
|
+
kill "$WATCHDOG_PID" 2>/dev/null || true
|
|
206
|
+
wait "$WATCHDOG_PID" 2>/dev/null || true
|
|
207
|
+
|
|
208
|
+
exit 0
|