@howlil/ez-agents 3.4.1 → 3.4.2
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/LICENSE +21 -21
- package/README.md +7 -18
- package/bin/install.js +52 -10
- package/commands/ez/join-discord.md +18 -18
- package/ez-agents/bin/lib/assistant-adapter.cjs +264 -264
- package/ez-agents/bin/lib/audit-exec.cjs +7 -2
- package/ez-agents/bin/lib/circuit-breaker.cjs +118 -118
- package/ez-agents/bin/lib/config.cjs +190 -190
- package/ez-agents/bin/lib/file-lock.cjs +236 -236
- package/ez-agents/bin/lib/frontmatter.cjs +299 -299
- package/ez-agents/bin/lib/fs-utils.cjs +153 -153
- package/ez-agents/bin/lib/git-utils.cjs +203 -203
- package/ez-agents/bin/lib/index.cjs +113 -113
- package/ez-agents/bin/lib/init.cjs +757 -757
- package/ez-agents/bin/lib/logger.cjs +47 -17
- package/ez-agents/bin/lib/milestone.cjs +241 -241
- package/ez-agents/bin/lib/model-provider.cjs +241 -241
- package/ez-agents/bin/lib/phase.cjs +925 -925
- package/ez-agents/bin/lib/planning-write.cjs +107 -107
- package/ez-agents/bin/lib/retry.cjs +119 -119
- package/ez-agents/bin/lib/roadmap.cjs +306 -306
- package/ez-agents/bin/lib/safe-exec.cjs +90 -4
- package/ez-agents/bin/lib/safe-path.cjs +130 -130
- package/ez-agents/bin/lib/state.cjs +736 -736
- package/ez-agents/bin/lib/temp-file.cjs +239 -239
- package/ez-agents/bin/lib/template.cjs +223 -223
- package/ez-agents/bin/lib/test-file-lock.cjs +112 -112
- package/ez-agents/bin/lib/test-graceful.cjs +93 -93
- package/ez-agents/bin/lib/test-logger.cjs +60 -60
- package/ez-agents/bin/lib/test-safe-exec.cjs +38 -38
- package/ez-agents/bin/lib/test-safe-path.cjs +33 -33
- package/ez-agents/bin/lib/test-temp-file.cjs +125 -125
- package/ez-agents/bin/lib/timeout-exec.cjs +63 -63
- package/ez-agents/bin/lib/verify.cjs +15 -1
- package/ez-agents/references/checkpoints.md +776 -776
- package/ez-agents/references/continuation-format.md +249 -249
- package/ez-agents/references/questioning.md +162 -162
- package/ez-agents/references/tdd.md +263 -263
- package/ez-agents/templates/codebase/concerns.md +310 -310
- package/ez-agents/templates/codebase/conventions.md +307 -307
- package/ez-agents/templates/codebase/integrations.md +280 -280
- package/ez-agents/templates/codebase/stack.md +186 -186
- package/ez-agents/templates/codebase/testing.md +480 -480
- package/ez-agents/templates/config.json +37 -37
- package/ez-agents/templates/continue-here.md +78 -78
- package/ez-agents/templates/milestone-archive.md +123 -123
- package/ez-agents/templates/milestone.md +115 -115
- package/ez-agents/templates/requirements.md +231 -231
- package/ez-agents/templates/research-project/ARCHITECTURE.md +204 -204
- package/ez-agents/templates/research-project/FEATURES.md +147 -147
- package/ez-agents/templates/research-project/PITFALLS.md +200 -200
- package/ez-agents/templates/research-project/STACK.md +120 -120
- package/ez-agents/templates/research-project/SUMMARY.md +170 -170
- package/ez-agents/templates/retrospective.md +54 -54
- package/ez-agents/templates/roadmap.md +202 -202
- package/ez-agents/templates/summary-minimal.md +41 -41
- package/ez-agents/templates/summary-standard.md +48 -48
- package/ez-agents/templates/summary.md +248 -248
- package/ez-agents/templates/user-setup.md +311 -311
- package/ez-agents/templates/verification-report.md +322 -322
- package/ez-agents/workflows/add-phase.md +112 -112
- package/ez-agents/workflows/add-tests.md +351 -351
- package/ez-agents/workflows/add-todo.md +158 -158
- package/ez-agents/workflows/audit-milestone.md +332 -332
- package/ez-agents/workflows/autonomous.md +743 -743
- package/ez-agents/workflows/check-todos.md +177 -177
- package/ez-agents/workflows/cleanup.md +152 -152
- package/ez-agents/workflows/complete-milestone.md +766 -766
- package/ez-agents/workflows/diagnose-issues.md +219 -219
- package/ez-agents/workflows/discovery-phase.md +289 -289
- package/ez-agents/workflows/discuss-phase.md +762 -762
- package/ez-agents/workflows/execute-phase.md +468 -468
- package/ez-agents/workflows/execute-plan.md +483 -483
- package/ez-agents/workflows/health.md +159 -159
- package/ez-agents/workflows/help.md +492 -492
- package/ez-agents/workflows/insert-phase.md +130 -130
- package/ez-agents/workflows/list-phase-assumptions.md +178 -178
- package/ez-agents/workflows/map-codebase.md +316 -316
- package/ez-agents/workflows/new-milestone.md +384 -384
- package/ez-agents/workflows/new-project.md +1113 -1113
- package/ez-agents/workflows/node-repair.md +92 -92
- package/ez-agents/workflows/pause-work.md +122 -122
- package/ez-agents/workflows/plan-milestone-gaps.md +274 -274
- package/ez-agents/workflows/plan-phase.md +651 -651
- package/ez-agents/workflows/progress.md +382 -382
- package/ez-agents/workflows/quick.md +610 -610
- package/ez-agents/workflows/remove-phase.md +155 -155
- package/ez-agents/workflows/research-phase.md +74 -74
- package/ez-agents/workflows/resume-project.md +307 -307
- package/ez-agents/workflows/set-profile.md +81 -81
- package/ez-agents/workflows/settings.md +242 -242
- package/ez-agents/workflows/stats.md +57 -57
- package/ez-agents/workflows/transition.md +544 -544
- package/ez-agents/workflows/ui-phase.md +290 -290
- package/ez-agents/workflows/ui-review.md +157 -157
- package/ez-agents/workflows/update.md +320 -320
- package/ez-agents/workflows/validate-phase.md +167 -167
- package/ez-agents/workflows/verify-phase.md +243 -243
- package/ez-agents/workflows/verify-work.md +584 -584
- package/package.json +2 -3
- package/scripts/build-hooks.js +43 -43
- package/scripts/run-tests.cjs +29 -29
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
{
|
|
2
|
-
"mode": "interactive",
|
|
3
|
-
"granularity": "standard",
|
|
4
|
-
"workflow": {
|
|
5
|
-
"research": true,
|
|
6
|
-
"plan_check": true,
|
|
7
|
-
"verifier": true,
|
|
8
|
-
"auto_advance": false,
|
|
9
|
-
"nyquist_validation": true
|
|
10
|
-
},
|
|
11
|
-
"planning": {
|
|
12
|
-
"commit_docs": true,
|
|
13
|
-
"search_gitignored": false
|
|
14
|
-
},
|
|
15
|
-
"parallelization": {
|
|
16
|
-
"enabled": true,
|
|
17
|
-
"plan_level": true,
|
|
18
|
-
"task_level": false,
|
|
19
|
-
"skip_checkpoints": true,
|
|
20
|
-
"max_concurrent_agents": 3,
|
|
21
|
-
"min_plans_for_parallel": 2
|
|
22
|
-
},
|
|
23
|
-
"gates": {
|
|
24
|
-
"confirm_project": true,
|
|
25
|
-
"confirm_phases": true,
|
|
26
|
-
"confirm_roadmap": true,
|
|
27
|
-
"confirm_breakdown": true,
|
|
28
|
-
"confirm_plan": true,
|
|
29
|
-
"execute_next_plan": true,
|
|
30
|
-
"issues_review": true,
|
|
31
|
-
"confirm_transition": true
|
|
32
|
-
},
|
|
33
|
-
"safety": {
|
|
34
|
-
"always_confirm_destructive": true,
|
|
35
|
-
"always_confirm_external_services": true
|
|
36
|
-
}
|
|
37
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"mode": "interactive",
|
|
3
|
+
"granularity": "standard",
|
|
4
|
+
"workflow": {
|
|
5
|
+
"research": true,
|
|
6
|
+
"plan_check": true,
|
|
7
|
+
"verifier": true,
|
|
8
|
+
"auto_advance": false,
|
|
9
|
+
"nyquist_validation": true
|
|
10
|
+
},
|
|
11
|
+
"planning": {
|
|
12
|
+
"commit_docs": true,
|
|
13
|
+
"search_gitignored": false
|
|
14
|
+
},
|
|
15
|
+
"parallelization": {
|
|
16
|
+
"enabled": true,
|
|
17
|
+
"plan_level": true,
|
|
18
|
+
"task_level": false,
|
|
19
|
+
"skip_checkpoints": true,
|
|
20
|
+
"max_concurrent_agents": 3,
|
|
21
|
+
"min_plans_for_parallel": 2
|
|
22
|
+
},
|
|
23
|
+
"gates": {
|
|
24
|
+
"confirm_project": true,
|
|
25
|
+
"confirm_phases": true,
|
|
26
|
+
"confirm_roadmap": true,
|
|
27
|
+
"confirm_breakdown": true,
|
|
28
|
+
"confirm_plan": true,
|
|
29
|
+
"execute_next_plan": true,
|
|
30
|
+
"issues_review": true,
|
|
31
|
+
"confirm_transition": true
|
|
32
|
+
},
|
|
33
|
+
"safety": {
|
|
34
|
+
"always_confirm_destructive": true,
|
|
35
|
+
"always_confirm_external_services": true
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
# Continue-Here Template
|
|
2
|
-
|
|
3
|
-
Copy and fill this structure for `.planning/phases/XX-name/.continue-here.md`:
|
|
4
|
-
|
|
5
|
-
```yaml
|
|
6
|
-
---
|
|
7
|
-
phase: XX-name
|
|
8
|
-
task: 3
|
|
9
|
-
total_tasks: 7
|
|
10
|
-
status: in_progress
|
|
11
|
-
last_updated: 2025-01-15T14:30:00Z
|
|
12
|
-
---
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
```markdown
|
|
16
|
-
<current_state>
|
|
17
|
-
[Where exactly are we? What's the immediate context?]
|
|
18
|
-
</current_state>
|
|
19
|
-
|
|
20
|
-
<completed_work>
|
|
21
|
-
[What got done this session - be specific]
|
|
22
|
-
|
|
23
|
-
- Task 1: [name] - Done
|
|
24
|
-
- Task 2: [name] - Done
|
|
25
|
-
- Task 3: [name] - In progress, [what's done on it]
|
|
26
|
-
</completed_work>
|
|
27
|
-
|
|
28
|
-
<remaining_work>
|
|
29
|
-
[What's left in this phase]
|
|
30
|
-
|
|
31
|
-
- Task 3: [name] - [what's left to do]
|
|
32
|
-
- Task 4: [name] - Not started
|
|
33
|
-
- Task 5: [name] - Not started
|
|
34
|
-
</remaining_work>
|
|
35
|
-
|
|
36
|
-
<decisions_made>
|
|
37
|
-
[Key decisions and why - so next session doesn't re-debate]
|
|
38
|
-
|
|
39
|
-
- Decided to use [X] because [reason]
|
|
40
|
-
- Chose [approach] over [alternative] because [reason]
|
|
41
|
-
</decisions_made>
|
|
42
|
-
|
|
43
|
-
<blockers>
|
|
44
|
-
[Anything stuck or waiting on external factors]
|
|
45
|
-
|
|
46
|
-
- [Blocker 1]: [status/workaround]
|
|
47
|
-
</blockers>
|
|
48
|
-
|
|
49
|
-
<context>
|
|
50
|
-
[Mental state, "vibe", anything that helps resume smoothly]
|
|
51
|
-
|
|
52
|
-
[What were you thinking about? What was the plan?
|
|
53
|
-
This is the "pick up exactly where you left off" context.]
|
|
54
|
-
</context>
|
|
55
|
-
|
|
56
|
-
<next_action>
|
|
57
|
-
[The very first thing to do when resuming]
|
|
58
|
-
|
|
59
|
-
Start with: [specific action]
|
|
60
|
-
</next_action>
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
<yaml_fields>
|
|
64
|
-
Required YAML frontmatter:
|
|
65
|
-
|
|
66
|
-
- `phase`: Directory name (e.g., `02-authentication`)
|
|
67
|
-
- `task`: Current task number
|
|
68
|
-
- `total_tasks`: How many tasks in phase
|
|
69
|
-
- `status`: `in_progress`, `blocked`, `almost_done`
|
|
70
|
-
- `last_updated`: ISO timestamp
|
|
71
|
-
</yaml_fields>
|
|
72
|
-
|
|
73
|
-
<guidelines>
|
|
74
|
-
- Be specific enough that a fresh Claude instance understands immediately
|
|
75
|
-
- Include WHY decisions were made, not just what
|
|
76
|
-
- The `<next_action>` should be actionable without reading anything else
|
|
77
|
-
- This file gets DELETED after resume - it's not permanent storage
|
|
78
|
-
</guidelines>
|
|
1
|
+
# Continue-Here Template
|
|
2
|
+
|
|
3
|
+
Copy and fill this structure for `.planning/phases/XX-name/.continue-here.md`:
|
|
4
|
+
|
|
5
|
+
```yaml
|
|
6
|
+
---
|
|
7
|
+
phase: XX-name
|
|
8
|
+
task: 3
|
|
9
|
+
total_tasks: 7
|
|
10
|
+
status: in_progress
|
|
11
|
+
last_updated: 2025-01-15T14:30:00Z
|
|
12
|
+
---
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
```markdown
|
|
16
|
+
<current_state>
|
|
17
|
+
[Where exactly are we? What's the immediate context?]
|
|
18
|
+
</current_state>
|
|
19
|
+
|
|
20
|
+
<completed_work>
|
|
21
|
+
[What got done this session - be specific]
|
|
22
|
+
|
|
23
|
+
- Task 1: [name] - Done
|
|
24
|
+
- Task 2: [name] - Done
|
|
25
|
+
- Task 3: [name] - In progress, [what's done on it]
|
|
26
|
+
</completed_work>
|
|
27
|
+
|
|
28
|
+
<remaining_work>
|
|
29
|
+
[What's left in this phase]
|
|
30
|
+
|
|
31
|
+
- Task 3: [name] - [what's left to do]
|
|
32
|
+
- Task 4: [name] - Not started
|
|
33
|
+
- Task 5: [name] - Not started
|
|
34
|
+
</remaining_work>
|
|
35
|
+
|
|
36
|
+
<decisions_made>
|
|
37
|
+
[Key decisions and why - so next session doesn't re-debate]
|
|
38
|
+
|
|
39
|
+
- Decided to use [X] because [reason]
|
|
40
|
+
- Chose [approach] over [alternative] because [reason]
|
|
41
|
+
</decisions_made>
|
|
42
|
+
|
|
43
|
+
<blockers>
|
|
44
|
+
[Anything stuck or waiting on external factors]
|
|
45
|
+
|
|
46
|
+
- [Blocker 1]: [status/workaround]
|
|
47
|
+
</blockers>
|
|
48
|
+
|
|
49
|
+
<context>
|
|
50
|
+
[Mental state, "vibe", anything that helps resume smoothly]
|
|
51
|
+
|
|
52
|
+
[What were you thinking about? What was the plan?
|
|
53
|
+
This is the "pick up exactly where you left off" context.]
|
|
54
|
+
</context>
|
|
55
|
+
|
|
56
|
+
<next_action>
|
|
57
|
+
[The very first thing to do when resuming]
|
|
58
|
+
|
|
59
|
+
Start with: [specific action]
|
|
60
|
+
</next_action>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
<yaml_fields>
|
|
64
|
+
Required YAML frontmatter:
|
|
65
|
+
|
|
66
|
+
- `phase`: Directory name (e.g., `02-authentication`)
|
|
67
|
+
- `task`: Current task number
|
|
68
|
+
- `total_tasks`: How many tasks in phase
|
|
69
|
+
- `status`: `in_progress`, `blocked`, `almost_done`
|
|
70
|
+
- `last_updated`: ISO timestamp
|
|
71
|
+
</yaml_fields>
|
|
72
|
+
|
|
73
|
+
<guidelines>
|
|
74
|
+
- Be specific enough that a fresh Claude instance understands immediately
|
|
75
|
+
- Include WHY decisions were made, not just what
|
|
76
|
+
- The `<next_action>` should be actionable without reading anything else
|
|
77
|
+
- This file gets DELETED after resume - it's not permanent storage
|
|
78
|
+
</guidelines>
|
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
# Milestone Archive Template
|
|
2
|
-
|
|
3
|
-
This template is used by the complete-milestone workflow to create archive files in `.planning/milestones/`.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## File Template
|
|
8
|
-
|
|
9
|
-
# Milestone v{{VERSION}}: {{MILESTONE_NAME}}
|
|
10
|
-
|
|
11
|
-
**Status:** ✅ SHIPPED {{DATE}}
|
|
12
|
-
**Phases:** {{PHASE_START}}-{{PHASE_END}}
|
|
13
|
-
**Total Plans:** {{TOTAL_PLANS}}
|
|
14
|
-
|
|
15
|
-
## Overview
|
|
16
|
-
|
|
17
|
-
{{MILESTONE_DESCRIPTION}}
|
|
18
|
-
|
|
19
|
-
## Phases
|
|
20
|
-
|
|
21
|
-
{{PHASES_SECTION}}
|
|
22
|
-
|
|
23
|
-
[For each phase in this milestone, include:]
|
|
24
|
-
|
|
25
|
-
### Phase {{PHASE_NUM}}: {{PHASE_NAME}}
|
|
26
|
-
|
|
27
|
-
**Goal**: {{PHASE_GOAL}}
|
|
28
|
-
**Depends on**: {{DEPENDS_ON}}
|
|
29
|
-
**Plans**: {{PLAN_COUNT}} plans
|
|
30
|
-
|
|
31
|
-
Plans:
|
|
32
|
-
|
|
33
|
-
- [x] {{PHASE}}-01: {{PLAN_DESCRIPTION}}
|
|
34
|
-
- [x] {{PHASE}}-02: {{PLAN_DESCRIPTION}}
|
|
35
|
-
[... all plans ...]
|
|
36
|
-
|
|
37
|
-
**Details:**
|
|
38
|
-
{{PHASE_DETAILS_FROM_ROADMAP}}
|
|
39
|
-
|
|
40
|
-
**For decimal phases, include (INSERTED) marker:**
|
|
41
|
-
|
|
42
|
-
### Phase 2.1: Critical Security Patch (INSERTED)
|
|
43
|
-
|
|
44
|
-
**Goal**: Fix authentication bypass vulnerability
|
|
45
|
-
**Depends on**: Phase 2
|
|
46
|
-
**Plans**: 1 plan
|
|
47
|
-
|
|
48
|
-
Plans:
|
|
49
|
-
|
|
50
|
-
- [x] 02.1-01: Patch auth vulnerability
|
|
51
|
-
|
|
52
|
-
**Details:**
|
|
53
|
-
{{PHASE_DETAILS_FROM_ROADMAP}}
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Milestone Summary
|
|
58
|
-
|
|
59
|
-
**Decimal Phases:**
|
|
60
|
-
|
|
61
|
-
- Phase 2.1: Critical Security Patch (inserted after Phase 2 for urgent fix)
|
|
62
|
-
- Phase 5.1: Performance Hotfix (inserted after Phase 5 for production issue)
|
|
63
|
-
|
|
64
|
-
**Key Decisions:**
|
|
65
|
-
{{DECISIONS_FROM_PROJECT_STATE}}
|
|
66
|
-
[Example:]
|
|
67
|
-
|
|
68
|
-
- Decision: Use ROADMAP.md split (Rationale: Constant context cost)
|
|
69
|
-
- Decision: Decimal phase numbering (Rationale: Clear insertion semantics)
|
|
70
|
-
|
|
71
|
-
**Issues Resolved:**
|
|
72
|
-
{{ISSUES_RESOLVED_DURING_MILESTONE}}
|
|
73
|
-
[Example:]
|
|
74
|
-
|
|
75
|
-
- Fixed context overflow at 100+ phases
|
|
76
|
-
- Resolved phase insertion confusion
|
|
77
|
-
|
|
78
|
-
**Issues Deferred:**
|
|
79
|
-
{{ISSUES_DEFERRED_TO_LATER}}
|
|
80
|
-
[Example:]
|
|
81
|
-
|
|
82
|
-
- PROJECT-STATE.md tiering (deferred until decisions > 300)
|
|
83
|
-
|
|
84
|
-
**Technical Debt Incurred:**
|
|
85
|
-
{{SHORTCUTS_NEEDING_FUTURE_WORK}}
|
|
86
|
-
[Example:]
|
|
87
|
-
|
|
88
|
-
- Some workflows still have hardcoded paths (fix in Phase 5)
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
_For current project status, see .planning/ROADMAP.md_
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## Usage Guidelines
|
|
97
|
-
|
|
98
|
-
<guidelines>
|
|
99
|
-
**When to create milestone archives:**
|
|
100
|
-
- After completing all phases in a milestone (v1.0, v1.1, v2.0, etc.)
|
|
101
|
-
- Triggered by complete-milestone workflow
|
|
102
|
-
- Before planning next milestone work
|
|
103
|
-
|
|
104
|
-
**How to fill template:**
|
|
105
|
-
|
|
106
|
-
- Replace {{PLACEHOLDERS}} with actual values
|
|
107
|
-
- Extract phase details from ROADMAP.md
|
|
108
|
-
- Document decimal phases with (INSERTED) marker
|
|
109
|
-
- Include key decisions from PROJECT-STATE.md or SUMMARY files
|
|
110
|
-
- List issues resolved vs deferred
|
|
111
|
-
- Capture technical debt for future reference
|
|
112
|
-
|
|
113
|
-
**Archive location:**
|
|
114
|
-
|
|
115
|
-
- Save to `.planning/milestones/v{VERSION}-{NAME}.md`
|
|
116
|
-
- Example: `.planning/milestones/v1.0-mvp.md`
|
|
117
|
-
|
|
118
|
-
**After archiving:**
|
|
119
|
-
|
|
120
|
-
- Update ROADMAP.md to collapse completed milestone in `<details>` tag
|
|
121
|
-
- Update PROJECT.md to brownfield format with Current State section
|
|
122
|
-
- Continue phase numbering in next milestone (never restart at 01)
|
|
123
|
-
</guidelines>
|
|
1
|
+
# Milestone Archive Template
|
|
2
|
+
|
|
3
|
+
This template is used by the complete-milestone workflow to create archive files in `.planning/milestones/`.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## File Template
|
|
8
|
+
|
|
9
|
+
# Milestone v{{VERSION}}: {{MILESTONE_NAME}}
|
|
10
|
+
|
|
11
|
+
**Status:** ✅ SHIPPED {{DATE}}
|
|
12
|
+
**Phases:** {{PHASE_START}}-{{PHASE_END}}
|
|
13
|
+
**Total Plans:** {{TOTAL_PLANS}}
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
{{MILESTONE_DESCRIPTION}}
|
|
18
|
+
|
|
19
|
+
## Phases
|
|
20
|
+
|
|
21
|
+
{{PHASES_SECTION}}
|
|
22
|
+
|
|
23
|
+
[For each phase in this milestone, include:]
|
|
24
|
+
|
|
25
|
+
### Phase {{PHASE_NUM}}: {{PHASE_NAME}}
|
|
26
|
+
|
|
27
|
+
**Goal**: {{PHASE_GOAL}}
|
|
28
|
+
**Depends on**: {{DEPENDS_ON}}
|
|
29
|
+
**Plans**: {{PLAN_COUNT}} plans
|
|
30
|
+
|
|
31
|
+
Plans:
|
|
32
|
+
|
|
33
|
+
- [x] {{PHASE}}-01: {{PLAN_DESCRIPTION}}
|
|
34
|
+
- [x] {{PHASE}}-02: {{PLAN_DESCRIPTION}}
|
|
35
|
+
[... all plans ...]
|
|
36
|
+
|
|
37
|
+
**Details:**
|
|
38
|
+
{{PHASE_DETAILS_FROM_ROADMAP}}
|
|
39
|
+
|
|
40
|
+
**For decimal phases, include (INSERTED) marker:**
|
|
41
|
+
|
|
42
|
+
### Phase 2.1: Critical Security Patch (INSERTED)
|
|
43
|
+
|
|
44
|
+
**Goal**: Fix authentication bypass vulnerability
|
|
45
|
+
**Depends on**: Phase 2
|
|
46
|
+
**Plans**: 1 plan
|
|
47
|
+
|
|
48
|
+
Plans:
|
|
49
|
+
|
|
50
|
+
- [x] 02.1-01: Patch auth vulnerability
|
|
51
|
+
|
|
52
|
+
**Details:**
|
|
53
|
+
{{PHASE_DETAILS_FROM_ROADMAP}}
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Milestone Summary
|
|
58
|
+
|
|
59
|
+
**Decimal Phases:**
|
|
60
|
+
|
|
61
|
+
- Phase 2.1: Critical Security Patch (inserted after Phase 2 for urgent fix)
|
|
62
|
+
- Phase 5.1: Performance Hotfix (inserted after Phase 5 for production issue)
|
|
63
|
+
|
|
64
|
+
**Key Decisions:**
|
|
65
|
+
{{DECISIONS_FROM_PROJECT_STATE}}
|
|
66
|
+
[Example:]
|
|
67
|
+
|
|
68
|
+
- Decision: Use ROADMAP.md split (Rationale: Constant context cost)
|
|
69
|
+
- Decision: Decimal phase numbering (Rationale: Clear insertion semantics)
|
|
70
|
+
|
|
71
|
+
**Issues Resolved:**
|
|
72
|
+
{{ISSUES_RESOLVED_DURING_MILESTONE}}
|
|
73
|
+
[Example:]
|
|
74
|
+
|
|
75
|
+
- Fixed context overflow at 100+ phases
|
|
76
|
+
- Resolved phase insertion confusion
|
|
77
|
+
|
|
78
|
+
**Issues Deferred:**
|
|
79
|
+
{{ISSUES_DEFERRED_TO_LATER}}
|
|
80
|
+
[Example:]
|
|
81
|
+
|
|
82
|
+
- PROJECT-STATE.md tiering (deferred until decisions > 300)
|
|
83
|
+
|
|
84
|
+
**Technical Debt Incurred:**
|
|
85
|
+
{{SHORTCUTS_NEEDING_FUTURE_WORK}}
|
|
86
|
+
[Example:]
|
|
87
|
+
|
|
88
|
+
- Some workflows still have hardcoded paths (fix in Phase 5)
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
_For current project status, see .planning/ROADMAP.md_
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Usage Guidelines
|
|
97
|
+
|
|
98
|
+
<guidelines>
|
|
99
|
+
**When to create milestone archives:**
|
|
100
|
+
- After completing all phases in a milestone (v1.0, v1.1, v2.0, etc.)
|
|
101
|
+
- Triggered by complete-milestone workflow
|
|
102
|
+
- Before planning next milestone work
|
|
103
|
+
|
|
104
|
+
**How to fill template:**
|
|
105
|
+
|
|
106
|
+
- Replace {{PLACEHOLDERS}} with actual values
|
|
107
|
+
- Extract phase details from ROADMAP.md
|
|
108
|
+
- Document decimal phases with (INSERTED) marker
|
|
109
|
+
- Include key decisions from PROJECT-STATE.md or SUMMARY files
|
|
110
|
+
- List issues resolved vs deferred
|
|
111
|
+
- Capture technical debt for future reference
|
|
112
|
+
|
|
113
|
+
**Archive location:**
|
|
114
|
+
|
|
115
|
+
- Save to `.planning/milestones/v{VERSION}-{NAME}.md`
|
|
116
|
+
- Example: `.planning/milestones/v1.0-mvp.md`
|
|
117
|
+
|
|
118
|
+
**After archiving:**
|
|
119
|
+
|
|
120
|
+
- Update ROADMAP.md to collapse completed milestone in `<details>` tag
|
|
121
|
+
- Update PROJECT.md to brownfield format with Current State section
|
|
122
|
+
- Continue phase numbering in next milestone (never restart at 01)
|
|
123
|
+
</guidelines>
|