@howlil/ez-agents 3.4.2 → 4.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/README.md +735 -462
- package/agents/ez-architect-agent.md +267 -0
- package/agents/ez-backend-agent.md +303 -0
- package/agents/ez-chief-strategist.md +271 -0
- package/agents/ez-codebase-mapper.md +770 -770
- package/agents/ez-context-manager.md +319 -0
- package/agents/ez-debugger.md +1255 -1255
- package/agents/ez-design-expert.md +347 -0
- package/agents/ez-devops-agent.md +331 -0
- package/agents/ez-executor.md +487 -487
- package/agents/ez-frontend-agent.md +322 -0
- package/agents/ez-phase-researcher.md +553 -553
- package/agents/ez-planner.md +1307 -1307
- package/agents/ez-product-engineer.md +435 -0
- package/agents/ez-project-researcher.md +629 -629
- package/agents/ez-qa-agent.md +320 -0
- package/agents/ez-release-agent.md +333 -0
- package/agents/ez-requirements-agent.md +377 -0
- package/agents/ez-roadmapper.md +650 -650
- package/agents/ez-technical-writer.md +551 -0
- package/agents/ez-ux-expert.md +393 -0
- package/agents/ez-verifier.md +579 -579
- package/bin/guards/autonomy-guard.cjs +346 -0
- package/bin/guards/context-budget-guard.cjs +278 -0
- package/bin/guards/hallucination-guard.cjs +380 -0
- package/bin/guards/hidden-state-guard.cjs +182 -0
- package/bin/guards/team-overhead-guard.cjs +266 -0
- package/bin/guards/tool-sprawl-guard.cjs +271 -0
- package/bin/install.js +3221 -3272
- package/bin/lib/analytics/analytics-collector.cjs +86 -0
- package/bin/lib/analytics/analytics-reporter.cjs +130 -0
- package/bin/lib/analytics/cohort-analyzer.cjs +138 -0
- package/bin/lib/analytics/funnel-analyzer.cjs +147 -0
- package/bin/lib/analytics/nps-tracker.cjs +147 -0
- package/bin/lib/archetype-detector.cjs +289 -0
- package/bin/lib/assistant-adapter.cjs +361 -0
- package/bin/lib/audit-exec.cjs +175 -0
- package/bin/lib/auth.cjs +176 -0
- package/bin/lib/backup-service.cjs +422 -0
- package/bin/lib/bdd-validator.cjs +622 -0
- package/bin/lib/business-flow-mapper.cjs +429 -0
- package/bin/lib/circuit-breaker.cjs +276 -0
- package/bin/lib/code-complexity-analyzer.cjs +360 -0
- package/bin/lib/codebase-analyzer.cjs +241 -0
- package/bin/lib/commands.cjs +691 -0
- package/bin/lib/config.cjs +236 -0
- package/bin/lib/constraint-extractor.cjs +526 -0
- package/bin/lib/content-scanner.cjs +238 -0
- package/bin/lib/context-cache.cjs +154 -0
- package/bin/lib/context-compressor.cjs +102 -0
- package/bin/lib/context-deduplicator.cjs +105 -0
- package/bin/lib/context-errors.cjs +78 -0
- package/bin/lib/context-manager.cjs +338 -0
- package/bin/lib/context-metadata-tracker.cjs +140 -0
- package/bin/lib/context-relevance-scorer.cjs +99 -0
- package/bin/lib/core.cjs +507 -0
- package/bin/lib/cost-alerts.cjs +174 -0
- package/bin/lib/cost-tracker.cjs +275 -0
- package/bin/lib/crash-recovery.cjs +220 -0
- package/bin/lib/dependency-graph.cjs +319 -0
- package/bin/lib/deploy/deploy-audit-log.cjs +76 -0
- package/bin/lib/deploy/deploy-detector.cjs +69 -0
- package/bin/lib/deploy/deploy-env-manager.cjs +109 -0
- package/bin/lib/deploy/deploy-health-check.cjs +88 -0
- package/bin/lib/deploy/deploy-pre-flight.cjs +57 -0
- package/bin/lib/deploy/deploy-rollback.cjs +72 -0
- package/bin/lib/deploy/deploy-runner.cjs +97 -0
- package/bin/lib/deploy/deploy-status.cjs +74 -0
- package/bin/lib/discussion-synthesizer.cjs +439 -0
- package/bin/lib/error-cache.cjs +114 -0
- package/bin/lib/error-registry.cjs +177 -0
- package/bin/lib/file-access.cjs +207 -0
- package/bin/lib/file-lock.cjs +236 -0
- package/bin/lib/finops/budget-enforcer.cjs +126 -0
- package/bin/lib/finops/cost-reporter.cjs +132 -0
- package/bin/lib/finops/finops-analyzer.cjs +112 -0
- package/bin/lib/finops/spot-manager.cjs +118 -0
- package/bin/lib/framework-detector.cjs +396 -0
- package/bin/lib/frontmatter.cjs +313 -0
- package/bin/lib/fs-utils.cjs +153 -0
- package/bin/lib/gate-executor.cjs +272 -0
- package/bin/lib/gates/README.md +374 -0
- package/bin/lib/gates/gate-01-requirement.cjs +303 -0
- package/bin/lib/gates/gate-02-architecture.cjs +555 -0
- package/bin/lib/gates/gate-03-code.cjs +635 -0
- package/bin/lib/gates/gate-04-security.cjs +829 -0
- package/bin/lib/git-errors.cjs +83 -0
- package/bin/lib/git-utils.cjs +321 -0
- package/bin/lib/git-workflow-engine.cjs +1157 -0
- package/bin/lib/health-check.cjs +227 -0
- package/bin/lib/index.cjs +279 -0
- package/bin/lib/init.cjs +725 -0
- package/bin/lib/lock-logger.cjs +194 -0
- package/bin/lib/lock-state.cjs +263 -0
- package/bin/lib/lockfile-validator.cjs +227 -0
- package/bin/lib/log-rotation.cjs +71 -0
- package/bin/lib/logger.cjs +125 -0
- package/bin/lib/memory-compression.cjs +256 -0
- package/bin/lib/milestone.cjs +247 -0
- package/bin/lib/model-provider.cjs +241 -0
- package/bin/lib/package-manager-detector.cjs +203 -0
- package/bin/lib/package-manager-executor.cjs +385 -0
- package/bin/lib/package-manager-service.cjs +216 -0
- package/bin/lib/perf/api-monitor.cjs +88 -0
- package/bin/lib/perf/db-optimizer.cjs +78 -0
- package/bin/lib/perf/frontend-performance.cjs +56 -0
- package/bin/lib/perf/perf-analyzer.cjs +77 -0
- package/bin/lib/perf/perf-baseline.cjs +102 -0
- package/bin/lib/perf/perf-reporter.cjs +117 -0
- package/bin/lib/perf/regression-detector.cjs +92 -0
- package/bin/lib/phase.cjs +963 -0
- package/bin/lib/planning-write.cjs +123 -0
- package/bin/lib/project-reporter.cjs +565 -0
- package/bin/lib/quality-gate.cjs +332 -0
- package/bin/lib/quality-metrics.cjs +324 -0
- package/bin/lib/recovery-manager.cjs +98 -0
- package/bin/lib/release-validator.cjs +617 -0
- package/bin/lib/retry.cjs +119 -0
- package/bin/lib/roadmap.cjs +309 -0
- package/bin/lib/safe-exec.cjs +173 -0
- package/bin/lib/safe-path.cjs +130 -0
- package/bin/lib/security-errors.cjs +62 -0
- package/bin/lib/session-chain.cjs +304 -0
- package/bin/lib/session-errors.cjs +81 -0
- package/bin/lib/session-export.cjs +251 -0
- package/bin/lib/session-import.cjs +262 -0
- package/bin/lib/session-manager.cjs +280 -0
- package/bin/lib/skill-context.cjs +148 -0
- package/bin/lib/skill-matcher.cjs +236 -0
- package/bin/lib/skill-registry.cjs +360 -0
- package/bin/lib/skill-resolver.cjs +449 -0
- package/bin/lib/skill-triggers.cjs +90 -0
- package/bin/lib/skill-validator.cjs +270 -0
- package/bin/lib/skill-versioning.cjs +355 -0
- package/bin/lib/stack-detector.cjs +399 -0
- package/bin/lib/state.cjs +736 -0
- package/bin/lib/tech-debt-analyzer.cjs +309 -0
- package/bin/lib/temp-file.cjs +239 -0
- package/bin/lib/template.cjs +223 -0
- package/bin/lib/test-file-lock.cjs +112 -0
- package/bin/lib/test-graceful.cjs +93 -0
- package/bin/lib/test-logger.cjs +60 -0
- package/bin/lib/test-safe-exec.cjs +38 -0
- package/bin/lib/test-safe-path.cjs +33 -0
- package/bin/lib/test-temp-file.cjs +125 -0
- package/bin/lib/tier-manager.cjs +428 -0
- package/bin/lib/timeout-exec.cjs +63 -0
- package/bin/lib/tradeoff-analyzer.cjs +284 -0
- package/bin/lib/url-fetch.cjs +170 -0
- package/bin/lib/verify.cjs +863 -0
- package/bin/update.js +217 -214
- package/commands/deploy.cjs +53 -0
- package/commands/ez/add-tests.md +41 -41
- package/commands/ez/audit-milestone.md +36 -36
- package/commands/ez/complete-milestone.md +136 -136
- package/commands/ez/discuss-phase.md +90 -90
- package/commands/ez/execute-phase.md +52 -41
- package/commands/ez/help.md +22 -22
- package/commands/ez/map-codebase.md +71 -71
- package/commands/ez/new-milestone.md +44 -44
- package/commands/ez/new-project.md +51 -42
- package/commands/ez/plan-phase.md +53 -45
- package/commands/ez/progress.md +36 -24
- package/commands/ez/quick.md +45 -45
- package/commands/ez/resume-work.md +40 -40
- package/commands/ez/run-phase.md +580 -0
- package/commands/ez/settings.md +36 -36
- package/commands/ez/update.md +37 -37
- package/commands/ez/verify-work.md +402 -38
- package/commands/health-check.cjs +44 -0
- package/commands/rollback.cjs +47 -0
- package/ez-agents/bin/ez-tools.cjs +1692 -716
- package/ez-agents/bin/guards/autonomy-guard.cjs +346 -0
- package/ez-agents/bin/guards/context-budget-guard.cjs +247 -0
- package/ez-agents/bin/guards/hallucination-guard.cjs +271 -0
- package/ez-agents/bin/guards/hidden-state-guard.cjs +182 -0
- package/ez-agents/bin/guards/team-overhead-guard.cjs +266 -0
- package/ez-agents/bin/guards/tool-sprawl-guard.cjs +271 -0
- package/ez-agents/bin/lib/analytics/analytics-collector.cjs +86 -0
- package/ez-agents/bin/lib/analytics/analytics-reporter.cjs +130 -0
- package/ez-agents/bin/lib/analytics/cohort-analyzer.cjs +138 -0
- package/ez-agents/bin/lib/analytics/funnel-analyzer.cjs +147 -0
- package/ez-agents/bin/lib/analytics/nps-tracker.cjs +147 -0
- package/ez-agents/bin/lib/archetype-detector.cjs +289 -0
- package/ez-agents/bin/lib/audit-exec.cjs +166 -167
- package/ez-agents/bin/lib/auth.cjs +176 -176
- package/ez-agents/bin/lib/backup-service.cjs +422 -0
- package/ez-agents/bin/lib/bdd-validator.cjs +622 -0
- package/ez-agents/bin/lib/business-flow-mapper.cjs +429 -0
- package/ez-agents/bin/lib/code-complexity-analyzer.cjs +360 -0
- package/ez-agents/bin/lib/codebase-analyzer.cjs +241 -0
- package/ez-agents/bin/lib/commands.cjs +685 -685
- package/ez-agents/bin/lib/config.cjs +41 -1
- package/ez-agents/bin/lib/constraint-extractor.cjs +526 -0
- package/ez-agents/bin/lib/content-scanner.cjs +238 -0
- package/ez-agents/bin/lib/context-cache.cjs +154 -0
- package/ez-agents/bin/lib/context-errors.cjs +71 -0
- package/ez-agents/bin/lib/context-manager.cjs +220 -0
- package/ez-agents/bin/lib/core.cjs +507 -512
- package/ez-agents/bin/lib/cost-tracker.cjs +243 -0
- package/ez-agents/bin/lib/crash-recovery.cjs +172 -0
- package/ez-agents/bin/lib/dependency-graph.cjs +319 -0
- package/ez-agents/bin/lib/deploy/deploy-audit-log.cjs +76 -0
- package/ez-agents/bin/lib/deploy/deploy-detector.cjs +69 -0
- package/ez-agents/bin/lib/deploy/deploy-env-manager.cjs +109 -0
- package/ez-agents/bin/lib/deploy/deploy-health-check.cjs +88 -0
- package/ez-agents/bin/lib/deploy/deploy-pre-flight.cjs +57 -0
- package/ez-agents/bin/lib/deploy/deploy-rollback.cjs +72 -0
- package/ez-agents/bin/lib/deploy/deploy-runner.cjs +97 -0
- package/ez-agents/bin/lib/deploy/deploy-status.cjs +74 -0
- package/ez-agents/bin/lib/discussion-synthesizer.cjs +458 -0
- package/ez-agents/bin/lib/file-access.cjs +207 -0
- package/ez-agents/bin/lib/finops/budget-enforcer.cjs +126 -0
- package/ez-agents/bin/lib/finops/cost-reporter.cjs +132 -0
- package/ez-agents/bin/lib/finops/finops-analyzer.cjs +112 -0
- package/ez-agents/bin/lib/finops/spot-manager.cjs +118 -0
- package/ez-agents/bin/lib/framework-detector.cjs +396 -0
- package/ez-agents/bin/lib/frontmatter.cjs +3 -1
- package/ez-agents/bin/lib/gates/README.md +374 -0
- package/ez-agents/bin/lib/gates/gate-01-requirement.cjs +303 -0
- package/ez-agents/bin/lib/gates/gate-02-architecture.cjs +555 -0
- package/ez-agents/bin/lib/gates/gate-03-code.cjs +635 -0
- package/ez-agents/bin/lib/gates/gate-04-security.cjs +829 -0
- package/ez-agents/bin/lib/git-errors.cjs +83 -0
- package/ez-agents/bin/lib/git-utils.cjs +118 -0
- package/ez-agents/bin/lib/git-workflow-engine.cjs +1157 -0
- package/ez-agents/bin/lib/health-check.cjs +162 -162
- package/ez-agents/bin/lib/index.cjs +40 -2
- package/ez-agents/bin/lib/init.cjs +0 -2
- package/ez-agents/bin/lib/lockfile-validator.cjs +227 -0
- package/ez-agents/bin/lib/log-rotation.cjs +71 -0
- package/ez-agents/bin/lib/logger.cjs +99 -154
- package/ez-agents/bin/lib/memory-compression.cjs +256 -0
- package/ez-agents/bin/lib/package-manager-detector.cjs +203 -0
- package/ez-agents/bin/lib/package-manager-executor.cjs +385 -0
- package/ez-agents/bin/lib/package-manager-service.cjs +216 -0
- package/ez-agents/bin/lib/perf/api-monitor.cjs +88 -0
- package/ez-agents/bin/lib/perf/db-optimizer.cjs +78 -0
- package/ez-agents/bin/lib/perf/frontend-performance.cjs +56 -0
- package/ez-agents/bin/lib/perf/perf-analyzer.cjs +77 -0
- package/ez-agents/bin/lib/perf/perf-baseline.cjs +102 -0
- package/ez-agents/bin/lib/perf/perf-reporter.cjs +117 -0
- package/ez-agents/bin/lib/perf/regression-detector.cjs +92 -0
- package/ez-agents/bin/lib/project-reporter.cjs +502 -0
- package/ez-agents/bin/lib/quality-gate.cjs +332 -0
- package/ez-agents/bin/lib/recovery-manager.cjs +98 -0
- package/ez-agents/bin/lib/release-validator.cjs +617 -0
- package/ez-agents/bin/lib/safe-exec.cjs +128 -214
- package/ez-agents/bin/lib/security-errors.cjs +62 -0
- package/ez-agents/bin/lib/session-chain.cjs +304 -0
- package/ez-agents/bin/lib/session-errors.cjs +81 -0
- package/ez-agents/bin/lib/session-export.cjs +251 -0
- package/ez-agents/bin/lib/session-import.cjs +262 -0
- package/ez-agents/bin/lib/session-manager.cjs +280 -0
- package/ez-agents/bin/lib/skill-context.cjs +148 -0
- package/ez-agents/bin/lib/skill-matcher.cjs +236 -0
- package/ez-agents/bin/lib/skill-registry.cjs +341 -0
- package/ez-agents/bin/lib/skill-resolver.cjs +449 -0
- package/ez-agents/bin/lib/skill-triggers.cjs +90 -0
- package/ez-agents/bin/lib/skill-validator.cjs +270 -0
- package/ez-agents/bin/lib/skill-versioning.cjs +355 -0
- package/ez-agents/bin/lib/stack-detector.cjs +399 -0
- package/ez-agents/bin/lib/tech-debt-analyzer.cjs +309 -0
- package/ez-agents/bin/lib/tier-manager.cjs +428 -0
- package/ez-agents/bin/lib/tradeoff-analyzer.cjs +284 -0
- package/ez-agents/bin/lib/url-fetch.cjs +170 -0
- package/ez-agents/bin/lib/verify.cjs +863 -863
- package/ez-agents/references/decimal-phase-calculation.md +65 -65
- package/ez-agents/references/git-integration.md +248 -248
- package/ez-agents/references/git-planning-commit.md +38 -38
- package/ez-agents/references/metrics-schema.md +118 -0
- package/ez-agents/references/model-profile-resolution.md +34 -34
- package/ez-agents/references/model-profiles.md +93 -93
- package/ez-agents/references/phase-argument-parsing.md +61 -61
- package/ez-agents/references/planning-config.md +340 -200
- package/ez-agents/references/tier-strategy.md +103 -0
- package/ez-agents/references/ui-brand.md +160 -160
- package/ez-agents/references/verification-patterns.md +612 -612
- package/ez-agents/templates/DEBUG.md +164 -164
- package/ez-agents/templates/UAT.md +247 -247
- package/ez-agents/templates/agent-output-format.md +404 -0
- package/ez-agents/templates/bdd-feature.md +173 -0
- package/ez-agents/templates/codebase/architecture.md +255 -255
- package/ez-agents/templates/codebase/structure.md +285 -285
- package/ez-agents/templates/copilot-instructions.md +7 -7
- package/ez-agents/templates/debug-subagent-prompt.md +91 -91
- package/ez-agents/templates/discovery.md +146 -146
- package/ez-agents/templates/discussion.md +68 -0
- package/ez-agents/templates/handoff-protocol.md +294 -0
- package/ez-agents/templates/incident-runbook.md +205 -0
- package/ez-agents/templates/mode-workflow-templates.md +301 -0
- package/ez-agents/templates/phase-prompt.md +610 -610
- package/ez-agents/templates/planner-subagent-prompt.md +117 -117
- package/ez-agents/templates/project.md +184 -184
- package/ez-agents/templates/release-checklist.md +136 -0
- package/ez-agents/templates/research.md +552 -552
- package/ez-agents/templates/rollback-plan.md +201 -0
- package/ez-agents/templates/security-user-setup.md +244 -0
- package/ez-agents/templates/skill-validation-rules.md +476 -0
- package/ez-agents/templates/state.md +180 -176
- package/ez-agents/templates/summary-complex.md +59 -59
- package/ez-agents/tests/gates/gate-01-02.test.cjs +812 -0
- package/ez-agents/tests/gates/gate-03-04.test.cjs +762 -0
- package/ez-agents/tests/gates/gate-05-validator.test.cjs +145 -0
- package/ez-agents/tests/gates/gate-06-docs-validator.test.cjs +244 -0
- package/ez-agents/tests/gates/gate-07-release-validator.test.cjs +219 -0
- package/ez-agents/tests/guards/context-budget-guard.test.cjs +145 -0
- package/ez-agents/tests/guards/edge-case-guards.test.cjs +238 -0
- package/ez-agents/tests/guards/hallucination-guard.test.cjs +124 -0
- package/ez-agents/workflows/audit-milestone.md +1 -1
- package/ez-agents/workflows/autonomous.md +131 -30
- package/ez-agents/workflows/complete-milestone.md +1 -1
- package/ez-agents/workflows/discuss-phase.md +1 -1
- package/ez-agents/workflows/execute-phase.md +169 -3
- package/ez-agents/workflows/help.md +86 -133
- package/ez-agents/workflows/hotfix.md +291 -0
- package/ez-agents/workflows/new-milestone.md +340 -11
- package/ez-agents/workflows/new-project.md +294 -318
- package/ez-agents/workflows/plan-phase.md +22 -40
- package/ez-agents/workflows/progress.md +15 -25
- package/ez-agents/workflows/release.md +253 -0
- package/ez-agents/workflows/resume-session.md +215 -0
- package/ez-agents/workflows/run-phase.md +531 -0
- package/ez-agents/workflows/settings.md +2 -35
- package/hooks/dist/ez-check-update.js +81 -81
- package/hooks/dist/ez-context-monitor.js +148 -141
- package/hooks/dist/ez-statusline.js +115 -115
- package/package.json +78 -64
- package/scripts/fix-qwen-installation.js +144 -144
- package/agents/ez-integration-checker.md +0 -443
- package/agents/ez-nyquist-auditor.md +0 -176
- package/agents/ez-plan-checker.md +0 -706
- package/agents/ez-research-synthesizer.md +0 -247
- package/agents/ez-ui-auditor.md +0 -439
- package/agents/ez-ui-checker.md +0 -300
- package/agents/ez-ui-researcher.md +0 -353
- package/commands/ez/add-phase.md +0 -43
- package/commands/ez/add-todo.md +0 -47
- package/commands/ez/auth.md +0 -87
- package/commands/ez/autonomous.md +0 -41
- package/commands/ez/check-todos.md +0 -45
- package/commands/ez/cleanup.md +0 -18
- package/commands/ez/debug.md +0 -168
- package/commands/ez/health.md +0 -22
- package/commands/ez/insert-phase.md +0 -32
- package/commands/ez/join-discord.md +0 -18
- package/commands/ez/list-phase-assumptions.md +0 -46
- package/commands/ez/pause-work.md +0 -38
- package/commands/ez/plan-milestone-gaps.md +0 -34
- package/commands/ez/reapply-patches.md +0 -124
- package/commands/ez/remove-phase.md +0 -31
- package/commands/ez/research-phase.md +0 -190
- package/commands/ez/set-profile.md +0 -34
- package/commands/ez/stats.md +0 -18
- package/commands/ez/ui-phase.md +0 -34
- package/commands/ez/ui-review.md +0 -32
- package/commands/ez/validate-phase.md +0 -35
- package/ez-agents/templates/UI-SPEC.md +0 -100
- package/ez-agents/templates/VALIDATION.md +0 -76
- package/ez-agents/templates/context.md +0 -352
- package/ez-agents/templates/verification-report.md +0 -322
- package/ez-agents/workflows/research-phase.md +0 -74
- package/ez-agents/workflows/ui-phase.md +0 -290
- package/ez-agents/workflows/ui-review.md +0 -157
- package/ez-agents/workflows/validate-phase.md +0 -167
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
# Decimal Phase Calculation
|
|
2
|
-
|
|
3
|
-
Calculate the next decimal phase number for urgent insertions.
|
|
4
|
-
|
|
5
|
-
## Using ez-tools
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# Get next decimal phase after phase 6
|
|
9
|
-
node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" phase next-decimal 6
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
Output:
|
|
13
|
-
```json
|
|
14
|
-
{
|
|
15
|
-
"found": true,
|
|
16
|
-
"base_phase": "06",
|
|
17
|
-
"next": "06.1",
|
|
18
|
-
"existing": []
|
|
19
|
-
}
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
With existing decimals:
|
|
23
|
-
```json
|
|
24
|
-
{
|
|
25
|
-
"found": true,
|
|
26
|
-
"base_phase": "06",
|
|
27
|
-
"next": "06.3",
|
|
28
|
-
"existing": ["06.1", "06.2"]
|
|
29
|
-
}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Extract Values
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
DECIMAL_INFO=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" phase next-decimal "${AFTER_PHASE}")
|
|
36
|
-
DECIMAL_PHASE=$(printf '%s\n' "$DECIMAL_INFO" | jq -r '.next')
|
|
37
|
-
BASE_PHASE=$(printf '%s\n' "$DECIMAL_INFO" | jq -r '.base_phase')
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Or with --raw flag:
|
|
41
|
-
```bash
|
|
42
|
-
DECIMAL_PHASE=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" phase next-decimal "${AFTER_PHASE}" --raw)
|
|
43
|
-
# Returns just: 06.1
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Examples
|
|
47
|
-
|
|
48
|
-
| Existing Phases | Next Phase |
|
|
49
|
-
|-----------------|------------|
|
|
50
|
-
| 06 only | 06.1 |
|
|
51
|
-
| 06, 06.1 | 06.2 |
|
|
52
|
-
| 06, 06.1, 06.2 | 06.3 |
|
|
53
|
-
| 06, 06.1, 06.3 (gap) | 06.4 |
|
|
54
|
-
|
|
55
|
-
## Directory Naming
|
|
56
|
-
|
|
57
|
-
Decimal phase directories use the full decimal number:
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
SLUG=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" generate-slug "$DESCRIPTION" --raw)
|
|
61
|
-
PHASE_DIR=".planning/phases/${DECIMAL_PHASE}-${SLUG}"
|
|
62
|
-
mkdir -p "$PHASE_DIR"
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Example: `.planning/phases/06.1-fix-critical-auth-bug/`
|
|
1
|
+
# Decimal Phase Calculation
|
|
2
|
+
|
|
3
|
+
Calculate the next decimal phase number for urgent insertions.
|
|
4
|
+
|
|
5
|
+
## Using ez-tools
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Get next decimal phase after phase 6
|
|
9
|
+
node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" phase next-decimal 6
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Output:
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"found": true,
|
|
16
|
+
"base_phase": "06",
|
|
17
|
+
"next": "06.1",
|
|
18
|
+
"existing": []
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
With existing decimals:
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"found": true,
|
|
26
|
+
"base_phase": "06",
|
|
27
|
+
"next": "06.3",
|
|
28
|
+
"existing": ["06.1", "06.2"]
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Extract Values
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
DECIMAL_INFO=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" phase next-decimal "${AFTER_PHASE}")
|
|
36
|
+
DECIMAL_PHASE=$(printf '%s\n' "$DECIMAL_INFO" | jq -r '.next')
|
|
37
|
+
BASE_PHASE=$(printf '%s\n' "$DECIMAL_INFO" | jq -r '.base_phase')
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Or with --raw flag:
|
|
41
|
+
```bash
|
|
42
|
+
DECIMAL_PHASE=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" phase next-decimal "${AFTER_PHASE}" --raw)
|
|
43
|
+
# Returns just: 06.1
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Examples
|
|
47
|
+
|
|
48
|
+
| Existing Phases | Next Phase |
|
|
49
|
+
|-----------------|------------|
|
|
50
|
+
| 06 only | 06.1 |
|
|
51
|
+
| 06, 06.1 | 06.2 |
|
|
52
|
+
| 06, 06.1, 06.2 | 06.3 |
|
|
53
|
+
| 06, 06.1, 06.3 (gap) | 06.4 |
|
|
54
|
+
|
|
55
|
+
## Directory Naming
|
|
56
|
+
|
|
57
|
+
Decimal phase directories use the full decimal number:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
SLUG=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" generate-slug "$DESCRIPTION" --raw)
|
|
61
|
+
PHASE_DIR=".planning/phases/${DECIMAL_PHASE}-${SLUG}"
|
|
62
|
+
mkdir -p "$PHASE_DIR"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Example: `.planning/phases/06.1-fix-critical-auth-bug/`
|
|
@@ -1,248 +1,248 @@
|
|
|
1
|
-
<overview>
|
|
2
|
-
Git integration for EZ Agents framework.
|
|
3
|
-
</overview>
|
|
4
|
-
|
|
5
|
-
<core_principle>
|
|
6
|
-
|
|
7
|
-
**Commit outcomes, not process.**
|
|
8
|
-
|
|
9
|
-
The git log should read like a changelog of what shipped, not a diary of planning activity.
|
|
10
|
-
</core_principle>
|
|
11
|
-
|
|
12
|
-
<commit_points>
|
|
13
|
-
|
|
14
|
-
| Event | Commit? | Why |
|
|
15
|
-
| ----------------------- | ------- | ------------------------------------------------ |
|
|
16
|
-
| BRIEF + ROADMAP created | YES | Project initialization |
|
|
17
|
-
| PLAN.md created | NO | Intermediate - commit with plan completion |
|
|
18
|
-
| RESEARCH.md created | NO | Intermediate |
|
|
19
|
-
| DISCOVERY.md created | NO | Intermediate |
|
|
20
|
-
| **Task completed** | YES | Atomic unit of work (1 commit per task) |
|
|
21
|
-
| **Plan completed** | YES | Metadata commit (SUMMARY + STATE + ROADMAP) |
|
|
22
|
-
| Handoff created | YES | WIP state preserved |
|
|
23
|
-
|
|
24
|
-
</commit_points>
|
|
25
|
-
|
|
26
|
-
<git_check>
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
[ -d .git ] && echo "GIT_EXISTS" || echo "NO_GIT"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
If NO_GIT: Run `git init` silently. EZ Agents projects always get their own repo.
|
|
33
|
-
</git_check>
|
|
34
|
-
|
|
35
|
-
<commit_formats>
|
|
36
|
-
|
|
37
|
-
<format name="initialization">
|
|
38
|
-
## Project Initialization (brief + roadmap together)
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
docs: initialize [project-name] ([N] phases)
|
|
42
|
-
|
|
43
|
-
[One-liner from PROJECT.md]
|
|
44
|
-
|
|
45
|
-
Phases:
|
|
46
|
-
1. [phase-name]: [goal]
|
|
47
|
-
2. [phase-name]: [goal]
|
|
48
|
-
3. [phase-name]: [goal]
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
What to commit:
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "docs: initialize [project-name] ([N] phases)" --files .planning/
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
</format>
|
|
58
|
-
|
|
59
|
-
<format name="task-completion">
|
|
60
|
-
## Task Completion (During Plan Execution)
|
|
61
|
-
|
|
62
|
-
Each task gets its own commit immediately after completion.
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
{type}({phase}-{plan}): {task-name}
|
|
66
|
-
|
|
67
|
-
- [Key change 1]
|
|
68
|
-
- [Key change 2]
|
|
69
|
-
- [Key change 3]
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
**Commit types:**
|
|
73
|
-
- `feat` - New feature/functionality
|
|
74
|
-
- `fix` - Bug fix
|
|
75
|
-
- `test` - Test-only (TDD RED phase)
|
|
76
|
-
- `refactor` - Code cleanup (TDD REFACTOR phase)
|
|
77
|
-
- `perf` - Performance improvement
|
|
78
|
-
- `chore` - Dependencies, config, tooling
|
|
79
|
-
|
|
80
|
-
**Examples:**
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
# Standard task
|
|
84
|
-
git add src/api/auth.ts src/types/user.ts
|
|
85
|
-
git commit -m "feat(08-02): create user registration endpoint
|
|
86
|
-
|
|
87
|
-
- POST /auth/register validates email and password
|
|
88
|
-
- Checks for duplicate users
|
|
89
|
-
- Returns JWT token on success
|
|
90
|
-
"
|
|
91
|
-
|
|
92
|
-
# TDD task - RED phase
|
|
93
|
-
git add src/__tests__/jwt.test.ts
|
|
94
|
-
git commit -m "test(07-02): add failing test for JWT generation
|
|
95
|
-
|
|
96
|
-
- Tests token contains user ID claim
|
|
97
|
-
- Tests token expires in 1 hour
|
|
98
|
-
- Tests signature verification
|
|
99
|
-
"
|
|
100
|
-
|
|
101
|
-
# TDD task - GREEN phase
|
|
102
|
-
git add src/utils/jwt.ts
|
|
103
|
-
git commit -m "feat(07-02): implement JWT generation
|
|
104
|
-
|
|
105
|
-
- Uses jose library for signing
|
|
106
|
-
- Includes user ID and expiry claims
|
|
107
|
-
- Signs with HS256 algorithm
|
|
108
|
-
"
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
</format>
|
|
112
|
-
|
|
113
|
-
<format name="plan-completion">
|
|
114
|
-
## Plan Completion (After All Tasks Done)
|
|
115
|
-
|
|
116
|
-
After all tasks committed, one final metadata commit captures plan completion.
|
|
117
|
-
|
|
118
|
-
```
|
|
119
|
-
docs({phase}-{plan}): complete [plan-name] plan
|
|
120
|
-
|
|
121
|
-
Tasks completed: [N]/[N]
|
|
122
|
-
- [Task 1 name]
|
|
123
|
-
- [Task 2 name]
|
|
124
|
-
- [Task 3 name]
|
|
125
|
-
|
|
126
|
-
SUMMARY: .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
What to commit:
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-PLAN.md .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md .planning/ROADMAP.md
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
**Note:** Code files NOT included - already committed per-task.
|
|
136
|
-
|
|
137
|
-
</format>
|
|
138
|
-
|
|
139
|
-
<format name="handoff">
|
|
140
|
-
## Handoff (WIP)
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
wip: [phase-name] paused at task [X]/[Y]
|
|
144
|
-
|
|
145
|
-
Current: [task name]
|
|
146
|
-
[If blocked:] Blocked: [reason]
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
What to commit:
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "wip: [phase-name] paused at task [X]/[Y]" --files .planning/
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
</format>
|
|
156
|
-
</commit_formats>
|
|
157
|
-
|
|
158
|
-
<example_log>
|
|
159
|
-
|
|
160
|
-
**Old approach (per-plan commits):**
|
|
161
|
-
```
|
|
162
|
-
a7f2d1 feat(checkout): Stripe payments with webhook verification
|
|
163
|
-
3e9c4b feat(products): catalog with search, filters, and pagination
|
|
164
|
-
8a1b2c feat(auth): JWT with refresh rotation using jose
|
|
165
|
-
5c3d7e feat(foundation): Next.js 15 + Prisma + Tailwind scaffold
|
|
166
|
-
2f4a8d docs: initialize ecommerce-app (5 phases)
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
**New approach (per-task commits):**
|
|
170
|
-
```
|
|
171
|
-
# Phase 04 - Checkout
|
|
172
|
-
1a2b3c docs(04-01): complete checkout flow plan
|
|
173
|
-
4d5e6f feat(04-01): add webhook signature verification
|
|
174
|
-
7g8h9i feat(04-01): implement payment session creation
|
|
175
|
-
0j1k2l feat(04-01): create checkout page component
|
|
176
|
-
|
|
177
|
-
# Phase 03 - Products
|
|
178
|
-
3m4n5o docs(03-02): complete product listing plan
|
|
179
|
-
6p7q8r feat(03-02): add pagination controls
|
|
180
|
-
9s0t1u feat(03-02): implement search and filters
|
|
181
|
-
2v3w4x feat(03-01): create product catalog schema
|
|
182
|
-
|
|
183
|
-
# Phase 02 - Auth
|
|
184
|
-
5y6z7a docs(02-02): complete token refresh plan
|
|
185
|
-
8b9c0d feat(02-02): implement refresh token rotation
|
|
186
|
-
1e2f3g test(02-02): add failing test for token refresh
|
|
187
|
-
4h5i6j docs(02-01): complete JWT setup plan
|
|
188
|
-
7k8l9m feat(02-01): add JWT generation and validation
|
|
189
|
-
0n1o2p chore(02-01): install jose library
|
|
190
|
-
|
|
191
|
-
# Phase 01 - Foundation
|
|
192
|
-
3q4r5s docs(01-01): complete scaffold plan
|
|
193
|
-
6t7u8v feat(01-01): configure Tailwind and globals
|
|
194
|
-
9w0x1y feat(01-01): set up Prisma with database
|
|
195
|
-
2z3a4b feat(01-01): create Next.js 15 project
|
|
196
|
-
|
|
197
|
-
# Initialization
|
|
198
|
-
5c6d7e docs: initialize ecommerce-app (5 phases)
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
Each plan produces 2-4 commits (tasks + metadata). Clear, granular, bisectable.
|
|
202
|
-
|
|
203
|
-
</example_log>
|
|
204
|
-
|
|
205
|
-
<anti_patterns>
|
|
206
|
-
|
|
207
|
-
**Still don't commit (intermediate artifacts):**
|
|
208
|
-
- PLAN.md creation (commit with plan completion)
|
|
209
|
-
- RESEARCH.md (intermediate)
|
|
210
|
-
- DISCOVERY.md (intermediate)
|
|
211
|
-
- Minor planning tweaks
|
|
212
|
-
- "Fixed typo in roadmap"
|
|
213
|
-
|
|
214
|
-
**Do commit (outcomes):**
|
|
215
|
-
- Each task completion (feat/fix/test/refactor)
|
|
216
|
-
- Plan completion metadata (docs)
|
|
217
|
-
- Project initialization (docs)
|
|
218
|
-
|
|
219
|
-
**Key principle:** Commit working code and shipped outcomes, not planning process.
|
|
220
|
-
|
|
221
|
-
</anti_patterns>
|
|
222
|
-
|
|
223
|
-
<commit_strategy_rationale>
|
|
224
|
-
|
|
225
|
-
## Why Per-Task Commits?
|
|
226
|
-
|
|
227
|
-
**Context engineering for AI:**
|
|
228
|
-
- Git history becomes primary context source for future Claude sessions
|
|
229
|
-
- `git log --grep="{phase}-{plan}"` shows all work for a plan
|
|
230
|
-
- `git diff <hash>^..<hash>` shows exact changes per task
|
|
231
|
-
- Less reliance on parsing SUMMARY.md = more context for actual work
|
|
232
|
-
|
|
233
|
-
**Failure recovery:**
|
|
234
|
-
- Task 1 committed ✅, Task 2 failed ❌
|
|
235
|
-
- Claude in next session: sees task 1 complete, can retry task 2
|
|
236
|
-
- Can `git reset --hard` to last successful task
|
|
237
|
-
|
|
238
|
-
**Debugging:**
|
|
239
|
-
- `git bisect` finds exact failing task, not just failing plan
|
|
240
|
-
- `git blame` traces line to specific task context
|
|
241
|
-
- Each commit is independently revertable
|
|
242
|
-
|
|
243
|
-
**Observability:**
|
|
244
|
-
- Solo developer + Claude workflow benefits from granular attribution
|
|
245
|
-
- Atomic commits are git best practice
|
|
246
|
-
- "Commit noise" irrelevant when consumer is Claude, not humans
|
|
247
|
-
|
|
248
|
-
</commit_strategy_rationale>
|
|
1
|
+
<overview>
|
|
2
|
+
Git integration for EZ Agents framework.
|
|
3
|
+
</overview>
|
|
4
|
+
|
|
5
|
+
<core_principle>
|
|
6
|
+
|
|
7
|
+
**Commit outcomes, not process.**
|
|
8
|
+
|
|
9
|
+
The git log should read like a changelog of what shipped, not a diary of planning activity.
|
|
10
|
+
</core_principle>
|
|
11
|
+
|
|
12
|
+
<commit_points>
|
|
13
|
+
|
|
14
|
+
| Event | Commit? | Why |
|
|
15
|
+
| ----------------------- | ------- | ------------------------------------------------ |
|
|
16
|
+
| BRIEF + ROADMAP created | YES | Project initialization |
|
|
17
|
+
| PLAN.md created | NO | Intermediate - commit with plan completion |
|
|
18
|
+
| RESEARCH.md created | NO | Intermediate |
|
|
19
|
+
| DISCOVERY.md created | NO | Intermediate |
|
|
20
|
+
| **Task completed** | YES | Atomic unit of work (1 commit per task) |
|
|
21
|
+
| **Plan completed** | YES | Metadata commit (SUMMARY + STATE + ROADMAP) |
|
|
22
|
+
| Handoff created | YES | WIP state preserved |
|
|
23
|
+
|
|
24
|
+
</commit_points>
|
|
25
|
+
|
|
26
|
+
<git_check>
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
[ -d .git ] && echo "GIT_EXISTS" || echo "NO_GIT"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
If NO_GIT: Run `git init` silently. EZ Agents projects always get their own repo.
|
|
33
|
+
</git_check>
|
|
34
|
+
|
|
35
|
+
<commit_formats>
|
|
36
|
+
|
|
37
|
+
<format name="initialization">
|
|
38
|
+
## Project Initialization (brief + roadmap together)
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
docs: initialize [project-name] ([N] phases)
|
|
42
|
+
|
|
43
|
+
[One-liner from PROJECT.md]
|
|
44
|
+
|
|
45
|
+
Phases:
|
|
46
|
+
1. [phase-name]: [goal]
|
|
47
|
+
2. [phase-name]: [goal]
|
|
48
|
+
3. [phase-name]: [goal]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
What to commit:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "docs: initialize [project-name] ([N] phases)" --files .planning/
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
</format>
|
|
58
|
+
|
|
59
|
+
<format name="task-completion">
|
|
60
|
+
## Task Completion (During Plan Execution)
|
|
61
|
+
|
|
62
|
+
Each task gets its own commit immediately after completion.
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
{type}({phase}-{plan}): {task-name}
|
|
66
|
+
|
|
67
|
+
- [Key change 1]
|
|
68
|
+
- [Key change 2]
|
|
69
|
+
- [Key change 3]
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Commit types:**
|
|
73
|
+
- `feat` - New feature/functionality
|
|
74
|
+
- `fix` - Bug fix
|
|
75
|
+
- `test` - Test-only (TDD RED phase)
|
|
76
|
+
- `refactor` - Code cleanup (TDD REFACTOR phase)
|
|
77
|
+
- `perf` - Performance improvement
|
|
78
|
+
- `chore` - Dependencies, config, tooling
|
|
79
|
+
|
|
80
|
+
**Examples:**
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Standard task
|
|
84
|
+
git add src/api/auth.ts src/types/user.ts
|
|
85
|
+
git commit -m "feat(08-02): create user registration endpoint
|
|
86
|
+
|
|
87
|
+
- POST /auth/register validates email and password
|
|
88
|
+
- Checks for duplicate users
|
|
89
|
+
- Returns JWT token on success
|
|
90
|
+
"
|
|
91
|
+
|
|
92
|
+
# TDD task - RED phase
|
|
93
|
+
git add src/__tests__/jwt.test.ts
|
|
94
|
+
git commit -m "test(07-02): add failing test for JWT generation
|
|
95
|
+
|
|
96
|
+
- Tests token contains user ID claim
|
|
97
|
+
- Tests token expires in 1 hour
|
|
98
|
+
- Tests signature verification
|
|
99
|
+
"
|
|
100
|
+
|
|
101
|
+
# TDD task - GREEN phase
|
|
102
|
+
git add src/utils/jwt.ts
|
|
103
|
+
git commit -m "feat(07-02): implement JWT generation
|
|
104
|
+
|
|
105
|
+
- Uses jose library for signing
|
|
106
|
+
- Includes user ID and expiry claims
|
|
107
|
+
- Signs with HS256 algorithm
|
|
108
|
+
"
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
</format>
|
|
112
|
+
|
|
113
|
+
<format name="plan-completion">
|
|
114
|
+
## Plan Completion (After All Tasks Done)
|
|
115
|
+
|
|
116
|
+
After all tasks committed, one final metadata commit captures plan completion.
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
docs({phase}-{plan}): complete [plan-name] plan
|
|
120
|
+
|
|
121
|
+
Tasks completed: [N]/[N]
|
|
122
|
+
- [Task 1 name]
|
|
123
|
+
- [Task 2 name]
|
|
124
|
+
- [Task 3 name]
|
|
125
|
+
|
|
126
|
+
SUMMARY: .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
What to commit:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-PLAN.md .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md .planning/ROADMAP.md
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**Note:** Code files NOT included - already committed per-task.
|
|
136
|
+
|
|
137
|
+
</format>
|
|
138
|
+
|
|
139
|
+
<format name="handoff">
|
|
140
|
+
## Handoff (WIP)
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
wip: [phase-name] paused at task [X]/[Y]
|
|
144
|
+
|
|
145
|
+
Current: [task name]
|
|
146
|
+
[If blocked:] Blocked: [reason]
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
What to commit:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "wip: [phase-name] paused at task [X]/[Y]" --files .planning/
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
</format>
|
|
156
|
+
</commit_formats>
|
|
157
|
+
|
|
158
|
+
<example_log>
|
|
159
|
+
|
|
160
|
+
**Old approach (per-plan commits):**
|
|
161
|
+
```
|
|
162
|
+
a7f2d1 feat(checkout): Stripe payments with webhook verification
|
|
163
|
+
3e9c4b feat(products): catalog with search, filters, and pagination
|
|
164
|
+
8a1b2c feat(auth): JWT with refresh rotation using jose
|
|
165
|
+
5c3d7e feat(foundation): Next.js 15 + Prisma + Tailwind scaffold
|
|
166
|
+
2f4a8d docs: initialize ecommerce-app (5 phases)
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**New approach (per-task commits):**
|
|
170
|
+
```
|
|
171
|
+
# Phase 04 - Checkout
|
|
172
|
+
1a2b3c docs(04-01): complete checkout flow plan
|
|
173
|
+
4d5e6f feat(04-01): add webhook signature verification
|
|
174
|
+
7g8h9i feat(04-01): implement payment session creation
|
|
175
|
+
0j1k2l feat(04-01): create checkout page component
|
|
176
|
+
|
|
177
|
+
# Phase 03 - Products
|
|
178
|
+
3m4n5o docs(03-02): complete product listing plan
|
|
179
|
+
6p7q8r feat(03-02): add pagination controls
|
|
180
|
+
9s0t1u feat(03-02): implement search and filters
|
|
181
|
+
2v3w4x feat(03-01): create product catalog schema
|
|
182
|
+
|
|
183
|
+
# Phase 02 - Auth
|
|
184
|
+
5y6z7a docs(02-02): complete token refresh plan
|
|
185
|
+
8b9c0d feat(02-02): implement refresh token rotation
|
|
186
|
+
1e2f3g test(02-02): add failing test for token refresh
|
|
187
|
+
4h5i6j docs(02-01): complete JWT setup plan
|
|
188
|
+
7k8l9m feat(02-01): add JWT generation and validation
|
|
189
|
+
0n1o2p chore(02-01): install jose library
|
|
190
|
+
|
|
191
|
+
# Phase 01 - Foundation
|
|
192
|
+
3q4r5s docs(01-01): complete scaffold plan
|
|
193
|
+
6t7u8v feat(01-01): configure Tailwind and globals
|
|
194
|
+
9w0x1y feat(01-01): set up Prisma with database
|
|
195
|
+
2z3a4b feat(01-01): create Next.js 15 project
|
|
196
|
+
|
|
197
|
+
# Initialization
|
|
198
|
+
5c6d7e docs: initialize ecommerce-app (5 phases)
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Each plan produces 2-4 commits (tasks + metadata). Clear, granular, bisectable.
|
|
202
|
+
|
|
203
|
+
</example_log>
|
|
204
|
+
|
|
205
|
+
<anti_patterns>
|
|
206
|
+
|
|
207
|
+
**Still don't commit (intermediate artifacts):**
|
|
208
|
+
- PLAN.md creation (commit with plan completion)
|
|
209
|
+
- RESEARCH.md (intermediate)
|
|
210
|
+
- DISCOVERY.md (intermediate)
|
|
211
|
+
- Minor planning tweaks
|
|
212
|
+
- "Fixed typo in roadmap"
|
|
213
|
+
|
|
214
|
+
**Do commit (outcomes):**
|
|
215
|
+
- Each task completion (feat/fix/test/refactor)
|
|
216
|
+
- Plan completion metadata (docs)
|
|
217
|
+
- Project initialization (docs)
|
|
218
|
+
|
|
219
|
+
**Key principle:** Commit working code and shipped outcomes, not planning process.
|
|
220
|
+
|
|
221
|
+
</anti_patterns>
|
|
222
|
+
|
|
223
|
+
<commit_strategy_rationale>
|
|
224
|
+
|
|
225
|
+
## Why Per-Task Commits?
|
|
226
|
+
|
|
227
|
+
**Context engineering for AI:**
|
|
228
|
+
- Git history becomes primary context source for future Claude sessions
|
|
229
|
+
- `git log --grep="{phase}-{plan}"` shows all work for a plan
|
|
230
|
+
- `git diff <hash>^..<hash>` shows exact changes per task
|
|
231
|
+
- Less reliance on parsing SUMMARY.md = more context for actual work
|
|
232
|
+
|
|
233
|
+
**Failure recovery:**
|
|
234
|
+
- Task 1 committed ✅, Task 2 failed ❌
|
|
235
|
+
- Claude in next session: sees task 1 complete, can retry task 2
|
|
236
|
+
- Can `git reset --hard` to last successful task
|
|
237
|
+
|
|
238
|
+
**Debugging:**
|
|
239
|
+
- `git bisect` finds exact failing task, not just failing plan
|
|
240
|
+
- `git blame` traces line to specific task context
|
|
241
|
+
- Each commit is independently revertable
|
|
242
|
+
|
|
243
|
+
**Observability:**
|
|
244
|
+
- Solo developer + Claude workflow benefits from granular attribution
|
|
245
|
+
- Atomic commits are git best practice
|
|
246
|
+
- "Commit noise" irrelevant when consumer is Claude, not humans
|
|
247
|
+
|
|
248
|
+
</commit_strategy_rationale>
|