@howlil/ez-agents 3.4.1 → 3.5.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.
Files changed (162) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +84 -20
  3. package/agents/ez-observer-agent.md +260 -0
  4. package/agents/ez-release-agent.md +333 -0
  5. package/agents/ez-requirements-agent.md +377 -0
  6. package/agents/ez-scrum-master-agent.md +242 -0
  7. package/agents/ez-tech-lead-agent.md +267 -0
  8. package/bin/install.js +3221 -3230
  9. package/commands/ez/arch-review.md +102 -0
  10. package/commands/ez/execute-phase.md +11 -0
  11. package/commands/ez/export-session.md +79 -0
  12. package/commands/ez/gather-requirements.md +117 -0
  13. package/commands/ez/git-workflow.md +72 -0
  14. package/commands/ez/hotfix.md +120 -0
  15. package/commands/ez/import-session.md +82 -0
  16. package/commands/ez/join-discord.md +18 -18
  17. package/commands/ez/list-sessions.md +96 -0
  18. package/commands/ez/package-manager.md +316 -0
  19. package/commands/ez/plan-phase.md +9 -1
  20. package/commands/ez/preflight.md +79 -0
  21. package/commands/ez/progress.md +13 -1
  22. package/commands/ez/release.md +153 -0
  23. package/commands/ez/resume.md +107 -0
  24. package/commands/ez/standup.md +85 -0
  25. package/ez-agents/bin/ez-tools.cjs +1095 -716
  26. package/ez-agents/bin/lib/assistant-adapter.cjs +264 -264
  27. package/ez-agents/bin/lib/audit-exec.cjs +7 -2
  28. package/ez-agents/bin/lib/bdd-validator.cjs +622 -0
  29. package/ez-agents/bin/lib/circuit-breaker.cjs +118 -118
  30. package/ez-agents/bin/lib/config.cjs +190 -190
  31. package/ez-agents/bin/lib/content-scanner.cjs +238 -0
  32. package/ez-agents/bin/lib/context-cache.cjs +154 -0
  33. package/ez-agents/bin/lib/context-errors.cjs +71 -0
  34. package/ez-agents/bin/lib/context-manager.cjs +220 -0
  35. package/ez-agents/bin/lib/discussion-synthesizer.cjs +458 -0
  36. package/ez-agents/bin/lib/file-access.cjs +207 -0
  37. package/ez-agents/bin/lib/file-lock.cjs +236 -236
  38. package/ez-agents/bin/lib/frontmatter.cjs +299 -299
  39. package/ez-agents/bin/lib/fs-utils.cjs +153 -153
  40. package/ez-agents/bin/lib/git-errors.cjs +83 -0
  41. package/ez-agents/bin/lib/git-utils.cjs +118 -0
  42. package/ez-agents/bin/lib/git-workflow-engine.cjs +1157 -0
  43. package/ez-agents/bin/lib/index.cjs +157 -113
  44. package/ez-agents/bin/lib/init.cjs +757 -757
  45. package/ez-agents/bin/lib/lockfile-validator.cjs +227 -0
  46. package/ez-agents/bin/lib/logger.cjs +124 -124
  47. package/ez-agents/bin/lib/memory-compression.cjs +256 -0
  48. package/ez-agents/bin/lib/metrics-tracker.cjs +406 -0
  49. package/ez-agents/bin/lib/milestone.cjs +241 -241
  50. package/ez-agents/bin/lib/model-provider.cjs +241 -241
  51. package/ez-agents/bin/lib/package-manager-detector.cjs +203 -0
  52. package/ez-agents/bin/lib/package-manager-executor.cjs +385 -0
  53. package/ez-agents/bin/lib/package-manager-service.cjs +216 -0
  54. package/ez-agents/bin/lib/phase.cjs +925 -925
  55. package/ez-agents/bin/lib/planning-write.cjs +107 -107
  56. package/ez-agents/bin/lib/release-validator.cjs +614 -0
  57. package/ez-agents/bin/lib/retry.cjs +119 -119
  58. package/ez-agents/bin/lib/roadmap.cjs +306 -306
  59. package/ez-agents/bin/lib/safe-exec.cjs +128 -128
  60. package/ez-agents/bin/lib/safe-path.cjs +130 -130
  61. package/ez-agents/bin/lib/session-chain.cjs +304 -0
  62. package/ez-agents/bin/lib/session-errors.cjs +81 -0
  63. package/ez-agents/bin/lib/session-export.cjs +251 -0
  64. package/ez-agents/bin/lib/session-import.cjs +262 -0
  65. package/ez-agents/bin/lib/session-manager.cjs +280 -0
  66. package/ez-agents/bin/lib/state.cjs +736 -736
  67. package/ez-agents/bin/lib/temp-file.cjs +239 -239
  68. package/ez-agents/bin/lib/template.cjs +223 -223
  69. package/ez-agents/bin/lib/test-file-lock.cjs +112 -112
  70. package/ez-agents/bin/lib/test-graceful.cjs +93 -93
  71. package/ez-agents/bin/lib/test-logger.cjs +60 -60
  72. package/ez-agents/bin/lib/test-safe-exec.cjs +38 -38
  73. package/ez-agents/bin/lib/test-safe-path.cjs +33 -33
  74. package/ez-agents/bin/lib/test-temp-file.cjs +125 -125
  75. package/ez-agents/bin/lib/tier-manager.cjs +428 -0
  76. package/ez-agents/bin/lib/timeout-exec.cjs +63 -63
  77. package/ez-agents/bin/lib/url-fetch.cjs +170 -0
  78. package/ez-agents/bin/lib/verify.cjs +15 -1
  79. package/ez-agents/references/checkpoints.md +776 -776
  80. package/ez-agents/references/continuation-format.md +249 -249
  81. package/ez-agents/references/metrics-schema.md +118 -0
  82. package/ez-agents/references/planning-config.md +140 -0
  83. package/ez-agents/references/questioning.md +162 -162
  84. package/ez-agents/references/tdd.md +263 -263
  85. package/ez-agents/references/tier-strategy.md +103 -0
  86. package/ez-agents/templates/bdd-feature.md +173 -0
  87. package/ez-agents/templates/codebase/concerns.md +310 -310
  88. package/ez-agents/templates/codebase/conventions.md +307 -307
  89. package/ez-agents/templates/codebase/integrations.md +280 -280
  90. package/ez-agents/templates/codebase/stack.md +186 -186
  91. package/ez-agents/templates/codebase/testing.md +480 -480
  92. package/ez-agents/templates/config.json +37 -37
  93. package/ez-agents/templates/continue-here.md +78 -78
  94. package/ez-agents/templates/discussion.md +68 -0
  95. package/ez-agents/templates/incident-runbook.md +205 -0
  96. package/ez-agents/templates/milestone-archive.md +123 -123
  97. package/ez-agents/templates/milestone.md +115 -115
  98. package/ez-agents/templates/release-checklist.md +133 -0
  99. package/ez-agents/templates/requirements.md +231 -231
  100. package/ez-agents/templates/research-project/ARCHITECTURE.md +204 -204
  101. package/ez-agents/templates/research-project/FEATURES.md +147 -147
  102. package/ez-agents/templates/research-project/PITFALLS.md +200 -200
  103. package/ez-agents/templates/research-project/STACK.md +120 -120
  104. package/ez-agents/templates/research-project/SUMMARY.md +170 -170
  105. package/ez-agents/templates/retrospective.md +54 -54
  106. package/ez-agents/templates/roadmap.md +202 -202
  107. package/ez-agents/templates/rollback-plan.md +201 -0
  108. package/ez-agents/templates/summary-minimal.md +41 -41
  109. package/ez-agents/templates/summary-standard.md +48 -48
  110. package/ez-agents/templates/summary.md +248 -248
  111. package/ez-agents/templates/user-setup.md +311 -311
  112. package/ez-agents/templates/verification-report.md +322 -322
  113. package/ez-agents/workflows/add-phase.md +112 -112
  114. package/ez-agents/workflows/add-tests.md +351 -351
  115. package/ez-agents/workflows/add-todo.md +158 -158
  116. package/ez-agents/workflows/arch-review.md +54 -0
  117. package/ez-agents/workflows/audit-milestone.md +332 -332
  118. package/ez-agents/workflows/autonomous.md +131 -30
  119. package/ez-agents/workflows/check-todos.md +177 -177
  120. package/ez-agents/workflows/cleanup.md +152 -152
  121. package/ez-agents/workflows/complete-milestone.md +766 -766
  122. package/ez-agents/workflows/diagnose-issues.md +219 -219
  123. package/ez-agents/workflows/discovery-phase.md +289 -289
  124. package/ez-agents/workflows/discuss-phase.md +762 -762
  125. package/ez-agents/workflows/execute-phase.md +513 -468
  126. package/ez-agents/workflows/execute-plan.md +483 -483
  127. package/ez-agents/workflows/export-session.md +255 -0
  128. package/ez-agents/workflows/gather-requirements.md +206 -0
  129. package/ez-agents/workflows/health.md +159 -159
  130. package/ez-agents/workflows/help.md +584 -492
  131. package/ez-agents/workflows/hotfix.md +291 -0
  132. package/ez-agents/workflows/import-session.md +303 -0
  133. package/ez-agents/workflows/insert-phase.md +130 -130
  134. package/ez-agents/workflows/list-phase-assumptions.md +178 -178
  135. package/ez-agents/workflows/map-codebase.md +316 -316
  136. package/ez-agents/workflows/new-milestone.md +339 -10
  137. package/ez-agents/workflows/new-project.md +293 -299
  138. package/ez-agents/workflows/node-repair.md +92 -92
  139. package/ez-agents/workflows/pause-work.md +122 -122
  140. package/ez-agents/workflows/plan-milestone-gaps.md +274 -274
  141. package/ez-agents/workflows/plan-phase.md +673 -651
  142. package/ez-agents/workflows/progress.md +372 -382
  143. package/ez-agents/workflows/quick.md +610 -610
  144. package/ez-agents/workflows/release.md +253 -0
  145. package/ez-agents/workflows/remove-phase.md +155 -155
  146. package/ez-agents/workflows/research-phase.md +74 -74
  147. package/ez-agents/workflows/resume-project.md +307 -307
  148. package/ez-agents/workflows/resume-session.md +215 -0
  149. package/ez-agents/workflows/set-profile.md +81 -81
  150. package/ez-agents/workflows/settings.md +242 -242
  151. package/ez-agents/workflows/standup.md +64 -0
  152. package/ez-agents/workflows/stats.md +57 -57
  153. package/ez-agents/workflows/transition.md +544 -544
  154. package/ez-agents/workflows/ui-phase.md +290 -290
  155. package/ez-agents/workflows/ui-review.md +157 -157
  156. package/ez-agents/workflows/update.md +320 -320
  157. package/ez-agents/workflows/validate-phase.md +167 -167
  158. package/ez-agents/workflows/verify-phase.md +243 -243
  159. package/ez-agents/workflows/verify-work.md +584 -584
  160. package/package.json +10 -4
  161. package/scripts/build-hooks.js +43 -43
  162. package/scripts/run-tests.cjs +29 -29
