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,416 @@
1
+ <purpose>
2
+ Create a new milestone for an existing project. Defines phases, updates roadmap, and resets state tracking for the new milestone.
3
+
4
+ This is used after completing a milestone when ready to define the next chunk of work.
5
+ </purpose>
6
+
7
+ <required_reading>
8
+ **Read these files NOW:**
9
+
10
+ 1. ~/.config/opencode/get-shit-done/templates/roadmap.md (milestone-grouped format)
11
+ 2. `.planning/ROADMAP.md`
12
+ 3. `.planning/STATE.md`
13
+ 4. `.planning/MILESTONES.md` (if exists)
14
+ </required_reading>
15
+
16
+ <process>
17
+
18
+ <step name="load_context">
19
+ Load project context:
20
+
21
+ ```bash
22
+ cat .planning/ROADMAP.md
23
+ cat .planning/STATE.md
24
+ cat .planning/MILESTONES.md 2>/dev/null || echo "No milestones file yet"
25
+ cat .planning/MILESTONE-CONTEXT.md 2>/dev/null || echo "No milestone context file"
26
+ ```
27
+
28
+ Extract:
29
+
30
+ - Previous milestone version (e.g., v1.0)
31
+ - Last phase number used
32
+ - Deferred issues from STATE.md
33
+ - Project context from PROJECT.md (What This Is, Core Value)
34
+
35
+ **Check for milestone context from discuss-milestone:**
36
+
37
+ If `.planning/MILESTONE-CONTEXT.md` exists:
38
+ - This contains context from `/gsd:discuss-milestone`
39
+ - Extract: features, suggested name, phase mapping, constraints
40
+ - Use this to pre-populate milestone details (skip prompting for info already gathered)
41
+
42
+ **Calculate next milestone version:**
43
+
44
+ - If previous was v1.0 → suggest v1.1 (minor) or v2.0 (major)
45
+ - If previous was v1.3 → suggest v1.4 or v2.0
46
+ - Parse from ROADMAP.md "Completed Milestones" section
47
+ </step>
48
+
49
+ <step name="get_milestone_info">
50
+ **If MILESTONE-CONTEXT.md exists (from /gsd:discuss-milestone):**
51
+ Use the features, scope, and constraints from the context file.
52
+ Use the suggested milestone name from `<scope>` section.
53
+ Use the phase mapping from `<phase_mapping>` section.
54
+
55
+ **If called directly (no MILESTONE-CONTEXT.md):**
56
+ Ask for milestone details:
57
+
58
+ header: "Milestone Name"
59
+ question: "What should we call this milestone?"
60
+ options:
61
+
62
+ - "v[X.Y] Features" - Adding new functionality
63
+ - "v[X.Y] Improvements" - Enhancing existing features
64
+ - "v[X.Y] Fixes" - Bug fixes and stability
65
+ - "v[X.Y] Refactor" - Code quality and architecture
66
+ - "v[X.Y+1].0 [Major]" - Major version bump
67
+ - "Other" - Custom name
68
+
69
+ Get milestone name in format: "v[X.Y] [Name]"
70
+ </step>
71
+
72
+ <step name="identify_phases">
73
+ **Calculate starting phase number:**
74
+
75
+ ```bash
76
+ # Find highest phase number from roadmap
77
+ grep -E "^### Phase [0-9]+" .planning/ROADMAP.md | tail -1
78
+ # Extract number, add 1
79
+ ```
80
+
81
+ Next phase starts at: [last_phase + 1]
82
+
83
+ **Check depth setting and gather phases accordingly:**
84
+
85
+ ```bash
86
+ cat .planning/config.json 2>/dev/null | grep depth
87
+ ```
88
+
89
+ | Depth | Phases/Milestone |
90
+ |-------|------------------|
91
+ | Quick | 3-5 |
92
+ | Standard | 5-8 |
93
+ | Comprehensive | 8-12 |
94
+
95
+ If context from discuss-milestone provided, use that scope.
96
+
97
+ Otherwise, ask:
98
+
99
+ ```
100
+ What phases should this milestone include?
101
+
102
+ Starting at Phase [N]:
103
+ - Phase [N]: [name] - [one-line goal]
104
+ - Phase [N+1]: [name] - [one-line goal]
105
+ ...
106
+
107
+ Describe the phases, or say "help me break this down" for guidance.
108
+ ```
109
+
110
+ For each phase, capture:
111
+
112
+ - Phase number (continuing sequence)
113
+ - Phase name (kebab-case for directory)
114
+ - One-line goal
115
+ - Research flag (Likely/Unlikely based on triggers)
116
+ </step>
117
+
118
+ <step name="detect_research_needs">
119
+ **For each phase, determine if research is likely needed.**
120
+
121
+ Apply research triggers from create-roadmap.md:
122
+
123
+ <research_triggers>
124
+ **Likely (flag the phase):**
125
+
126
+ | Trigger Pattern | Why Research Needed |
127
+ | ----------------------------------------------------- | --------------------------------------- |
128
+ | "integrate [service]", "connect to [API]" | External API - need current docs |
129
+ | "authentication", "auth", "login", "JWT" | Architectural decision + library choice |
130
+ | "payment", "billing", "Stripe", "subscription" | External API + compliance patterns |
131
+ | "email", "SMS", "notifications", "SendGrid", "Twilio" | External service integration |
132
+ | "database", "Postgres", "MongoDB", "Supabase" | If new to project - setup patterns |
133
+ | "real-time", "websocket", "sync", "live updates" | Architectural decision |
134
+ | "deploy", "Vercel", "Railway", "hosting" | If first deployment - config patterns |
135
+ | "choose between", "select", "evaluate", "which" | Explicit decision needed |
136
+ | "AI", "OpenAI", "Claude", "LLM", "embeddings" | Fast-moving APIs - need current docs |
137
+ | Any technology not already in codebase | New integration |
138
+
139
+ **Unlikely (no flag needed):**
140
+
141
+ | Pattern | Why No Research |
142
+ | ------------------------------------------- | ----------------------- |
143
+ | "add button", "create form", "update UI" | Internal patterns |
144
+ | "CRUD operations", "list/detail views" | Standard patterns |
145
+ | "refactor", "reorganize", "clean up" | Internal work |
146
+ | "following existing patterns" | Conventions established |
147
+ | Technology already in package.json/codebase | Patterns exist |
148
+
149
+ </research_triggers>
150
+
151
+ Present research assessment:
152
+
153
+ ```
154
+ Research needs detected:
155
+
156
+ Phase [N]: [Name]
157
+ Research: Unlikely (internal patterns)
158
+
159
+ Phase [N+1]: [Name]
160
+ Research: Likely (new API integration)
161
+ Topics: [What to investigate]
162
+
163
+ Does this look right? (yes / adjust)
164
+ ```
165
+
166
+ </step>
167
+
168
+ <step name="confirm_phases">
169
+ <config-check>
170
+ ```bash
171
+ cat .planning/config.json 2>/dev/null
172
+ ```
173
+ </config-check>
174
+
175
+ <if mode="yolo">
176
+ ```
177
+ ⚡ Auto-approved: Milestone phases ([N] phases)
178
+
179
+ 1. Phase [X]: [Name] - [goal]
180
+ 2. Phase [X+1]: [Name] - [goal]
181
+ ...
182
+
183
+ Proceeding to create milestone structure...
184
+ ```
185
+
186
+ Proceed directly to update_roadmap step.
187
+ </if>
188
+
189
+ <if mode="interactive" OR="missing OR custom with gates.confirm_phases true">
190
+ Present the phase breakdown:
191
+
192
+ ```
193
+ Milestone: v[X.Y] [Name]
194
+
195
+ Phases:
196
+ 1. Phase [X]: [Name] - [goal]
197
+ 2. Phase [X+1]: [Name] - [goal]
198
+ 3. Phase [X+2]: [Name] - [goal]
199
+
200
+ Does this feel right? (yes / adjust)
201
+ ```
202
+
203
+ If "adjust": Ask what to change, revise, present again.
204
+ </step>
205
+
206
+ <step name="update_roadmap">
207
+ Write new milestone details to `.planning/ROADMAP.md`.
208
+
209
+ **File to update:** `.planning/ROADMAP.md`
210
+
211
+ The main ROADMAP.md file holds full phase details for the active milestone. Archive files in `milestones/` are created only when a milestone ships (via `/gsd:complete-milestone`).
212
+
213
+ **Process:**
214
+
215
+ **1. Update Milestones section:**
216
+
217
+ Add the new milestone to the milestones list. Completed milestones show as links to their archive files, new milestone shows as in-progress.
218
+
219
+ ```markdown
220
+ ## Milestones
221
+
222
+ - ✅ **v1.0 [Previous]** - [link to milestones/v1.0-ROADMAP.md] (Phases 1-9, shipped YYYY-MM-DD)
223
+ - 🚧 **v[X.Y] [Name]** - Phases [N]-[M] (in progress)
224
+ ```
225
+
226
+ **2. Add full phase details:**
227
+
228
+ Write complete phase sections for all phases in this milestone. Each phase gets full details including goal, dependencies, research assessment, and plan placeholders.
229
+
230
+ ```markdown
231
+ ### 🚧 v[X.Y] [Name] (In Progress)
232
+
233
+ **Milestone Goal:** [One sentence describing what this milestone delivers]
234
+
235
+ #### Phase [N]: [Name]
236
+
237
+ **Goal**: [What this phase delivers]
238
+ **Depends on**: Phase [N-1] (or "Previous milestone complete")
239
+ **Research**: [Likely/Unlikely] ([reason])
240
+ **Research topics**: [If Likely, what to investigate]
241
+ **Plans**: TBD
242
+
243
+ Plans:
244
+ - [ ] [N]-01: TBD (run /gsd:plan-phase [N] to break down)
245
+
246
+ #### Phase [N+1]: [Name]
247
+
248
+ **Goal**: [What this phase delivers]
249
+ **Depends on**: Phase [N]
250
+ **Research**: [Likely/Unlikely] ([reason])
251
+ **Plans**: TBD
252
+
253
+ Plans:
254
+ - [ ] [N+1]-01: TBD
255
+
256
+ [... continue for all phases in this milestone ...]
257
+ ```
258
+
259
+ **3. Update Progress table:**
260
+
261
+ Add rows for all new phases with milestone attribution.
262
+
263
+ ```markdown
264
+ | Phase | Milestone | Plans | Status | Completed |
265
+ | ------------- | --------- | ----- | ----------- | --------- |
266
+ | [N]. [Name] | v[X.Y] | 0/? | Not started | - |
267
+ | [N+1]. [Name] | v[X.Y] | 0/? | Not started | - |
268
+ ```
269
+
270
+ </step>
271
+
272
+ <step name="create_phase_directories">
273
+ Create directories for new phases:
274
+
275
+ ```bash
276
+ mkdir -p .planning/phases/[NN]-[slug]
277
+ mkdir -p .planning/phases/[NN+1]-[slug]
278
+ # ... for each phase
279
+ ```
280
+
281
+ Use two-digit padding: `10-name`, `11-name`, etc.
282
+ </step>
283
+
284
+ <step name="update_state">
285
+ Update `.planning/STATE.md` for new milestone:
286
+
287
+ **Update Current Position:**
288
+
289
+ ```markdown
290
+ ## Current Position
291
+
292
+ Phase: [N] of [M] ([First phase name])
293
+ Plan: Not started
294
+ Status: Ready to plan
295
+ Last activity: [today's date] - Milestone v[X.Y] created
296
+
297
+ Progress: ░░░░░░░░░░ 0%
298
+ ```
299
+
300
+ **Update Accumulated Context:**
301
+
302
+ Keep decisions from previous milestone (they're historical record).
303
+ Clear "Blockers/Concerns Carried Forward" section.
304
+
305
+ **Add to Roadmap Evolution:**
306
+
307
+ ```markdown
308
+ ### Roadmap Evolution
309
+
310
+ - Milestone v[X.Y] created: [theme/focus], [N] phases (Phase [start]-[end])
311
+ ```
312
+
313
+ **Update Session Continuity:**
314
+
315
+ ```markdown
316
+ ## Session Continuity
317
+
318
+ Last session: [today's date and time]
319
+ Stopped at: Milestone v[X.Y] initialization
320
+ Resume file: None
321
+ ```
322
+
323
+ </step>
324
+
325
+ <step name="git_commit">
326
+ Commit milestone creation:
327
+
328
+ ```bash
329
+ git add .planning/ROADMAP.md .planning/STATE.md
330
+ git add .planning/phases/
331
+ git commit -m "$(cat <<'EOF'
332
+ docs: create milestone v[X.Y] [Name] ([N] phases)
333
+
334
+ Phases:
335
+ - [N]. [name]: [goal]
336
+ - [N+1]. [name]: [goal]
337
+ - [N+2]. [name]: [goal]
338
+ EOF
339
+ )"
340
+ ```
341
+
342
+ Confirm: "Committed: docs: create milestone v[X.Y] [Name]"
343
+ </step>
344
+
345
+ <step name="cleanup_context">
346
+ Delete the temporary milestone context file if it exists:
347
+
348
+ ```bash
349
+ rm -f .planning/MILESTONE-CONTEXT.md
350
+ ```
351
+
352
+ This file was a handoff artifact from `/gsd:discuss-milestone`. Now that the milestone is created, the context is persisted in ROADMAP.md and the temporary file is no longer needed.
353
+ </step>
354
+
355
+ <step name="offer_next">
356
+ ```
357
+ Milestone v[X.Y] [Name] created:
358
+ - Phases: [N]-[M] ([count] phases)
359
+ - Directories created
360
+ - ROADMAP.md updated
361
+ - STATE.md reset for new milestone
362
+
363
+ ---
364
+
365
+ ## ▶ Next Up
366
+
367
+ **Phase [N]: [Name]** — [Goal from ROADMAP.md]
368
+
369
+ `/gsd:plan-phase [N]`
370
+
371
+ <sub>`/clear` first → fresh context window</sub>
372
+
373
+ ---
374
+
375
+ **Also available:**
376
+ - `/gsd:discuss-phase [N]` — gather context first
377
+ - `/gsd:research-phase [N]` — investigate unknowns
378
+ - Review roadmap
379
+
380
+ ---
381
+ ```
382
+ </step>
383
+
384
+ </process>
385
+
386
+ <phase_naming>
387
+ Use `XX-kebab-case-name` format with continuous numbering:
388
+ - `10-user-profiles`
389
+ - `11-notifications`
390
+ - `12-analytics`
391
+
392
+ Numbers continue from previous milestone. Names describe content.
393
+ </phase_naming>
394
+
395
+ <anti_patterns>
396
+ - Don't restart phase numbering at 01 (continue sequence)
397
+ - Don't add time estimates
398
+ - Don't create Gantt charts
399
+ - Respect depth setting for phase count (quick: 3-5, standard: 5-8, comprehensive: 8-12)
400
+ - Don't modify completed milestone sections
401
+
402
+ Milestones are coherent chunks of work, not project management artifacts.
403
+ </anti_patterns>
404
+
405
+ <success_criteria>
406
+ Milestone creation is complete when:
407
+ - [ ] Next phase number calculated correctly (continues from previous)
408
+ - [ ] Phases defined per depth setting (quick: 3-5, standard: 5-8, comprehensive: 8-12)
409
+ - [ ] Research flags assigned for each phase
410
+ - [ ] ROADMAP.md updated with new milestone section
411
+ - [ ] Phase directories created
412
+ - [ ] STATE.md reset for new milestone
413
+ - [ ] Git commit made
414
+ - [ ] User knows next steps
415
+ </success_criteria>
416
+ ```