@accelerationguy/accel 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +19 -0
- package/LICENSE +33 -0
- package/README.md +275 -0
- package/bin/install.js +661 -0
- package/docs/getting-started.md +164 -0
- package/docs/module-guide.md +139 -0
- package/modules/drive/LICENSE +21 -0
- package/modules/drive/PAUL-VS-GSD.md +171 -0
- package/modules/drive/README.md +555 -0
- package/modules/drive/assets/terminal.svg +67 -0
- package/modules/drive/bin/install.js +210 -0
- package/modules/drive/integration.js +76 -0
- package/modules/drive/package.json +38 -0
- package/modules/drive/src/commands/add-phase.md +36 -0
- package/modules/drive/src/commands/apply.md +83 -0
- package/modules/drive/src/commands/assumptions.md +37 -0
- package/modules/drive/src/commands/audit.md +57 -0
- package/modules/drive/src/commands/complete-milestone.md +36 -0
- package/modules/drive/src/commands/config.md +175 -0
- package/modules/drive/src/commands/consider-issues.md +41 -0
- package/modules/drive/src/commands/discover.md +48 -0
- package/modules/drive/src/commands/discuss-milestone.md +33 -0
- package/modules/drive/src/commands/discuss.md +34 -0
- package/modules/drive/src/commands/flows.md +73 -0
- package/modules/drive/src/commands/handoff.md +201 -0
- package/modules/drive/src/commands/help.md +525 -0
- package/modules/drive/src/commands/init.md +54 -0
- package/modules/drive/src/commands/map-codebase.md +34 -0
- package/modules/drive/src/commands/milestone.md +34 -0
- package/modules/drive/src/commands/pause.md +44 -0
- package/modules/drive/src/commands/plan-fix.md +216 -0
- package/modules/drive/src/commands/plan.md +36 -0
- package/modules/drive/src/commands/progress.md +138 -0
- package/modules/drive/src/commands/register.md +29 -0
- package/modules/drive/src/commands/remove-phase.md +37 -0
- package/modules/drive/src/commands/research-phase.md +209 -0
- package/modules/drive/src/commands/research.md +47 -0
- package/modules/drive/src/commands/resume.md +49 -0
- package/modules/drive/src/commands/status.md +78 -0
- package/modules/drive/src/commands/unify.md +87 -0
- package/modules/drive/src/commands/verify.md +60 -0
- package/modules/drive/src/references/checkpoints.md +234 -0
- package/modules/drive/src/references/context-management.md +219 -0
- package/modules/drive/src/references/git-strategy.md +206 -0
- package/modules/drive/src/references/loop-phases.md +254 -0
- package/modules/drive/src/references/plan-format.md +263 -0
- package/modules/drive/src/references/quality-principles.md +152 -0
- package/modules/drive/src/references/research-quality-control.md +247 -0
- package/modules/drive/src/references/sonarqube-integration.md +244 -0
- package/modules/drive/src/references/specialized-workflow-integration.md +186 -0
- package/modules/drive/src/references/subagent-criteria.md +179 -0
- package/modules/drive/src/references/tdd.md +219 -0
- package/modules/drive/src/references/work-units.md +161 -0
- package/modules/drive/src/rules/commands.md +108 -0
- package/modules/drive/src/rules/references.md +107 -0
- package/modules/drive/src/rules/style.md +123 -0
- package/modules/drive/src/rules/templates.md +51 -0
- package/modules/drive/src/rules/workflows.md +133 -0
- package/modules/drive/src/templates/CONTEXT.md +88 -0
- package/modules/drive/src/templates/DEBUG.md +164 -0
- package/modules/drive/src/templates/DISCOVERY.md +148 -0
- package/modules/drive/src/templates/HANDOFF.md +77 -0
- package/modules/drive/src/templates/ISSUES.md +93 -0
- package/modules/drive/src/templates/MILESTONES.md +167 -0
- package/modules/drive/src/templates/PLAN.md +328 -0
- package/modules/drive/src/templates/PROJECT.md +219 -0
- package/modules/drive/src/templates/RESEARCH.md +130 -0
- package/modules/drive/src/templates/ROADMAP.md +328 -0
- package/modules/drive/src/templates/SPECIAL-FLOWS.md +70 -0
- package/modules/drive/src/templates/STATE.md +210 -0
- package/modules/drive/src/templates/SUMMARY.md +221 -0
- package/modules/drive/src/templates/UAT-ISSUES.md +139 -0
- package/modules/drive/src/templates/codebase/architecture.md +259 -0
- package/modules/drive/src/templates/codebase/concerns.md +329 -0
- package/modules/drive/src/templates/codebase/conventions.md +311 -0
- package/modules/drive/src/templates/codebase/integrations.md +284 -0
- package/modules/drive/src/templates/codebase/stack.md +190 -0
- package/modules/drive/src/templates/codebase/structure.md +287 -0
- package/modules/drive/src/templates/codebase/testing.md +484 -0
- package/modules/drive/src/templates/config.md +181 -0
- package/modules/drive/src/templates/milestone-archive.md +236 -0
- package/modules/drive/src/templates/milestone-context.md +190 -0
- package/modules/drive/src/templates/paul-json.md +147 -0
- package/modules/drive/src/vector-config/PAUL +26 -0
- package/modules/drive/src/vector-config/PAUL.manifest +11 -0
- package/modules/drive/src/workflows/apply-phase.md +393 -0
- package/modules/drive/src/workflows/audit-plan.md +344 -0
- package/modules/drive/src/workflows/complete-milestone.md +479 -0
- package/modules/drive/src/workflows/configure-special-flows.md +283 -0
- package/modules/drive/src/workflows/consider-issues.md +172 -0
- package/modules/drive/src/workflows/create-milestone.md +268 -0
- package/modules/drive/src/workflows/debug.md +292 -0
- package/modules/drive/src/workflows/discovery.md +187 -0
- package/modules/drive/src/workflows/discuss-milestone.md +245 -0
- package/modules/drive/src/workflows/discuss-phase.md +231 -0
- package/modules/drive/src/workflows/init-project.md +698 -0
- package/modules/drive/src/workflows/map-codebase.md +459 -0
- package/modules/drive/src/workflows/pause-work.md +259 -0
- package/modules/drive/src/workflows/phase-assumptions.md +181 -0
- package/modules/drive/src/workflows/plan-phase.md +385 -0
- package/modules/drive/src/workflows/quality-gate.md +263 -0
- package/modules/drive/src/workflows/register-manifest.md +107 -0
- package/modules/drive/src/workflows/research.md +241 -0
- package/modules/drive/src/workflows/resume-project.md +200 -0
- package/modules/drive/src/workflows/roadmap-management.md +334 -0
- package/modules/drive/src/workflows/transition-phase.md +368 -0
- package/modules/drive/src/workflows/unify-phase.md +290 -0
- package/modules/drive/src/workflows/verify-work.md +241 -0
- package/modules/forge/README.md +281 -0
- package/modules/forge/bin/install.js +200 -0
- package/modules/forge/package.json +32 -0
- package/modules/forge/skillsmith/rules/checklists-rules.md +42 -0
- package/modules/forge/skillsmith/rules/context-rules.md +43 -0
- package/modules/forge/skillsmith/rules/entry-point-rules.md +44 -0
- package/modules/forge/skillsmith/rules/frameworks-rules.md +43 -0
- package/modules/forge/skillsmith/rules/tasks-rules.md +52 -0
- package/modules/forge/skillsmith/rules/templates-rules.md +43 -0
- package/modules/forge/skillsmith/skillsmith.md +82 -0
- package/modules/forge/skillsmith/tasks/audit.md +277 -0
- package/modules/forge/skillsmith/tasks/discover.md +145 -0
- package/modules/forge/skillsmith/tasks/distill.md +276 -0
- package/modules/forge/skillsmith/tasks/scaffold.md +349 -0
- package/modules/forge/specs/checklists.md +193 -0
- package/modules/forge/specs/context.md +223 -0
- package/modules/forge/specs/entry-point.md +320 -0
- package/modules/forge/specs/frameworks.md +228 -0
- package/modules/forge/specs/rules.md +245 -0
- package/modules/forge/specs/tasks.md +344 -0
- package/modules/forge/specs/templates.md +335 -0
- package/modules/forge/terminal.svg +70 -0
- package/modules/ignition/README.md +245 -0
- package/modules/ignition/bin/install.js +184 -0
- package/modules/ignition/checklists/planning-quality.md +55 -0
- package/modules/ignition/data/application/config.md +21 -0
- package/modules/ignition/data/application/guide.md +51 -0
- package/modules/ignition/data/application/skill-loadout.md +11 -0
- package/modules/ignition/data/campaign/config.md +18 -0
- package/modules/ignition/data/campaign/guide.md +36 -0
- package/modules/ignition/data/campaign/skill-loadout.md +10 -0
- package/modules/ignition/data/client/config.md +18 -0
- package/modules/ignition/data/client/guide.md +36 -0
- package/modules/ignition/data/client/skill-loadout.md +11 -0
- package/modules/ignition/data/utility/config.md +18 -0
- package/modules/ignition/data/utility/guide.md +31 -0
- package/modules/ignition/data/utility/skill-loadout.md +8 -0
- package/modules/ignition/data/workflow/config.md +19 -0
- package/modules/ignition/data/workflow/guide.md +41 -0
- package/modules/ignition/data/workflow/skill-loadout.md +10 -0
- package/modules/ignition/integration.js +54 -0
- package/modules/ignition/package.json +35 -0
- package/modules/ignition/seed.md +81 -0
- package/modules/ignition/tasks/add-type.md +164 -0
- package/modules/ignition/tasks/graduate.md +182 -0
- package/modules/ignition/tasks/ideate.md +221 -0
- package/modules/ignition/tasks/launch.md +137 -0
- package/modules/ignition/tasks/status.md +71 -0
- package/modules/ignition/templates/planning-application.md +193 -0
- package/modules/ignition/templates/planning-campaign.md +138 -0
- package/modules/ignition/templates/planning-client.md +149 -0
- package/modules/ignition/templates/planning-utility.md +112 -0
- package/modules/ignition/templates/planning-workflow.md +125 -0
- package/modules/ignition/terminal.svg +74 -0
- package/modules/mission-control/CONTEXT-CONTINUITY-SPEC.md +293 -0
- package/modules/mission-control/CONTEXT-ENGINEERING-GUIDE.md +282 -0
- package/modules/mission-control/README.md +91 -0
- package/modules/mission-control/assets/terminal.svg +80 -0
- package/modules/mission-control/examples/entities.example.json +133 -0
- package/modules/mission-control/examples/projects.example.json +318 -0
- package/modules/mission-control/examples/state.example.json +183 -0
- package/modules/mission-control/examples/vector.example.json +245 -0
- package/modules/mission-control/mission-control/checklists/install-verification.md +46 -0
- package/modules/mission-control/mission-control/frameworks/framework-registry.md +83 -0
- package/modules/mission-control/mission-control/mission-control.md +83 -0
- package/modules/mission-control/mission-control/tasks/insights.md +73 -0
- package/modules/mission-control/mission-control/tasks/install.md +194 -0
- package/modules/mission-control/mission-control/tasks/status.md +125 -0
- package/modules/mission-control/schemas/entities.schema.json +89 -0
- package/modules/mission-control/schemas/projects.schema.json +221 -0
- package/modules/mission-control/schemas/state.schema.json +108 -0
- package/modules/mission-control/schemas/vector.schema.json +200 -0
- package/modules/momentum/README.md +678 -0
- package/modules/momentum/bin/install.js +563 -0
- package/modules/momentum/integration.js +131 -0
- package/modules/momentum/package.json +42 -0
- package/modules/momentum/schemas/entities.schema.json +89 -0
- package/modules/momentum/schemas/projects.schema.json +221 -0
- package/modules/momentum/schemas/state.schema.json +108 -0
- package/modules/momentum/src/commands/audit-claude-md.md +31 -0
- package/modules/momentum/src/commands/audit.md +33 -0
- package/modules/momentum/src/commands/groom.md +35 -0
- package/modules/momentum/src/commands/history.md +27 -0
- package/modules/momentum/src/commands/pulse.md +33 -0
- package/modules/momentum/src/commands/scaffold.md +33 -0
- package/modules/momentum/src/commands/status.md +28 -0
- package/modules/momentum/src/commands/surface-convert.md +35 -0
- package/modules/momentum/src/commands/surface-create.md +34 -0
- package/modules/momentum/src/commands/surface-list.md +27 -0
- package/modules/momentum/src/commands/vector-hygiene.md +33 -0
- package/modules/momentum/src/framework/context/momentum-principles.md +71 -0
- package/modules/momentum/src/framework/frameworks/audit-strategies.md +53 -0
- package/modules/momentum/src/framework/frameworks/satellite-registration.md +44 -0
- package/modules/momentum/src/framework/tasks/audit-claude-md.md +68 -0
- package/modules/momentum/src/framework/tasks/audit.md +64 -0
- package/modules/momentum/src/framework/tasks/groom.md +164 -0
- package/modules/momentum/src/framework/tasks/history.md +34 -0
- package/modules/momentum/src/framework/tasks/pulse.md +83 -0
- package/modules/momentum/src/framework/tasks/scaffold.md +202 -0
- package/modules/momentum/src/framework/tasks/status.md +35 -0
- package/modules/momentum/src/framework/tasks/surface-convert.md +143 -0
- package/modules/momentum/src/framework/tasks/surface-create.md +184 -0
- package/modules/momentum/src/framework/tasks/surface-list.md +42 -0
- package/modules/momentum/src/framework/tasks/vector-hygiene.md +160 -0
- package/modules/momentum/src/framework/templates/workspace-json.md +96 -0
- package/modules/momentum/src/hooks/_template.py +129 -0
- package/modules/momentum/src/hooks/active-hook.py +178 -0
- package/modules/momentum/src/hooks/backlog-hook.py +115 -0
- package/modules/momentum/src/hooks/mission-control-insights.py +169 -0
- package/modules/momentum/src/hooks/momentum-pulse-check.py +351 -0
- package/modules/momentum/src/hooks/operator.py +53 -0
- package/modules/momentum/src/hooks/psmm-injector.py +67 -0
- package/modules/momentum/src/hooks/satellite-detection.py +248 -0
- package/modules/momentum/src/packages/momentum-mcp/index.js +119 -0
- package/modules/momentum/src/packages/momentum-mcp/package.json +10 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/entities.js +226 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/operator.js +106 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/projects.js +322 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/psmm.js +206 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/state.js +199 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/surfaces.js +404 -0
- package/modules/momentum/src/skill/momentum.md +111 -0
- package/modules/momentum/src/tasks/groom.md +164 -0
- package/modules/momentum/src/templates/operator.json +66 -0
- package/modules/momentum/src/templates/workspace.json +111 -0
- package/modules/momentum/terminal.svg +77 -0
- package/modules/radar/README.md +1552 -0
- package/modules/radar/commands/audit.md +233 -0
- package/modules/radar/commands/guardrails.md +194 -0
- package/modules/radar/commands/init.md +207 -0
- package/modules/radar/commands/playbook.md +176 -0
- package/modules/radar/commands/remediate.md +156 -0
- package/modules/radar/commands/report.md +172 -0
- package/modules/radar/commands/resume.md +176 -0
- package/modules/radar/commands/status.md +148 -0
- package/modules/radar/commands/transform.md +205 -0
- package/modules/radar/commands/validate.md +177 -0
- package/modules/radar/docs/ARCHITECTURE.md +336 -0
- package/modules/radar/docs/GETTING-STARTED.md +287 -0
- package/modules/radar/docs/standards/agents.md +197 -0
- package/modules/radar/docs/standards/commands.md +250 -0
- package/modules/radar/docs/standards/domains.md +191 -0
- package/modules/radar/docs/standards/personas.md +211 -0
- package/modules/radar/docs/standards/rules.md +218 -0
- package/modules/radar/docs/standards/runtime.md +445 -0
- package/modules/radar/docs/standards/schemas.md +269 -0
- package/modules/radar/docs/standards/tools.md +273 -0
- package/modules/radar/docs/standards/workflows.md +254 -0
- package/modules/radar/docs/terminal.svg +72 -0
- package/modules/radar/docs/validation/convention-compliance-report.md +183 -0
- package/modules/radar/docs/validation/cross-reference-report.md +195 -0
- package/modules/radar/docs/validation/validation-summary.md +118 -0
- package/modules/radar/docs/validation/version-manifest.yaml +363 -0
- package/modules/radar/install.sh +711 -0
- package/modules/radar/integration.js +53 -0
- package/modules/radar/src/core/agents/architect.md +25 -0
- package/modules/radar/src/core/agents/compliance-officer.md +25 -0
- package/modules/radar/src/core/agents/data-engineer.md +25 -0
- package/modules/radar/src/core/agents/devils-advocate.md +22 -0
- package/modules/radar/src/core/agents/performance-engineer.md +25 -0
- package/modules/radar/src/core/agents/principal-engineer.md +23 -0
- package/modules/radar/src/core/agents/reality-gap-analyst.md +22 -0
- package/modules/radar/src/core/agents/security-engineer.md +25 -0
- package/modules/radar/src/core/agents/senior-app-engineer.md +25 -0
- package/modules/radar/src/core/agents/sre.md +25 -0
- package/modules/radar/src/core/agents/staff-engineer.md +23 -0
- package/modules/radar/src/core/agents/test-engineer.md +25 -0
- package/modules/radar/src/core/personas/architect.md +111 -0
- package/modules/radar/src/core/personas/compliance-officer.md +104 -0
- package/modules/radar/src/core/personas/data-engineer.md +113 -0
- package/modules/radar/src/core/personas/devils-advocate.md +105 -0
- package/modules/radar/src/core/personas/performance-engineer.md +119 -0
- package/modules/radar/src/core/personas/principal-engineer.md +119 -0
- package/modules/radar/src/core/personas/reality-gap-analyst.md +111 -0
- package/modules/radar/src/core/personas/security-engineer.md +108 -0
- package/modules/radar/src/core/personas/senior-app-engineer.md +111 -0
- package/modules/radar/src/core/personas/sre.md +117 -0
- package/modules/radar/src/core/personas/staff-engineer.md +109 -0
- package/modules/radar/src/core/personas/test-engineer.md +109 -0
- package/modules/radar/src/core/workflows/disagreement-resolution.md +183 -0
- package/modules/radar/src/core/workflows/phase-0-context.md +148 -0
- package/modules/radar/src/core/workflows/phase-1-reconnaissance.md +169 -0
- package/modules/radar/src/core/workflows/phase-2-domain-audits.md +190 -0
- package/modules/radar/src/core/workflows/phase-3-cross-domain.md +177 -0
- package/modules/radar/src/core/workflows/phase-4-adversarial-review.md +165 -0
- package/modules/radar/src/core/workflows/phase-5-report.md +189 -0
- package/modules/radar/src/core/workflows/phase-checkpoint.md +222 -0
- package/modules/radar/src/core/workflows/session-handoff.md +152 -0
- package/modules/radar/src/domains/00-context.md +201 -0
- package/modules/radar/src/domains/01-architecture.md +248 -0
- package/modules/radar/src/domains/02-data.md +224 -0
- package/modules/radar/src/domains/03-correctness.md +230 -0
- package/modules/radar/src/domains/04-security.md +274 -0
- package/modules/radar/src/domains/05-compliance.md +228 -0
- package/modules/radar/src/domains/06-testing.md +228 -0
- package/modules/radar/src/domains/07-reliability.md +246 -0
- package/modules/radar/src/domains/08-performance.md +247 -0
- package/modules/radar/src/domains/09-maintainability.md +271 -0
- package/modules/radar/src/domains/10-operability.md +250 -0
- package/modules/radar/src/domains/11-change-risk.md +246 -0
- package/modules/radar/src/domains/12-team-risk.md +221 -0
- package/modules/radar/src/domains/13-risk-synthesis.md +202 -0
- package/modules/radar/src/rules/agent-boundaries.md +78 -0
- package/modules/radar/src/rules/disagreement-protocol.md +76 -0
- package/modules/radar/src/rules/epistemic-hygiene.md +78 -0
- package/modules/radar/src/schemas/confidence.md +185 -0
- package/modules/radar/src/schemas/disagreement.md +238 -0
- package/modules/radar/src/schemas/finding.md +287 -0
- package/modules/radar/src/schemas/report-section.md +150 -0
- package/modules/radar/src/schemas/signal.md +108 -0
- package/modules/radar/src/tools/checkov.md +463 -0
- package/modules/radar/src/tools/git-history.md +581 -0
- package/modules/radar/src/tools/gitleaks.md +447 -0
- package/modules/radar/src/tools/grype.md +611 -0
- package/modules/radar/src/tools/semgrep.md +378 -0
- package/modules/radar/src/tools/sonarqube.md +550 -0
- package/modules/radar/src/tools/syft.md +539 -0
- package/modules/radar/src/tools/trivy.md +439 -0
- package/modules/radar/src/transform/agents/change-risk-modeler.md +24 -0
- package/modules/radar/src/transform/agents/execution-validator.md +24 -0
- package/modules/radar/src/transform/agents/guardrail-generator.md +24 -0
- package/modules/radar/src/transform/agents/pedagogy-agent.md +24 -0
- package/modules/radar/src/transform/agents/remediation-architect.md +24 -0
- package/modules/radar/src/transform/personas/change-risk-modeler.md +95 -0
- package/modules/radar/src/transform/personas/execution-validator.md +95 -0
- package/modules/radar/src/transform/personas/guardrail-generator.md +103 -0
- package/modules/radar/src/transform/personas/pedagogy-agent.md +105 -0
- package/modules/radar/src/transform/personas/remediation-architect.md +95 -0
- package/modules/radar/src/transform/rules/change-risk-rules.md +87 -0
- package/modules/radar/src/transform/rules/safety-governance.md +87 -0
- package/modules/radar/src/transform/schemas/change-risk.md +139 -0
- package/modules/radar/src/transform/schemas/intervention-level.md +207 -0
- package/modules/radar/src/transform/schemas/playbook.md +205 -0
- package/modules/radar/src/transform/schemas/verification-plan.md +134 -0
- package/modules/radar/src/transform/workflows/phase-6-remediation.md +148 -0
- package/modules/radar/src/transform/workflows/phase-7-risk-validation.md +161 -0
- package/modules/radar/src/transform/workflows/phase-8-execution-planning.md +159 -0
- package/modules/radar/src/transform/workflows/transform-safety.md +158 -0
- package/modules/vector/.vector-template/sessions/.gitkeep +0 -0
- package/modules/vector/.vector-template/vector.json +72 -0
- package/modules/vector/AUDIT-CLAUDEMD.md +154 -0
- package/modules/vector/INSTALL.md +185 -0
- package/modules/vector/LICENSE +21 -0
- package/modules/vector/README.md +409 -0
- package/modules/vector/VECTOR-BLOCK.md +57 -0
- package/modules/vector/assets/terminal.svg +68 -0
- package/modules/vector/bin/install.js +455 -0
- package/modules/vector/bin/migrate-v1-to-v2.sh +492 -0
- package/modules/vector/commands/help.md +46 -0
- package/modules/vector/hooks/vector-hook.py +775 -0
- package/modules/vector/mcp/index.js +118 -0
- package/modules/vector/mcp/package.json +10 -0
- package/modules/vector/mcp/tools/decisions.js +269 -0
- package/modules/vector/mcp/tools/domains.js +361 -0
- package/modules/vector/mcp/tools/staging.js +252 -0
- package/modules/vector/mcp/tools/vector-json.js +647 -0
- package/modules/vector/package.json +38 -0
- package/modules/vector/schemas/vector.schema.json +237 -0
- package/package.json +39 -0
- package/shared/branding/branding.js +70 -0
- package/shared/config/defaults.json +59 -0
- package/shared/events/README.md +175 -0
- package/shared/events/event-bus.js +134 -0
- package/shared/events/event_bus.py +255 -0
- package/shared/events/integrations.js +161 -0
- package/shared/events/schemas/audit-complete.schema.json +21 -0
- package/shared/events/schemas/phase-progress.schema.json +23 -0
- package/shared/events/schemas/plan-created.schema.json +21 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
<overview>
|
|
2
|
+
TDD is about design quality, not coverage metrics. The red-green-refactor cycle forces you to think about behavior before implementation, producing cleaner interfaces and more testable code.
|
|
3
|
+
|
|
4
|
+
**Principle:** If you can describe the behavior as `expect(fn(input)).toBe(output)` before writing `fn`, TDD improves the result.
|
|
5
|
+
|
|
6
|
+
**Key insight:** TDD work is fundamentally heavier than standard tasks—it requires 2-3 execution cycles (RED → GREEN → REFACTOR), each with file reads, test runs, and potential debugging. TDD features get dedicated plans to ensure full context is available throughout the cycle.
|
|
7
|
+
</overview>
|
|
8
|
+
|
|
9
|
+
<when_to_use_tdd>
|
|
10
|
+
|
|
11
|
+
## When TDD Improves Quality
|
|
12
|
+
|
|
13
|
+
**TDD candidates (create a TDD plan with `type: tdd`):**
|
|
14
|
+
- Business logic with defined inputs/outputs
|
|
15
|
+
- API endpoints with request/response contracts
|
|
16
|
+
- Data transformations, parsing, formatting
|
|
17
|
+
- Validation rules and constraints
|
|
18
|
+
- Algorithms with testable behavior
|
|
19
|
+
- State machines and workflows
|
|
20
|
+
- Utility functions with clear specifications
|
|
21
|
+
|
|
22
|
+
**Skip TDD (use standard plan with `type: execute`):**
|
|
23
|
+
- UI layout, styling, visual components
|
|
24
|
+
- Configuration changes
|
|
25
|
+
- Glue code connecting existing components
|
|
26
|
+
- One-off scripts and migrations
|
|
27
|
+
- Simple CRUD with no business logic
|
|
28
|
+
- Exploratory prototyping
|
|
29
|
+
|
|
30
|
+
**Heuristic:** Can you write `expect(fn(input)).toBe(output)` before writing `fn`?
|
|
31
|
+
→ Yes: Create a TDD plan
|
|
32
|
+
→ No: Use standard plan, add tests after if needed
|
|
33
|
+
|
|
34
|
+
</when_to_use_tdd>
|
|
35
|
+
|
|
36
|
+
<tdd_plan_structure>
|
|
37
|
+
|
|
38
|
+
## TDD Plan Structure
|
|
39
|
+
|
|
40
|
+
Each TDD plan implements **one feature** through the full RED-GREEN-REFACTOR cycle.
|
|
41
|
+
|
|
42
|
+
```yaml
|
|
43
|
+
---
|
|
44
|
+
phase: XX-name
|
|
45
|
+
plan: NN
|
|
46
|
+
type: tdd
|
|
47
|
+
---
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
```markdown
|
|
51
|
+
## Objective
|
|
52
|
+
|
|
53
|
+
[What feature and why]
|
|
54
|
+
Purpose: [Design benefit of TDD for this feature]
|
|
55
|
+
Output: [Working, tested feature]
|
|
56
|
+
|
|
57
|
+
## Context
|
|
58
|
+
|
|
59
|
+
@.drive/PROJECT.md
|
|
60
|
+
@.drive/ROADMAP.md
|
|
61
|
+
@relevant/source/files.ts
|
|
62
|
+
|
|
63
|
+
## Acceptance Criteria
|
|
64
|
+
|
|
65
|
+
- AC-1: Failing test written and committed
|
|
66
|
+
- AC-2: Implementation passes all tests
|
|
67
|
+
- AC-3: Refactor complete (if needed)
|
|
68
|
+
|
|
69
|
+
## Feature
|
|
70
|
+
|
|
71
|
+
<feature>
|
|
72
|
+
<name>[Feature name]</name>
|
|
73
|
+
<files>[source file, test file]</files>
|
|
74
|
+
<behavior>
|
|
75
|
+
[Expected behavior in testable terms]
|
|
76
|
+
Cases: input → expected output
|
|
77
|
+
</behavior>
|
|
78
|
+
<implementation>[How to implement once tests pass]</implementation>
|
|
79
|
+
</feature>
|
|
80
|
+
|
|
81
|
+
## Verification
|
|
82
|
+
|
|
83
|
+
[Test command that proves feature works]
|
|
84
|
+
|
|
85
|
+
## Boundaries
|
|
86
|
+
|
|
87
|
+
DO NOT CHANGE: [files outside TDD scope]
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**One feature per TDD plan.** If features are trivial enough to batch, they're trivial enough to skip TDD.
|
|
91
|
+
|
|
92
|
+
</tdd_plan_structure>
|
|
93
|
+
|
|
94
|
+
<execution_flow>
|
|
95
|
+
|
|
96
|
+
## Red-Green-Refactor Cycle
|
|
97
|
+
|
|
98
|
+
**RED - Write failing test:**
|
|
99
|
+
1. Create test file following project conventions
|
|
100
|
+
2. Write test describing expected behavior
|
|
101
|
+
3. Run test - it MUST fail
|
|
102
|
+
4. If test passes: feature exists or test is wrong. Investigate.
|
|
103
|
+
5. Commit: `test({phase}-{plan}): add failing test for [feature]`
|
|
104
|
+
|
|
105
|
+
**GREEN - Implement to pass:**
|
|
106
|
+
1. Write minimal code to make test pass
|
|
107
|
+
2. No cleverness, no optimization - just make it work
|
|
108
|
+
3. Run test - it MUST pass
|
|
109
|
+
4. Commit: `feat({phase}-{plan}): implement [feature]`
|
|
110
|
+
|
|
111
|
+
**REFACTOR (if needed):**
|
|
112
|
+
1. Clean up implementation if obvious improvements exist
|
|
113
|
+
2. Run tests - MUST still pass
|
|
114
|
+
3. Only commit if changes made: `refactor({phase}-{plan}): clean up [feature]`
|
|
115
|
+
|
|
116
|
+
**Result:** Each TDD plan produces 2-3 atomic commits.
|
|
117
|
+
|
|
118
|
+
</execution_flow>
|
|
119
|
+
|
|
120
|
+
<test_quality>
|
|
121
|
+
|
|
122
|
+
## Good Tests vs Bad Tests
|
|
123
|
+
|
|
124
|
+
**Test behavior, not implementation:**
|
|
125
|
+
- Good: "returns formatted date string"
|
|
126
|
+
- Bad: "calls formatDate helper with correct params"
|
|
127
|
+
- Tests should survive refactors
|
|
128
|
+
|
|
129
|
+
**One concept per test:**
|
|
130
|
+
- Good: Separate tests for valid input, empty input, malformed input
|
|
131
|
+
- Bad: Single test checking all edge cases with multiple assertions
|
|
132
|
+
|
|
133
|
+
**Descriptive names:**
|
|
134
|
+
- Good: "should reject empty email", "returns null for invalid ID"
|
|
135
|
+
- Bad: "test1", "handles error", "works correctly"
|
|
136
|
+
|
|
137
|
+
**No implementation details:**
|
|
138
|
+
- Good: Test public API, observable behavior
|
|
139
|
+
- Bad: Mock internals, test private methods, assert on internal state
|
|
140
|
+
|
|
141
|
+
</test_quality>
|
|
142
|
+
|
|
143
|
+
<commit_pattern>
|
|
144
|
+
|
|
145
|
+
## Drive Commit Pattern for TDD Plans
|
|
146
|
+
|
|
147
|
+
TDD plans produce 2-3 atomic commits (one per phase):
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
test(08-02): add failing test for email validation
|
|
151
|
+
|
|
152
|
+
- Tests valid email formats accepted
|
|
153
|
+
- Tests invalid formats rejected
|
|
154
|
+
- Tests empty input handling
|
|
155
|
+
|
|
156
|
+
feat(08-02): implement email validation
|
|
157
|
+
|
|
158
|
+
- Regex pattern matches RFC 5322
|
|
159
|
+
- Returns boolean for validity
|
|
160
|
+
- Handles edge cases (empty, null)
|
|
161
|
+
|
|
162
|
+
refactor(08-02): extract regex to constant (optional)
|
|
163
|
+
|
|
164
|
+
- Moved pattern to EMAIL_REGEX constant
|
|
165
|
+
- No behavior changes
|
|
166
|
+
- Tests still pass
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**Format:** `{type}({phase}-{plan}): {description}`
|
|
170
|
+
|
|
171
|
+
Types for TDD:
|
|
172
|
+
- `test` - RED phase (failing test)
|
|
173
|
+
- `feat` - GREEN phase (implementation)
|
|
174
|
+
- `refactor` - REFACTOR phase (cleanup)
|
|
175
|
+
|
|
176
|
+
</commit_pattern>
|
|
177
|
+
|
|
178
|
+
<context_budget>
|
|
179
|
+
|
|
180
|
+
## Context Budget
|
|
181
|
+
|
|
182
|
+
TDD plans target **~40% context usage** (lower than standard plans' ~50%).
|
|
183
|
+
|
|
184
|
+
Why lower:
|
|
185
|
+
- RED phase: write test, run test, potentially debug why it didn't fail
|
|
186
|
+
- GREEN phase: implement, run test, potentially iterate on failures
|
|
187
|
+
- REFACTOR phase: modify code, run tests, verify no regressions
|
|
188
|
+
|
|
189
|
+
Each phase involves reading files, running commands, analyzing output. The back-and-forth is inherently heavier than linear task execution.
|
|
190
|
+
|
|
191
|
+
Single feature focus ensures full quality throughout the cycle.
|
|
192
|
+
|
|
193
|
+
</context_budget>
|
|
194
|
+
|
|
195
|
+
<error_handling>
|
|
196
|
+
|
|
197
|
+
## Error Handling
|
|
198
|
+
|
|
199
|
+
**Test doesn't fail in RED phase:**
|
|
200
|
+
- Feature may already exist - investigate
|
|
201
|
+
- Test may be wrong (not testing what you think)
|
|
202
|
+
- Fix before proceeding
|
|
203
|
+
|
|
204
|
+
**Test doesn't pass in GREEN phase:**
|
|
205
|
+
- Debug implementation
|
|
206
|
+
- Don't skip to refactor
|
|
207
|
+
- Keep iterating until green
|
|
208
|
+
|
|
209
|
+
**Tests fail in REFACTOR phase:**
|
|
210
|
+
- Undo refactor
|
|
211
|
+
- Commit was premature
|
|
212
|
+
- Refactor in smaller steps
|
|
213
|
+
|
|
214
|
+
**Unrelated tests break:**
|
|
215
|
+
- Stop and investigate
|
|
216
|
+
- May indicate coupling issue
|
|
217
|
+
- Fix before proceeding
|
|
218
|
+
|
|
219
|
+
</error_handling>
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
<work_units>
|
|
2
|
+
|
|
3
|
+
<purpose>
|
|
4
|
+
Guide plan sizing to maintain consistent quality. Plans must complete within ~50% context to avoid quality degradation. This reference helps estimate scope and know when to split.
|
|
5
|
+
|
|
6
|
+
**For Vector users:** Vector context brackets handle this operationally. This reference documents the underlying principles.
|
|
7
|
+
</purpose>
|
|
8
|
+
|
|
9
|
+
<quality_insight>
|
|
10
|
+
Claude degrades when it perceives context pressure and enters "completion mode."
|
|
11
|
+
|
|
12
|
+
| Context Usage | Quality | Claude's State |
|
|
13
|
+
|---------------|---------|----------------|
|
|
14
|
+
| 0-30% | PEAK | Thorough, comprehensive |
|
|
15
|
+
| 30-50% | GOOD | Confident, solid work |
|
|
16
|
+
| 50-70% | DEGRADING | Efficiency mode begins |
|
|
17
|
+
| 70%+ | POOR | Rushed, minimal |
|
|
18
|
+
|
|
19
|
+
**The 40-50% inflection point:** Claude sees context mounting and thinks "I'd better conserve now." Result: quality crash.
|
|
20
|
+
|
|
21
|
+
**The rule:** Stop BEFORE quality degrades, not at context limit.
|
|
22
|
+
</quality_insight>
|
|
23
|
+
|
|
24
|
+
<context_target>
|
|
25
|
+
**Plans should complete within ~50% of context usage.**
|
|
26
|
+
|
|
27
|
+
Why 50% not 80%?
|
|
28
|
+
- No context anxiety possible
|
|
29
|
+
- Quality maintained start to finish
|
|
30
|
+
- Room for unexpected complexity
|
|
31
|
+
- If you target 80%, you've already spent 40% in degradation mode
|
|
32
|
+
</context_target>
|
|
33
|
+
|
|
34
|
+
<task_limits>
|
|
35
|
+
**Each plan: 2-3 tasks maximum. Stay under 50% context.**
|
|
36
|
+
|
|
37
|
+
| Task Complexity | Tasks/Plan | Context/Task | Total |
|
|
38
|
+
|-----------------|------------|--------------|-------|
|
|
39
|
+
| Simple (config, single file) | 3 | ~10-15% | ~30-45% |
|
|
40
|
+
| Medium (feature, few files) | 2 | ~20-30% | ~40-50% |
|
|
41
|
+
| Complex (architecture, many files) | 1-2 | ~30-40% | ~30-50% |
|
|
42
|
+
|
|
43
|
+
**When in doubt: Default to 2 tasks.** Better to have an extra plan than degraded quality.
|
|
44
|
+
</task_limits>
|
|
45
|
+
|
|
46
|
+
<split_signals>
|
|
47
|
+
|
|
48
|
+
**Always split when:**
|
|
49
|
+
- More than 3 tasks (even if tasks seem small)
|
|
50
|
+
- Multiple subsystems (DB + API + UI = separate plans)
|
|
51
|
+
- Any task with >5 file modifications
|
|
52
|
+
- Discovery + implementation (DISCOVERY.md in one plan, implementation in another)
|
|
53
|
+
|
|
54
|
+
**Consider splitting when:**
|
|
55
|
+
- Estimated >5 files modified total
|
|
56
|
+
- Complex domains (auth, payments, data modeling)
|
|
57
|
+
- Uncertainty about approach
|
|
58
|
+
- Natural semantic boundaries
|
|
59
|
+
|
|
60
|
+
</split_signals>
|
|
61
|
+
|
|
62
|
+
<splitting_strategies>
|
|
63
|
+
|
|
64
|
+
**Vertical slices (default):** Group by feature, not by layer.
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
PREFER: Plan 01 = User (model + API + UI)
|
|
68
|
+
Plan 02 = Product (model + API + UI)
|
|
69
|
+
|
|
70
|
+
AVOID: Plan 01 = All models
|
|
71
|
+
Plan 02 = All APIs (depends on 01)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Vertical slices maximize parallelism and reduce dependencies.
|
|
75
|
+
|
|
76
|
+
**By dependency:** Only when genuine dependencies exist.
|
|
77
|
+
```
|
|
78
|
+
Plan 01: Auth foundation (middleware, JWT)
|
|
79
|
+
Plan 02: Protected features (uses auth from 01)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**By complexity:** When one slice is much heavier.
|
|
83
|
+
```
|
|
84
|
+
Plan 01: Dashboard layout shell
|
|
85
|
+
Plan 02: Data fetching and state
|
|
86
|
+
Plan 03: Visualization components
|
|
87
|
+
```
|
|
88
|
+
</splitting_strategies>
|
|
89
|
+
|
|
90
|
+
<estimating_context>
|
|
91
|
+
|
|
92
|
+
| Files Modified | Context Impact |
|
|
93
|
+
|----------------|----------------|
|
|
94
|
+
| 0-3 files | ~10-15% (small) |
|
|
95
|
+
| 4-6 files | ~20-30% (medium) |
|
|
96
|
+
| 7+ files | ~40%+ (large - split) |
|
|
97
|
+
|
|
98
|
+
| Complexity | Context/Task |
|
|
99
|
+
|------------|--------------|
|
|
100
|
+
| Simple CRUD | ~15% |
|
|
101
|
+
| Business logic | ~25% |
|
|
102
|
+
| Complex algorithms | ~40% |
|
|
103
|
+
| Domain modeling | ~35% |
|
|
104
|
+
|
|
105
|
+
**Quick estimates:**
|
|
106
|
+
- 2 simple tasks: ~30%
|
|
107
|
+
- 2 medium tasks: ~50%
|
|
108
|
+
- 2 complex tasks: ~80% (split!)
|
|
109
|
+
- 3 simple tasks: ~45%
|
|
110
|
+
- 3 medium tasks: ~75% (risky)
|
|
111
|
+
</estimating_context>
|
|
112
|
+
|
|
113
|
+
<paul_integration>
|
|
114
|
+
**How this fits Drive's loop:**
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
PLAN ──▶ APPLY ──▶ UNIFY
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
- **PLAN phase:** Use work-units to size correctly
|
|
121
|
+
- **APPLY phase:** Execute within context budget
|
|
122
|
+
- **UNIFY phase:** Record actual duration for future estimates
|
|
123
|
+
|
|
124
|
+
**With Vector (recommended):**
|
|
125
|
+
Vector context brackets automate these checks:
|
|
126
|
+
- FRESH (>60%): Full implementation OK
|
|
127
|
+
- MODERATE (40-60%): Consider splitting
|
|
128
|
+
- DEPLETED (<40%): Handoff or fresh agent
|
|
129
|
+
|
|
130
|
+
Drive provides the framework. Vector provides operational automation.
|
|
131
|
+
</paul_integration>
|
|
132
|
+
|
|
133
|
+
<anti_patterns>
|
|
134
|
+
|
|
135
|
+
**Bad - Comprehensive plan:**
|
|
136
|
+
```
|
|
137
|
+
Plan: "Complete Authentication System"
|
|
138
|
+
Tasks: 8
|
|
139
|
+
Result: Task 1-3 good, Task 4-5 degrading, Task 6-8 rushed
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Good - Atomic plans:**
|
|
143
|
+
```
|
|
144
|
+
Plan 1: "Auth Database Models" (2 tasks)
|
|
145
|
+
Plan 2: "Auth API Core" (2 tasks)
|
|
146
|
+
Plan 3: "Auth UI Components" (2 tasks)
|
|
147
|
+
Each: 30-40% context, peak quality
|
|
148
|
+
```
|
|
149
|
+
</anti_patterns>
|
|
150
|
+
|
|
151
|
+
<summary>
|
|
152
|
+
**Core rules:**
|
|
153
|
+
- 2-3 tasks per plan
|
|
154
|
+
- 50% context target
|
|
155
|
+
- Split when in doubt
|
|
156
|
+
- Vertical slices over horizontal layers
|
|
157
|
+
|
|
158
|
+
**The principle:** Aggressive atomicity. More plans, smaller scope, consistent quality.
|
|
159
|
+
</summary>
|
|
160
|
+
|
|
161
|
+
</work_units>
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "src/commands/**/*.md"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Command Rules
|
|
7
|
+
|
|
8
|
+
Rules for editing files in `src/commands/`.
|
|
9
|
+
|
|
10
|
+
## File Structure
|
|
11
|
+
|
|
12
|
+
```yaml
|
|
13
|
+
---
|
|
14
|
+
name: drive:command-name
|
|
15
|
+
description: One-line description
|
|
16
|
+
argument-hint: "<required>" or "[optional]"
|
|
17
|
+
allowed-tools: [Read, Write, Bash, Glob, Grep, Edit, AskUserQuestion]
|
|
18
|
+
---
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Section Order
|
|
22
|
+
|
|
23
|
+
1. `<objective>` — What/why/when (always present)
|
|
24
|
+
2. `<execution_context>` — @-references to workflows, templates, references
|
|
25
|
+
3. `<context>` — Dynamic content: `$ARGUMENTS`, bash output, @file refs
|
|
26
|
+
4. `<process>` or `<step>` elements — Implementation steps (thin, delegates to workflow)
|
|
27
|
+
5. `<success_criteria>` — Measurable completion checklist
|
|
28
|
+
|
|
29
|
+
## Core Principle
|
|
30
|
+
|
|
31
|
+
**Commands are thin wrappers.** Delegate detailed logic to workflows.
|
|
32
|
+
|
|
33
|
+
Commands answer "what to do", workflows answer "how to do it".
|
|
34
|
+
|
|
35
|
+
A command should fit on one screen. If it grows beyond that, logic belongs in a workflow.
|
|
36
|
+
|
|
37
|
+
## @-Reference Patterns
|
|
38
|
+
|
|
39
|
+
```markdown
|
|
40
|
+
<execution_context>
|
|
41
|
+
@src/workflows/plan-phase.md
|
|
42
|
+
@src/templates/PLAN.md
|
|
43
|
+
@src/references/checkpoints.md
|
|
44
|
+
</execution_context>
|
|
45
|
+
|
|
46
|
+
<context>
|
|
47
|
+
$ARGUMENTS
|
|
48
|
+
|
|
49
|
+
@.drive/PROJECT.md
|
|
50
|
+
@.drive/STATE.md
|
|
51
|
+
@.drive/ROADMAP.md
|
|
52
|
+
</context>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
- `execution_context`: Static resources (workflows, templates, references from Drive framework)
|
|
56
|
+
- `context`: Dynamic project state (from `.drive/` directory) and user arguments
|
|
57
|
+
|
|
58
|
+
## Success Criteria Format
|
|
59
|
+
|
|
60
|
+
```xml
|
|
61
|
+
<success_criteria>
|
|
62
|
+
- [ ] Specific, measurable criterion
|
|
63
|
+
- [ ] Another verifiable outcome
|
|
64
|
+
</success_criteria>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Use checkbox format. Each criterion must be objectively verifiable.
|
|
68
|
+
|
|
69
|
+
## Example Command Structure
|
|
70
|
+
|
|
71
|
+
```markdown
|
|
72
|
+
---
|
|
73
|
+
name: drive:plan
|
|
74
|
+
description: Enter PLAN phase for current or new plan
|
|
75
|
+
argument-hint: "[phase-plan]"
|
|
76
|
+
allowed-tools: [Read, Write, Glob, AskUserQuestion]
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
<objective>
|
|
80
|
+
Create or continue a PLAN for the specified phase.
|
|
81
|
+
|
|
82
|
+
**When to use:** Starting new work or resuming incomplete plan.
|
|
83
|
+
</objective>
|
|
84
|
+
|
|
85
|
+
<execution_context>
|
|
86
|
+
@src/workflows/plan-phase.md
|
|
87
|
+
@src/templates/PLAN.md
|
|
88
|
+
@src/references/plan-format.md
|
|
89
|
+
</execution_context>
|
|
90
|
+
|
|
91
|
+
<context>
|
|
92
|
+
$ARGUMENTS
|
|
93
|
+
|
|
94
|
+
@.drive/PROJECT.md
|
|
95
|
+
@.drive/STATE.md
|
|
96
|
+
@.drive/ROADMAP.md
|
|
97
|
+
</context>
|
|
98
|
+
|
|
99
|
+
<process>
|
|
100
|
+
Follow workflow: @src/workflows/plan-phase.md
|
|
101
|
+
</process>
|
|
102
|
+
|
|
103
|
+
<success_criteria>
|
|
104
|
+
- [ ] PLAN.md created in correct phase directory
|
|
105
|
+
- [ ] All acceptance criteria defined
|
|
106
|
+
- [ ] STATE.md updated with loop position
|
|
107
|
+
</success_criteria>
|
|
108
|
+
```
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "src/references/**/*.md"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Reference File Rules
|
|
7
|
+
|
|
8
|
+
Rules for editing files in `src/references/`.
|
|
9
|
+
|
|
10
|
+
## No Frontmatter
|
|
11
|
+
|
|
12
|
+
References don't use YAML frontmatter. They are conceptual documentation, not executable artifacts.
|
|
13
|
+
|
|
14
|
+
## File Structure
|
|
15
|
+
|
|
16
|
+
References follow a teaching-oriented structure:
|
|
17
|
+
|
|
18
|
+
1. **Outer container** — Semantic XML tag matching the concept (optional but common)
|
|
19
|
+
2. **Purpose section** — What this reference explains
|
|
20
|
+
3. **Concepts section** — Core ideas with explanations
|
|
21
|
+
4. **Examples section** — Concrete illustrations (good vs bad when applicable)
|
|
22
|
+
5. **Anti-patterns section** — What to avoid and WHY
|
|
23
|
+
|
|
24
|
+
## Outer Container Pattern
|
|
25
|
+
|
|
26
|
+
References often use an outer XML container related to their topic:
|
|
27
|
+
|
|
28
|
+
```markdown
|
|
29
|
+
<!-- checkpoints.md -->
|
|
30
|
+
<checkpoints>
|
|
31
|
+
## Purpose
|
|
32
|
+
...
|
|
33
|
+
|
|
34
|
+
## Checkpoint Types
|
|
35
|
+
...
|
|
36
|
+
</checkpoints>
|
|
37
|
+
|
|
38
|
+
<!-- subagent-criteria.md -->
|
|
39
|
+
<subagent_criteria>
|
|
40
|
+
## Purpose
|
|
41
|
+
...
|
|
42
|
+
|
|
43
|
+
## When to Use Subagents
|
|
44
|
+
...
|
|
45
|
+
</subagent_criteria>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Not a strict requirement — use when it adds semantic clarity.
|
|
49
|
+
|
|
50
|
+
## Teaching Patterns
|
|
51
|
+
|
|
52
|
+
References explain concepts for workflows and commands to load when relevant.
|
|
53
|
+
|
|
54
|
+
**Teach by contrast:**
|
|
55
|
+
```markdown
|
|
56
|
+
## Vague vs Specific
|
|
57
|
+
|
|
58
|
+
<!-- BAD -->
|
|
59
|
+
<task>
|
|
60
|
+
<action>Set up authentication</action>
|
|
61
|
+
</task>
|
|
62
|
+
|
|
63
|
+
<!-- GOOD -->
|
|
64
|
+
<task>
|
|
65
|
+
<action>
|
|
66
|
+
Create POST /api/auth/login endpoint:
|
|
67
|
+
- Accept { email, password }
|
|
68
|
+
- Validate with bcrypt compare
|
|
69
|
+
- Return JWT token (15min expiry)
|
|
70
|
+
</action>
|
|
71
|
+
</task>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Explain WHY:**
|
|
75
|
+
```markdown
|
|
76
|
+
## Why Boundaries Matter
|
|
77
|
+
|
|
78
|
+
Without explicit boundaries, AI assistants may:
|
|
79
|
+
- Refactor code outside the plan scope
|
|
80
|
+
- "Improve" working code that wasn't part of the task
|
|
81
|
+
- Break existing functionality while fixing something else
|
|
82
|
+
|
|
83
|
+
Boundaries prevent scope creep by making off-limits areas explicit.
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Loading Pattern
|
|
87
|
+
|
|
88
|
+
References are lazy-loaded by workflows when conceptual context is needed:
|
|
89
|
+
|
|
90
|
+
```xml
|
|
91
|
+
<!-- In a workflow -->
|
|
92
|
+
<required_reading>
|
|
93
|
+
@src/references/checkpoints.md (when plan has checkpoints)
|
|
94
|
+
@src/references/subagent-criteria.md (when parallel execution considered)
|
|
95
|
+
</required_reading>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
References should be self-contained — a workflow can load just one reference without needing others.
|
|
99
|
+
|
|
100
|
+
## Key Principle
|
|
101
|
+
|
|
102
|
+
References explain concepts and patterns. They are loaded by workflows/commands when relevant context is needed.
|
|
103
|
+
|
|
104
|
+
References are NOT:
|
|
105
|
+
- Step-by-step instructions (that's workflows)
|
|
106
|
+
- Document structure definitions (that's templates)
|
|
107
|
+
- Behavioral rules (that's Vector domains)
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "src/**/*.md"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Drive Style Rules
|
|
7
|
+
|
|
8
|
+
Universal conventions for all Drive framework files.
|
|
9
|
+
|
|
10
|
+
## Language & Tone
|
|
11
|
+
|
|
12
|
+
**Imperative voice.** "Execute tasks", "Create file" — not "Execution is performed"
|
|
13
|
+
|
|
14
|
+
**No filler.** Absent: "Let me", "Just", "Simply", "Basically", "I'd be happy to"
|
|
15
|
+
|
|
16
|
+
**No sycophancy.** Absent: "Great!", "Awesome!", "Excellent!", "I'd love to help"
|
|
17
|
+
|
|
18
|
+
**Brevity with substance.** Good: "JWT auth with refresh rotation using jose library" Bad: "Phase complete"
|
|
19
|
+
|
|
20
|
+
## Temporal Language Ban
|
|
21
|
+
|
|
22
|
+
Never write: "We changed X to Y", "Previously", "No longer", "Instead of"
|
|
23
|
+
|
|
24
|
+
Always: Describe current state only.
|
|
25
|
+
|
|
26
|
+
Exception: SUMMARY.md deviations section, git commits (their purpose IS tracking change)
|
|
27
|
+
|
|
28
|
+
## Naming Conventions
|
|
29
|
+
|
|
30
|
+
| Type | Convention | Example |
|
|
31
|
+
|------|------------|---------|
|
|
32
|
+
| Files | kebab-case | `plan-phase.md` |
|
|
33
|
+
| Commands | `drive:kebab-case` | `drive:plan` |
|
|
34
|
+
| Step names | snake_case | `name="load_project_state"` |
|
|
35
|
+
| Bash variables | CAPS_UNDERSCORES | `PHASE_ARG` |
|
|
36
|
+
| Type attributes | colon separator | `type="checkpoint:human-verify"` |
|
|
37
|
+
| Phase directories | `NN-kebab-name` | `02-rules-layer` |
|
|
38
|
+
| Plan files | `NN-NN-PLAN.md` | `02-01-PLAN.md` |
|
|
39
|
+
|
|
40
|
+
## XML Conventions
|
|
41
|
+
|
|
42
|
+
XML tags are semantic containers. Use Markdown headers for hierarchy within.
|
|
43
|
+
|
|
44
|
+
```xml
|
|
45
|
+
<!-- DO -->
|
|
46
|
+
<objective>
|
|
47
|
+
## Goal
|
|
48
|
+
Build authentication system
|
|
49
|
+
|
|
50
|
+
## Purpose
|
|
51
|
+
Enable secure user access
|
|
52
|
+
</objective>
|
|
53
|
+
|
|
54
|
+
<!-- DON'T -->
|
|
55
|
+
<section name="objective">
|
|
56
|
+
<subsection name="goal">
|
|
57
|
+
<content>Build authentication</content>
|
|
58
|
+
</subsection>
|
|
59
|
+
</section>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Semantic tags to use:**
|
|
63
|
+
- `<objective>`, `<context>`, `<tasks>`, `<boundaries>`, `<verification>`
|
|
64
|
+
- `<acceptance_criteria>`, `<success_criteria>`
|
|
65
|
+
- `<task>`, `<action>`, `<verify>`, `<done>`
|
|
66
|
+
- `<purpose>`, `<when_to_use>`, `<process>`, `<step>`
|
|
67
|
+
|
|
68
|
+
**Generic tags to avoid:**
|
|
69
|
+
- `<section>`, `<item>`, `<content>`, `<block>`
|
|
70
|
+
|
|
71
|
+
## @-References
|
|
72
|
+
|
|
73
|
+
@-references are lazy loading signals — instructions to read at execution time, not pre-loaded content.
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
# Static (always load)
|
|
77
|
+
@src/workflows/plan-phase.md
|
|
78
|
+
@src/templates/PLAN.md
|
|
79
|
+
|
|
80
|
+
# Project-relative (dynamic)
|
|
81
|
+
@.drive/PROJECT.md
|
|
82
|
+
@.drive/STATE.md
|
|
83
|
+
|
|
84
|
+
# Conditional
|
|
85
|
+
@.drive/DISCOVERY.md (if exists)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Loop Terminology
|
|
89
|
+
|
|
90
|
+
Drive uses explicit loop phase names:
|
|
91
|
+
|
|
92
|
+
| Phase | Purpose | Artifacts |
|
|
93
|
+
|-------|---------|-----------|
|
|
94
|
+
| PLAN | Define work, acceptance criteria | PLAN.md |
|
|
95
|
+
| APPLY | Execute approved plan | Code changes, APPLY-LOG |
|
|
96
|
+
| UNIFY | Reconcile plan vs actual | SUMMARY.md, STATE.md updates |
|
|
97
|
+
|
|
98
|
+
Always reference the current loop position when relevant.
|
|
99
|
+
|
|
100
|
+
## Acceptance Criteria Format
|
|
101
|
+
|
|
102
|
+
Use Given/When/Then (BDD) in `<acceptance_criteria>` sections:
|
|
103
|
+
|
|
104
|
+
```gherkin
|
|
105
|
+
Given [precondition / initial state]
|
|
106
|
+
When [action / trigger]
|
|
107
|
+
Then [expected outcome]
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Each criterion must be independently testable.
|
|
111
|
+
|
|
112
|
+
## Commit Format
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
{type}({phase}-{plan}): {description}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Types: `feat`, `fix`, `test`, `refactor`, `docs`, `chore`
|
|
119
|
+
|
|
120
|
+
Rules:
|
|
121
|
+
- One commit per task when practical
|
|
122
|
+
- Stage files individually (never `git add .`)
|
|
123
|
+
- Include `Co-Authored-By: Claude` line
|