@@ -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>
@@ -1,115 +1,115 @@
1
- # Milestone Entry Template
2
-
3
- Add this entry to `.planning/MILESTONES.md` when completing a milestone:
4
-
5
- ```markdown
6
- ## v[X.Y] [Name] (Shipped: YYYY-MM-DD)
7
-
8
- **Delivered:** [One sentence describing what shipped]
9
-
10
- **Phases completed:** [X-Y] ([Z] plans total)
11
-
12
- **Key accomplishments:**
13
- - [Major achievement 1]
14
- - [Major achievement 2]
15
- - [Major achievement 3]
16
- - [Major achievement 4]
17
-
18
- **Stats:**
19
- - [X] files created/modified
20
- - [Y] lines of code (primary language)
21
- - [Z] phases, [N] plans, [M] tasks
22
- - [D] days from start to ship (or milestone to milestone)
23
-
24
- **Git range:** `feat(XX-XX)` → `feat(YY-YY)`
25
-
26
- **What's next:** [Brief description of next milestone goals, or "Project complete"]
27
-
28
- ---
29
- ```
30
-
31
- <structure>
32
- If MILESTONES.md doesn't exist, create it with header:
33
-
34
- ```markdown
35
- # Project Milestones: [Project Name]
36
-
37
- [Entries in reverse chronological order - newest first]
38
- ```
39
- </structure>
40
-
41
- <guidelines>
42
- **When to create milestones:**
43
- - Initial v1.0 MVP shipped
44
- - Major version releases (v2.0, v3.0)
45
- - Significant feature milestones (v1.1, v1.2)
46
- - Before archiving planning (capture what was shipped)
47
-
48
- **Don't create milestones for:**
49
- - Individual phase completions (normal workflow)
50
- - Work in progress (wait until shipped)
51
- - Minor bug fixes that don't constitute a release
52
-
53
- **Stats to include:**
54
- - Count modified files: `git diff --stat feat(XX-XX)..feat(YY-YY) | tail -1`
55
- - Count LOC: `find . -name "*.swift" -o -name "*.ts" | xargs wc -l` (or relevant extension)
56
- - Phase/plan/task counts from ROADMAP
57
- - Timeline from first phase commit to last phase commit
58
-
59
- **Git range format:**
60
- - First commit of milestone → last commit of milestone
61
- - Example: `feat(01-01)` → `feat(04-01)` for phases 1-4
62
- </guidelines>
63
-
64
- <example>
65
- ```markdown
66
- # Project Milestones: WeatherBar
67
-
68
- ## v1.1 Security & Polish (Shipped: 2025-12-10)
69
-
70
- **Delivered:** Security hardening with Keychain integration and comprehensive error handling
71
-
72
- **Phases completed:** 5-6 (3 plans total)
73
-
74
- **Key accomplishments:**
75
- - Migrated API key storage from plaintext to macOS Keychain
76
- - Implemented comprehensive error handling for network failures
77
- - Added Sentry crash reporting integration
78
- - Fixed memory leak in auto-refresh timer
79
-
80
- **Stats:**
81
- - 23 files modified
82
- - 650 lines of Swift added
83
- - 2 phases, 3 plans, 12 tasks
84
- - 8 days from v1.0 to v1.1
85
-
86
- **Git range:** `feat(05-01)` → `feat(06-02)`
87
-
88
- **What's next:** v2.0 SwiftUI redesign with widget support
89
-
90
- ---
91
-
92
- ## v1.0 MVP (Shipped: 2025-11-25)
93
-
94
- **Delivered:** Menu bar weather app with current conditions and 3-day forecast
95
-
96
- **Phases completed:** 1-4 (7 plans total)
97
-
98
- **Key accomplishments:**
99
- - Menu bar app with popover UI (AppKit)
100
- - OpenWeather API integration with auto-refresh
101
- - Current weather display with conditions icon
102
- - 3-day forecast list with high/low temperatures
103
- - Code signed and notarized for distribution
104
-
105
- **Stats:**
106
- - 47 files created
107
- - 2,450 lines of Swift
108
- - 4 phases, 7 plans, 28 tasks
109
- - 12 days from start to ship
110
-
111
- **Git range:** `feat(01-01)` → `feat(04-01)`
112
-
113
- **What's next:** Security audit and hardening for v1.1
114
- ```
115
- </example>
1
+ # Milestone Entry Template
2
+
3
+ Add this entry to `.planning/MILESTONES.md` when completing a milestone:
4
+
5
+ ```markdown
6
+ ## v[X.Y] [Name] (Shipped: YYYY-MM-DD)
7
+
8
+ **Delivered:** [One sentence describing what shipped]
9
+
10
+ **Phases completed:** [X-Y] ([Z] plans total)
11
+
12
+ **Key accomplishments:**
13
+ - [Major achievement 1]
14
+ - [Major achievement 2]
15
+ - [Major achievement 3]
16
+ - [Major achievement 4]
17
+
18
+ **Stats:**
19
+ - [X] files created/modified
20
+ - [Y] lines of code (primary language)
21
+ - [Z] phases, [N] plans, [M] tasks
22
+ - [D] days from start to ship (or milestone to milestone)
23
+
24
+ **Git range:** `feat(XX-XX)` → `feat(YY-YY)`
25
+
26
+ **What's next:** [Brief description of next milestone goals, or "Project complete"]
27
+
28
+ ---
29
+ ```
30
+
31
+ <structure>
32
+ If MILESTONES.md doesn't exist, create it with header:
33
+
34
+ ```markdown
35
+ # Project Milestones: [Project Name]
36
+
37
+ [Entries in reverse chronological order - newest first]
38
+ ```
39
+ </structure>
40
+
41
+ <guidelines>
42
+ **When to create milestones:**
43
+ - Initial v1.0 MVP shipped
44
+ - Major version releases (v2.0, v3.0)
45
+ - Significant feature milestones (v1.1, v1.2)
46
+ - Before archiving planning (capture what was shipped)
47
+
48
+ **Don't create milestones for:**
49
+ - Individual phase completions (normal workflow)
50
+ - Work in progress (wait until shipped)
51
+ - Minor bug fixes that don't constitute a release
52
+
53
+ **Stats to include:**
54
+ - Count modified files: `git diff --stat feat(XX-XX)..feat(YY-YY) | tail -1`
55
+ - Count LOC: `find . -name "*.swift" -o -name "*.ts" | xargs wc -l` (or relevant extension)
56
+ - Phase/plan/task counts from ROADMAP
57
+ - Timeline from first phase commit to last phase commit
58
+
59
+ **Git range format:**
60
+ - First commit of milestone → last commit of milestone
61
+ - Example: `feat(01-01)` → `feat(04-01)` for phases 1-4
62
+ </guidelines>
63
+
64
+ <example>
65
+ ```markdown
66
+ # Project Milestones: WeatherBar
67
+
68
+ ## v1.1 Security & Polish (Shipped: 2025-12-10)
69
+
70
+ **Delivered:** Security hardening with Keychain integration and comprehensive error handling
71
+
72
+ **Phases completed:** 5-6 (3 plans total)
73
+
74
+ **Key accomplishments:**
75
+ - Migrated API key storage from plaintext to macOS Keychain
76
+ - Implemented comprehensive error handling for network failures
77
+ - Added Sentry crash reporting integration
78
+ - Fixed memory leak in auto-refresh timer
79
+
80
+ **Stats:**
81
+ - 23 files modified
82
+ - 650 lines of Swift added
83
+ - 2 phases, 3 plans, 12 tasks
84
+ - 8 days from v1.0 to v1.1
85
+
86
+ **Git range:** `feat(05-01)` → `feat(06-02)`
87
+
88
+ **What's next:** v2.0 SwiftUI redesign with widget support
89
+
90
+ ---
91
+
92
+ ## v1.0 MVP (Shipped: 2025-11-25)
93
+
94
+ **Delivered:** Menu bar weather app with current conditions and 3-day forecast
95
+
96
+ **Phases completed:** 1-4 (7 plans total)
97
+
98
+ **Key accomplishments:**
99
+ - Menu bar app with popover UI (AppKit)
100
+ - OpenWeather API integration with auto-refresh
101
+ - Current weather display with conditions icon
102
+ - 3-day forecast list with high/low temperatures
103
+ - Code signed and notarized for distribution
104
+
105
+ **Stats:**
106
+ - 47 files created
107
+ - 2,450 lines of Swift
108
+ - 4 phases, 7 plans, 28 tasks
109
+ - 12 days from start to ship
110
+
111
+ **Git range:** `feat(01-01)` → `feat(04-01)`
112
+
113
+ **What's next:** Security audit and hardening for v1.1
114
+ ```
115
+ </example>
@@ -0,0 +1,133 @@
1
+ # Release Checklist Template
2
+
3
+ Tier-parameterized checklist for `/ez:release`. Items marked `[AUTO]` can be checked programmatically. Items marked `[HUMAN]` require manual verification.
4
+
5
+ ---
6
+
7
+ ## MVP Checklist (6 items)
8
+
9
+ Use when: First public release, early access, startup MVP
10
+
11
+ ```
12
+ Release: v{version} — MVP Tier
13
+ Date: {date}
14
+ ```
15
+
16
+ | # | Item | Type | Result |
17
+ |---|------|------|--------|
18
+ | 1 | All @must BDD scenarios passing | AUTO | |
19
+ | 2 | `npm audit` — no critical vulnerabilities | AUTO | |
20
+ | 3 | Health endpoint returns 200 (if applicable) | AUTO | |
21
+ | 4 | No secrets in committed files | AUTO | |
22
+ | 5 | Application starts without errors (`npm start` or equivalent) | AUTO | |
23
+ | 6 | Rollback procedure documented | AUTO | |
24
+
25
+ **Gate:** All 6 items must pass for MVP release.
26
+
27
+ ---
28
+
29
+ ## Medium Checklist (18 items)
30
+
31
+ Use when: General availability, paying customers, production SLA
32
+
33
+ ```
34
+ Release: v{version} — Medium Tier
35
+ Date: {date}
36
+ ```
37
+
38
+ *Includes all MVP items plus:*
39
+
40
+ | # | Item | Type | Result |
41
+ |---|------|------|--------|
42
+ | 1-6 | All MVP items | AUTO | |
43
+ | 7 | All @should BDD scenarios passing | AUTO | |
44
+ | 8 | Test coverage ≥ 80% | AUTO | |
45
+ | 9 | Staging environment parity verified | HUMAN | |
46
+ | 10 | Monitoring/alerts configured (uptime, error rate) | HUMAN | |
47
+ | 11 | Structured logging in place (no console.log in prod) | AUTO | |
48
+ | 12 | Performance baseline documented | HUMAN | |
49
+ | 13 | Error tracking configured (Sentry, Rollbar, or equivalent) | HUMAN | |
50
+ | 14 | Database migrations tested on staging copy | HUMAN | |
51
+ | 15 | API documentation current (README or OpenAPI) | HUMAN | |
52
+ | 16 | Environment variables documented (.env.example up to date) | AUTO | |
53
+ | 17 | Graceful shutdown handled (SIGTERM, connection draining) | AUTO | |
54
+ | 18 | Rate limiting on public API endpoints | AUTO | |
55
+
56
+ **Gate:** Items 1-12 must pass. Items 13-18 advisory for Medium.
57
+
58
+ ---
59
+
60
+ ## Enterprise Checklist (30 items)
61
+
62
+ Use when: Enterprise customers, regulated industries, compliance requirements
63
+
64
+ ```
65
+ Release: v{version} — Enterprise Tier
66
+ Date: {date}
67
+ ```
68
+
69
+ *Includes all Medium items plus:*
70
+
71
+ | # | Item | Type | Result |
72
+ |---|------|------|--------|
73
+ | 1-18 | All Medium items | MIXED | |
74
+ | 19 | All @could BDD scenarios passing | AUTO | |
75
+ | 20 | Test coverage ≥ 95% | AUTO | |
76
+ | 21 | Security audit completed (internal or third-party) | HUMAN | |
77
+ | 22 | Compliance documentation updated (SOC2/GDPR controls) | HUMAN | |
78
+ | 23 | Load test results documented (target: 2x expected peak) | HUMAN | |
79
+ | 24 | Disaster recovery tested (backup restore procedure) | HUMAN | |
80
+ | 25 | Data retention policy configured | HUMAN | |
81
+ | 26 | Audit logging enabled (who did what, when) | AUTO | |
82
+ | 27 | Penetration test completed or scheduled | HUMAN | |
83
+ | 28 | SOC2/GDPR controls validated | HUMAN | |
84
+ | 29 | Change management ticket filed | HUMAN | |
85
+ | 30 | Incident runbook up to date | HUMAN | |
86
+
87
+ **Gate:** All items 1-26 must pass. Items 27-30 must be scheduled/documented.
88
+
89
+ ---
90
+
91
+ ## Security Gates (All Tiers)
92
+
93
+ These run before ANY release regardless of tier:
94
+
95
+ ```bash
96
+ # Gate 1: No secrets
97
+ git grep -i -E "(api[_-]?key|password|secret)['\"]?\s*[=:]\s*['\"]?[a-zA-Z0-9+/]{20,}" HEAD
98
+
99
+ # Gate 2: npm audit
100
+ npm audit --audit-level=critical
101
+
102
+ # Gate 3: Production TODO/FIXME
103
+ grep -rn "TODO\|FIXME\|HACK" src/ --include="*.ts" --include="*.js" | grep -v test
104
+
105
+ # Gate 4: .env protected
106
+ grep -q "^\.env" .gitignore
107
+ ```
108
+
109
+ **Any gate failure = BLOCKED regardless of tier.**
110
+
111
+ ---
112
+
113
+ ## Production Readiness Score
114
+
115
+ ```
116
+ Score = 100 - (blocking_failures × 10) - (advisory_failures × 2)
117
+
118
+ READY: 90-100
119
+ CONDITIONAL: 70-89
120
+ NOT READY: <70
121
+ ```
122
+
123
+ ---
124
+
125
+ ## Rollback Criteria
126
+
127
+ **Roll back immediately if (within 1 hour of release):**
128
+
129
+ | Tier | Trigger | Response Time |
130
+ |------|---------|---------------|
131
+ | MVP | App won't start OR error rate >20% | 30 minutes |
132
+ | Medium | Error rate >5% above baseline OR P95 >500ms increase | 15 minutes |
133
+ | Enterprise | Any SLA breach OR compliance violation | 5 minutes |