gsd-opencode 1.3.31

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 (68) hide show
  1. package/bin/install.js +222 -0
  2. package/command/gsd/add-phase.md +207 -0
  3. package/command/gsd/complete-milestone.md +105 -0
  4. package/command/gsd/consider-issues.md +201 -0
  5. package/command/gsd/create-roadmap.md +115 -0
  6. package/command/gsd/discuss-milestone.md +47 -0
  7. package/command/gsd/discuss-phase.md +60 -0
  8. package/command/gsd/execute-plan.md +128 -0
  9. package/command/gsd/help.md +315 -0
  10. package/command/gsd/insert-phase.md +227 -0
  11. package/command/gsd/list-phase-assumptions.md +50 -0
  12. package/command/gsd/map-codebase.md +84 -0
  13. package/command/gsd/new-milestone.md +59 -0
  14. package/command/gsd/new-project.md +316 -0
  15. package/command/gsd/pause-work.md +122 -0
  16. package/command/gsd/plan-fix.md +205 -0
  17. package/command/gsd/plan-phase.md +67 -0
  18. package/command/gsd/progress.md +316 -0
  19. package/command/gsd/remove-phase.md +338 -0
  20. package/command/gsd/research-phase.md +91 -0
  21. package/command/gsd/resume-work.md +40 -0
  22. package/command/gsd/verify-work.md +71 -0
  23. package/get-shit-done/references/checkpoints.md +287 -0
  24. package/get-shit-done/references/continuation-format.md +255 -0
  25. package/get-shit-done/references/git-integration.md +254 -0
  26. package/get-shit-done/references/plan-format.md +428 -0
  27. package/get-shit-done/references/principles.md +157 -0
  28. package/get-shit-done/references/questioning.md +162 -0
  29. package/get-shit-done/references/research-pitfalls.md +215 -0
  30. package/get-shit-done/references/scope-estimation.md +172 -0
  31. package/get-shit-done/references/tdd.md +263 -0
  32. package/get-shit-done/templates/codebase/architecture.md +255 -0
  33. package/get-shit-done/templates/codebase/concerns.md +310 -0
  34. package/get-shit-done/templates/codebase/conventions.md +307 -0
  35. package/get-shit-done/templates/codebase/integrations.md +280 -0
  36. package/get-shit-done/templates/codebase/stack.md +186 -0
  37. package/get-shit-done/templates/codebase/structure.md +285 -0
  38. package/get-shit-done/templates/codebase/testing.md +480 -0
  39. package/get-shit-done/templates/config.json +18 -0
  40. package/get-shit-done/templates/context.md +161 -0
  41. package/get-shit-done/templates/continue-here.md +78 -0
  42. package/get-shit-done/templates/discovery.md +146 -0
  43. package/get-shit-done/templates/issues.md +32 -0
  44. package/get-shit-done/templates/milestone-archive.md +123 -0
  45. package/get-shit-done/templates/milestone-context.md +93 -0
  46. package/get-shit-done/templates/milestone.md +115 -0
  47. package/get-shit-done/templates/phase-prompt.md +303 -0
  48. package/get-shit-done/templates/project.md +184 -0
  49. package/get-shit-done/templates/research.md +529 -0
  50. package/get-shit-done/templates/roadmap.md +196 -0
  51. package/get-shit-done/templates/state.md +210 -0
  52. package/get-shit-done/templates/summary.md +273 -0
  53. package/get-shit-done/templates/uat-issues.md +143 -0
  54. package/get-shit-done/workflows/complete-milestone.md +643 -0
  55. package/get-shit-done/workflows/create-milestone.md +416 -0
  56. package/get-shit-done/workflows/create-roadmap.md +481 -0
  57. package/get-shit-done/workflows/discovery-phase.md +293 -0
  58. package/get-shit-done/workflows/discuss-milestone.md +236 -0
  59. package/get-shit-done/workflows/discuss-phase.md +247 -0
  60. package/get-shit-done/workflows/execute-phase.md +1625 -0
  61. package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
  62. package/get-shit-done/workflows/map-codebase.md +434 -0
  63. package/get-shit-done/workflows/plan-phase.md +488 -0
  64. package/get-shit-done/workflows/research-phase.md +436 -0
  65. package/get-shit-done/workflows/resume-project.md +287 -0
  66. package/get-shit-done/workflows/transition.md +580 -0
  67. package/get-shit-done/workflows/verify-work.md +202 -0
  68. package/package.json +38 -0
@@ -0,0 +1,643 @@
1
+ <purpose>
2
+
3
+ Mark a shipped version (v1.0, v1.1, v2.0) as complete. This creates a historical record in MILESTONES.md, performs full PROJECT.md evolution review, reorganizes ROADMAP.md with milestone groupings, and tags the release in git.
4
+
5
+ This is the ritual that separates "development" from "shipped."
6
+
7
+ </purpose>
8
+
9
+ <required_reading>
10
+
11
+ **Read these files NOW:**
12
+
13
+ 1. templates/milestone.md
14
+ 2. templates/milestone-archive.md
15
+ 3. `.planning/ROADMAP.md`
16
+ 4. `.planning/PROJECT.md`
17
+
18
+ </required_reading>
19
+
20
+ <archival_behavior>
21
+
22
+ When a milestone completes, this workflow:
23
+
24
+ 1. Extracts full milestone details to `.planning/milestones/v[X.Y]-ROADMAP.md`
25
+ 2. Updates ROADMAP.md to replace milestone details with one-line summary
26
+ 3. Links to archive file for historical reference
27
+ 4. Performs full PROJECT.md evolution review
28
+ 5. Offers to create next milestone inline
29
+
30
+ **Context Efficiency:**
31
+
32
+ - Completed milestones: One line each (~50 tokens)
33
+ - Full details: In archive files (loaded only when needed)
34
+ - Result: ROADMAP.md stays constant size (~1-2k lines) forever
35
+
36
+ **Archive Format:**
37
+ Uses `templates/milestone-archive.md` template with:
38
+
39
+ - Milestone header (status, phases, date)
40
+ - Full phase details from roadmap
41
+ - Milestone summary (decisions, issues, technical debt)
42
+
43
+ </archival_behavior>
44
+
45
+ <process>
46
+
47
+ <step name="verify_readiness">
48
+
49
+ Check if milestone is truly complete:
50
+
51
+ ```bash
52
+ cat .planning/ROADMAP.md
53
+ ls .planning/phases/*/SUMMARY.md 2>/dev/null | wc -l
54
+ ```
55
+
56
+ **Questions to ask:**
57
+
58
+ - Which phases belong to this milestone?
59
+ - Are all those phases complete (all plans have summaries)?
60
+ - Has the work been tested/validated?
61
+ - Is this ready to ship/tag?
62
+
63
+ Present:
64
+
65
+ ```
66
+ Milestone: [Name from user, e.g., "v1.0 MVP"]
67
+
68
+ Appears to include:
69
+ - Phase 1: Foundation (2/2 plans complete)
70
+ - Phase 2: Authentication (2/2 plans complete)
71
+ - Phase 3: Core Features (3/3 plans complete)
72
+ - Phase 4: Polish (1/1 plan complete)
73
+
74
+ Total: 4 phases, 8 plans, all complete
75
+ ```
76
+
77
+ <config-check>
78
+
79
+ ```bash
80
+ cat .planning/config.json 2>/dev/null
81
+ ```
82
+
83
+ </config-check>
84
+
85
+ <if mode="yolo">
86
+
87
+ ```
88
+ ⚡ Auto-approved: Milestone scope verification
89
+
90
+ [Show breakdown summary without prompting]
91
+
92
+ Proceeding to stats gathering...
93
+ ```
94
+
95
+ Proceed directly to gather_stats step.
96
+
97
+ </if>
98
+
99
+ <if mode="interactive" OR="custom with gates.confirm_milestone_scope true">
100
+
101
+ ```
102
+ Ready to mark this milestone as shipped?
103
+ (yes / wait / adjust scope)
104
+ ```
105
+
106
+ Wait for confirmation.
107
+
108
+ If "adjust scope": Ask which phases should be included.
109
+ If "wait": Stop, user will return when ready.
110
+
111
+ </if>
112
+
113
+ </step>
114
+
115
+ <step name="gather_stats">
116
+
117
+ Calculate milestone statistics:
118
+
119
+ ```bash
120
+ # Count phases and plans in milestone
121
+ # (user specified or detected from roadmap)
122
+
123
+ # Find git range
124
+ git log --oneline --grep="feat(" | head -20
125
+
126
+ # Count files modified in range
127
+ git diff --stat FIRST_COMMIT..LAST_COMMIT | tail -1
128
+
129
+ # Count LOC (adapt to language)
130
+ find . -name "*.swift" -o -name "*.ts" -o -name "*.py" | xargs wc -l 2>/dev/null
131
+
132
+ # Calculate timeline
133
+ git log --format="%ai" FIRST_COMMIT | tail -1 # Start date
134
+ git log --format="%ai" LAST_COMMIT | head -1 # End date
135
+ ```
136
+
137
+ Present summary:
138
+
139
+ ```
140
+ Milestone Stats:
141
+ - Phases: [X-Y]
142
+ - Plans: [Z] total
143
+ - Tasks: [N] total (estimated from phase summaries)
144
+ - Files modified: [M]
145
+ - Lines of code: [LOC] [language]
146
+ - Timeline: [Days] days ([Start] → [End])
147
+ - Git range: feat(XX-XX) → feat(YY-YY)
148
+ ```
149
+
150
+ </step>
151
+
152
+ <step name="extract_accomplishments">
153
+
154
+ Read all phase SUMMARY.md files in milestone range:
155
+
156
+ ```bash
157
+ cat .planning/phases/01-*/01-*-SUMMARY.md
158
+ cat .planning/phases/02-*/02-*-SUMMARY.md
159
+ # ... for each phase in milestone
160
+ ```
161
+
162
+ From summaries, extract 4-6 key accomplishments.
163
+
164
+ Present:
165
+
166
+ ```
167
+ Key accomplishments for this milestone:
168
+ 1. [Achievement from phase 1]
169
+ 2. [Achievement from phase 2]
170
+ 3. [Achievement from phase 3]
171
+ 4. [Achievement from phase 4]
172
+ 5. [Achievement from phase 5]
173
+ ```
174
+
175
+ </step>
176
+
177
+ <step name="create_milestone_entry">
178
+
179
+ Create or update `.planning/MILESTONES.md`.
180
+
181
+ If file doesn't exist:
182
+
183
+ ```markdown
184
+ # Project Milestones: [Project Name from PROJECT.md]
185
+
186
+ [New entry]
187
+ ```
188
+
189
+ If exists, prepend new entry (reverse chronological order).
190
+
191
+ Use template from `templates/milestone.md`:
192
+
193
+ ```markdown
194
+ ## v[Version] [Name] (Shipped: YYYY-MM-DD)
195
+
196
+ **Delivered:** [One sentence from user]
197
+
198
+ **Phases completed:** [X-Y] ([Z] plans total)
199
+
200
+ **Key accomplishments:**
201
+
202
+ - [List from previous step]
203
+
204
+ **Stats:**
205
+
206
+ - [Files] files created/modified
207
+ - [LOC] lines of [language]
208
+ - [Phases] phases, [Plans] plans, [Tasks] tasks
209
+ - [Days] days from [start milestone or start project] to ship
210
+
211
+ **Git range:** `feat(XX-XX)` → `feat(YY-YY)`
212
+
213
+ **What's next:** [Ask user: what's the next goal?]
214
+
215
+ ---
216
+ ```
217
+
218
+ </step>
219
+
220
+ <step name="evolve_project_full_review">
221
+
222
+ Perform full PROJECT.md evolution review at milestone completion.
223
+
224
+ **Read all phase summaries in this milestone:**
225
+
226
+ ```bash
227
+ cat .planning/phases/*-*/*-SUMMARY.md
228
+ ```
229
+
230
+ **Full review checklist:**
231
+
232
+ 1. **"What This Is" accuracy:**
233
+ - Read current description
234
+ - Compare to what was actually built
235
+ - Update if the product has meaningfully changed
236
+
237
+ 2. **Core Value check:**
238
+ - Is the stated core value still the right priority?
239
+ - Did shipping reveal a different core value?
240
+ - Update if the ONE thing has shifted
241
+
242
+ 3. **Requirements audit:**
243
+
244
+ **Validated section:**
245
+ - All Active requirements shipped in this milestone → Move to Validated
246
+ - Format: `- ✓ [Requirement] — v[X.Y]`
247
+
248
+ **Active section:**
249
+ - Remove requirements that moved to Validated
250
+ - Add any new requirements for next milestone
251
+ - Keep requirements that weren't addressed yet
252
+
253
+ **Out of Scope audit:**
254
+ - Review each item — is the reasoning still valid?
255
+ - Remove items that are no longer relevant
256
+ - Add any requirements invalidated during this milestone
257
+
258
+ 4. **Context update:**
259
+ - Current codebase state (LOC, tech stack)
260
+ - User feedback themes (if any)
261
+ - Known issues or technical debt to address
262
+
263
+ 5. **Key Decisions audit:**
264
+ - Extract all decisions from milestone phase summaries
265
+ - Add to Key Decisions table with outcomes where known
266
+ - Mark ✓ Good, ⚠️ Revisit, or — Pending for each
267
+
268
+ 6. **Constraints check:**
269
+ - Any constraints that changed during development?
270
+ - Update as needed
271
+
272
+ **Update PROJECT.md:**
273
+
274
+ Make all edits inline. Update "Last updated" footer:
275
+
276
+ ```markdown
277
+ ---
278
+ *Last updated: [date] after v[X.Y] milestone*
279
+ ```
280
+
281
+ **Example full evolution (v1.0 → v1.1 prep):**
282
+
283
+ Before:
284
+
285
+ ```markdown
286
+ ## What This Is
287
+
288
+ A real-time collaborative whiteboard for remote teams.
289
+
290
+ ## Core Value
291
+
292
+ Real-time sync that feels instant.
293
+
294
+ ## Requirements
295
+
296
+ ### Validated
297
+
298
+ (None yet — ship to validate)
299
+
300
+ ### Active
301
+
302
+ - [ ] Canvas drawing tools
303
+ - [ ] Real-time sync < 500ms
304
+ - [ ] User authentication
305
+ - [ ] Export to PNG
306
+
307
+ ### Out of Scope
308
+
309
+ - Mobile app — web-first approach
310
+ - Video chat — use external tools
311
+ ```
312
+
313
+ After v1.0:
314
+
315
+ ```markdown
316
+ ## What This Is
317
+
318
+ A real-time collaborative whiteboard for remote teams with instant sync and drawing tools.
319
+
320
+ ## Core Value
321
+
322
+ Real-time sync that feels instant.
323
+
324
+ ## Requirements
325
+
326
+ ### Validated
327
+
328
+ - ✓ Canvas drawing tools — v1.0
329
+ - ✓ Real-time sync < 500ms — v1.0 (achieved 200ms avg)
330
+ - ✓ User authentication — v1.0
331
+
332
+ ### Active
333
+
334
+ - [ ] Export to PNG
335
+ - [ ] Undo/redo history
336
+ - [ ] Shape tools (rectangles, circles)
337
+
338
+ ### Out of Scope
339
+
340
+ - Mobile app — web-first approach, PWA works well
341
+ - Video chat — use external tools
342
+ - Offline mode — real-time is core value
343
+
344
+ ## Context
345
+
346
+ Shipped v1.0 with 2,400 LOC TypeScript.
347
+ Tech stack: Next.js, Supabase, Canvas API.
348
+ Initial user testing showed demand for shape tools.
349
+ ```
350
+
351
+ **Step complete when:**
352
+
353
+ - [ ] "What This Is" reviewed and updated if needed
354
+ - [ ] Core Value verified as still correct
355
+ - [ ] All shipped requirements moved to Validated
356
+ - [ ] New requirements added to Active for next milestone
357
+ - [ ] Out of Scope reasoning audited
358
+ - [ ] Context updated with current state
359
+ - [ ] All milestone decisions added to Key Decisions
360
+ - [ ] "Last updated" footer reflects milestone completion
361
+
362
+ </step>
363
+
364
+ <step name="reorganize_roadmap">
365
+
366
+ Update `.planning/ROADMAP.md` to group completed milestone phases.
367
+
368
+ Add milestone headers and collapse completed work:
369
+
370
+ ```markdown
371
+ # Roadmap: [Project Name]
372
+
373
+ ## Milestones
374
+
375
+ - ✅ **v1.0 MVP** — Phases 1-4 (shipped YYYY-MM-DD)
376
+ - 🚧 **v1.1 Security** — Phases 5-6 (in progress)
377
+ - 📋 **v2.0 Redesign** — Phases 7-10 (planned)
378
+
379
+ ## Phases
380
+
381
+ <details>
382
+ <summary>✅ v1.0 MVP (Phases 1-4) — SHIPPED YYYY-MM-DD</summary>
383
+
384
+ - [x] Phase 1: Foundation (2/2 plans) — completed YYYY-MM-DD
385
+ - [x] Phase 2: Authentication (2/2 plans) — completed YYYY-MM-DD
386
+ - [x] Phase 3: Core Features (3/3 plans) — completed YYYY-MM-DD
387
+ - [x] Phase 4: Polish (1/1 plan) — completed YYYY-MM-DD
388
+
389
+ </details>
390
+
391
+ ### 🚧 v[Next] [Name] (In Progress / Planned)
392
+
393
+ - [ ] Phase 5: [Name] ([N] plans)
394
+ - [ ] Phase 6: [Name] ([N] plans)
395
+
396
+ ## Progress
397
+
398
+ | Phase | Milestone | Plans Complete | Status | Completed |
399
+ | ----------------- | --------- | -------------- | ----------- | ---------- |
400
+ | 1. Foundation | v1.0 | 2/2 | Complete | YYYY-MM-DD |
401
+ | 2. Authentication | v1.0 | 2/2 | Complete | YYYY-MM-DD |
402
+ | 3. Core Features | v1.0 | 3/3 | Complete | YYYY-MM-DD |
403
+ | 4. Polish | v1.0 | 1/1 | Complete | YYYY-MM-DD |
404
+ | 5. Security Audit | v1.1 | 0/1 | Not started | - |
405
+ | 6. Hardening | v1.1 | 0/2 | Not started | - |
406
+ ```
407
+
408
+ </step>
409
+
410
+ <step name="archive_milestone">
411
+
412
+ Extract completed milestone details and create archive file.
413
+
414
+ **Process:**
415
+
416
+ 1. Create archive file path: `.planning/milestones/v[X.Y]-ROADMAP.md`
417
+
418
+ 2. Read `~/.config/opencode/get-shit-done/templates/milestone-archive.md` template
419
+
420
+ 3. Extract data from current ROADMAP.md:
421
+ - All phases belonging to this milestone (by phase number range)
422
+ - Full phase details (goals, plans, dependencies, status)
423
+ - Phase plan lists with completion checkmarks
424
+
425
+ 4. Extract data from PROJECT.md:
426
+ - Key decisions made during this milestone
427
+ - Requirements that were validated
428
+
429
+ 5. Fill template {{PLACEHOLDERS}}:
430
+ - {{VERSION}} — Milestone version (e.g., "1.0")
431
+ - {{MILESTONE_NAME}} — From ROADMAP.md milestone header
432
+ - {{DATE}} — Today's date
433
+ - {{PHASE_START}} — First phase number in milestone
434
+ - {{PHASE_END}} — Last phase number in milestone
435
+ - {{TOTAL_PLANS}} — Count of all plans in milestone
436
+ - {{MILESTONE_DESCRIPTION}} — From ROADMAP.md overview
437
+ - {{PHASES_SECTION}} — Full phase details extracted
438
+ - {{DECISIONS_FROM_PROJECT}} — Key decisions from PROJECT.md
439
+ - {{ISSUES_RESOLVED_DURING_MILESTONE}} — From summaries
440
+ - {{ISSUES_DEFERRED_TO_LATER}} — From ISSUES.md
441
+
442
+ 6. Write filled template to `.planning/milestones/v[X.Y]-ROADMAP.md`
443
+
444
+ 7. Update ROADMAP.md:
445
+ - Create/update "## Completed Milestones" section if not exists
446
+ - Add one-line entry: `- ✅ [v[X.Y] [Name]](milestones/v[X.Y]-ROADMAP.md) (Phases [N]-[M]) — SHIPPED [DATE]`
447
+ - Remove full milestone details from "Current Milestone" section
448
+ - Move next planned milestone to "Current Milestone" position
449
+
450
+ 8. Verify files:
451
+ - Check archive file exists: `ls .planning/milestones/v[X.Y]-ROADMAP.md`
452
+ - Validate ROADMAP.md still parseable
453
+
454
+ 9. Confirm archive complete:
455
+
456
+ ```
457
+ ✅ v[X.Y] archived to milestones/v[X.Y]-ROADMAP.md
458
+ ```
459
+
460
+ </step>
461
+
462
+ <step name="update_state">
463
+
464
+ Update STATE.md to reflect milestone completion.
465
+
466
+ **Project Reference:**
467
+
468
+ ```markdown
469
+ ## Project Reference
470
+
471
+ See: .planning/PROJECT.md (updated [today])
472
+
473
+ **Core value:** [Current core value from PROJECT.md]
474
+ **Current focus:** [Next milestone or "Planning next milestone"]
475
+ ```
476
+
477
+ **Current Position:**
478
+
479
+ ```markdown
480
+ Phase: [Next phase] of [Total] ([Phase name])
481
+ Plan: Not started
482
+ Status: Ready to plan
483
+ Last activity: [today] — v[X.Y] milestone complete
484
+
485
+ Progress: [updated progress bar]
486
+ ```
487
+
488
+ **Accumulated Context:**
489
+
490
+ - Clear decisions summary (full log in PROJECT.md)
491
+ - Clear resolved blockers
492
+ - Keep open blockers for next milestone
493
+
494
+ </step>
495
+
496
+ <step name="git_tag">
497
+
498
+ Create git tag for milestone:
499
+
500
+ ```bash
501
+ git tag -a v[X.Y] -m "$(cat <<'EOF'
502
+ v[X.Y] [Name]
503
+
504
+ Delivered: [One sentence]
505
+
506
+ Key accomplishments:
507
+ - [Item 1]
508
+ - [Item 2]
509
+ - [Item 3]
510
+
511
+ See .planning/MILESTONES.md for full details.
512
+ EOF
513
+ )"
514
+ ```
515
+
516
+ Confirm: "Tagged: v[X.Y]"
517
+
518
+ Ask: "Push tag to remote? (y/n)"
519
+
520
+ If yes:
521
+
522
+ ```bash
523
+ git push origin v[X.Y]
524
+ ```
525
+
526
+ </step>
527
+
528
+ <step name="git_commit_milestone">
529
+
530
+ Commit milestone completion including archive file.
531
+
532
+ ```bash
533
+ # Stage all milestone-related files
534
+ git add .planning/MILESTONES.md
535
+ git add .planning/PROJECT.md
536
+ git add .planning/ROADMAP.md
537
+ git add .planning/STATE.md
538
+ git add .planning/milestones/v[X.Y]-ROADMAP.md
539
+
540
+ # Commit with descriptive message
541
+ git commit -m "$(cat <<'EOF'
542
+ chore: complete v[X.Y] milestone
543
+
544
+ - Added MILESTONES.md entry
545
+ - Evolved PROJECT.md with validated requirements
546
+ - Reorganized ROADMAP.md with milestone grouping
547
+ - Created milestone archive: milestones/v[X.Y]-ROADMAP.md
548
+ - Updated STATE.md
549
+ - Tagged v[X.Y]
550
+ EOF
551
+ )"
552
+ ```
553
+
554
+ Confirm: "Committed: chore: complete v[X.Y] milestone"
555
+
556
+ </step>
557
+
558
+ <step name="offer_next">
559
+
560
+ ```
561
+ ✅ Milestone v[X.Y] [Name] complete
562
+
563
+ Shipped:
564
+ - [N] phases ([M] plans, [P] tasks)
565
+ - [One sentence of what shipped]
566
+
567
+ Summary: .planning/MILESTONES.md
568
+ Tag: v[X.Y]
569
+
570
+ ---
571
+
572
+ ## ▶ Next Up
573
+
574
+ **Plan Next Milestone** — define v[X.Y+1] features and scope
575
+
576
+ `/gsd:discuss-milestone`
577
+
578
+ <sub>`/clear` first → fresh context window</sub>
579
+
580
+ ---
581
+
582
+ **Also available:**
583
+ - `/gsd:new-milestone` — create directly if scope is clear
584
+
585
+ ---
586
+ ```
587
+
588
+ </step>
589
+
590
+ </process>
591
+
592
+ <milestone_naming>
593
+
594
+ **Version conventions:**
595
+ - **v1.0** — Initial MVP
596
+ - **v1.1, v1.2, v1.3** — Minor updates, new features, fixes
597
+ - **v2.0, v3.0** — Major rewrites, breaking changes, significant new direction
598
+
599
+ **Name conventions:**
600
+ - v1.0 MVP
601
+ - v1.1 Security
602
+ - v1.2 Performance
603
+ - v2.0 Redesign
604
+ - v2.0 iOS Launch
605
+
606
+ Keep names short (1-2 words describing the focus).
607
+
608
+ </milestone_naming>
609
+
610
+ <what_qualifies>
611
+
612
+ **Create milestones for:**
613
+ - Initial release (v1.0)
614
+ - Public releases
615
+ - Major feature sets shipped
616
+ - Before archiving planning
617
+
618
+ **Don't create milestones for:**
619
+ - Every phase completion (too granular)
620
+ - Work in progress (wait until shipped)
621
+ - Internal dev iterations (unless truly shipped internally)
622
+
623
+ If uncertain, ask: "Is this deployed/usable/shipped in some form?"
624
+ If yes → milestone. If no → keep working.
625
+
626
+ </what_qualifies>
627
+
628
+ <success_criteria>
629
+
630
+ Milestone completion is successful when:
631
+
632
+ - [ ] MILESTONES.md entry created with stats and accomplishments
633
+ - [ ] PROJECT.md full evolution review completed
634
+ - [ ] All shipped requirements moved to Validated
635
+ - [ ] Key Decisions updated with outcomes
636
+ - [ ] ROADMAP.md reorganized with milestone grouping
637
+ - [ ] Milestone archive created
638
+ - [ ] STATE.md updated with fresh project reference
639
+ - [ ] Git tag created (v[X.Y])
640
+ - [ ] Milestone commit made
641
+ - [ ] User knows next steps
642
+
643
+ </success_criteria>