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.
- package/bin/install.js +222 -0
- package/command/gsd/add-phase.md +207 -0
- package/command/gsd/complete-milestone.md +105 -0
- package/command/gsd/consider-issues.md +201 -0
- package/command/gsd/create-roadmap.md +115 -0
- package/command/gsd/discuss-milestone.md +47 -0
- package/command/gsd/discuss-phase.md +60 -0
- package/command/gsd/execute-plan.md +128 -0
- package/command/gsd/help.md +315 -0
- package/command/gsd/insert-phase.md +227 -0
- package/command/gsd/list-phase-assumptions.md +50 -0
- package/command/gsd/map-codebase.md +84 -0
- package/command/gsd/new-milestone.md +59 -0
- package/command/gsd/new-project.md +316 -0
- package/command/gsd/pause-work.md +122 -0
- package/command/gsd/plan-fix.md +205 -0
- package/command/gsd/plan-phase.md +67 -0
- package/command/gsd/progress.md +316 -0
- package/command/gsd/remove-phase.md +338 -0
- package/command/gsd/research-phase.md +91 -0
- package/command/gsd/resume-work.md +40 -0
- package/command/gsd/verify-work.md +71 -0
- package/get-shit-done/references/checkpoints.md +287 -0
- package/get-shit-done/references/continuation-format.md +255 -0
- package/get-shit-done/references/git-integration.md +254 -0
- package/get-shit-done/references/plan-format.md +428 -0
- package/get-shit-done/references/principles.md +157 -0
- package/get-shit-done/references/questioning.md +162 -0
- package/get-shit-done/references/research-pitfalls.md +215 -0
- package/get-shit-done/references/scope-estimation.md +172 -0
- package/get-shit-done/references/tdd.md +263 -0
- package/get-shit-done/templates/codebase/architecture.md +255 -0
- package/get-shit-done/templates/codebase/concerns.md +310 -0
- package/get-shit-done/templates/codebase/conventions.md +307 -0
- package/get-shit-done/templates/codebase/integrations.md +280 -0
- package/get-shit-done/templates/codebase/stack.md +186 -0
- package/get-shit-done/templates/codebase/structure.md +285 -0
- package/get-shit-done/templates/codebase/testing.md +480 -0
- package/get-shit-done/templates/config.json +18 -0
- package/get-shit-done/templates/context.md +161 -0
- package/get-shit-done/templates/continue-here.md +78 -0
- package/get-shit-done/templates/discovery.md +146 -0
- package/get-shit-done/templates/issues.md +32 -0
- package/get-shit-done/templates/milestone-archive.md +123 -0
- package/get-shit-done/templates/milestone-context.md +93 -0
- package/get-shit-done/templates/milestone.md +115 -0
- package/get-shit-done/templates/phase-prompt.md +303 -0
- package/get-shit-done/templates/project.md +184 -0
- package/get-shit-done/templates/research.md +529 -0
- package/get-shit-done/templates/roadmap.md +196 -0
- package/get-shit-done/templates/state.md +210 -0
- package/get-shit-done/templates/summary.md +273 -0
- package/get-shit-done/templates/uat-issues.md +143 -0
- package/get-shit-done/workflows/complete-milestone.md +643 -0
- package/get-shit-done/workflows/create-milestone.md +416 -0
- package/get-shit-done/workflows/create-roadmap.md +481 -0
- package/get-shit-done/workflows/discovery-phase.md +293 -0
- package/get-shit-done/workflows/discuss-milestone.md +236 -0
- package/get-shit-done/workflows/discuss-phase.md +247 -0
- package/get-shit-done/workflows/execute-phase.md +1625 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/map-codebase.md +434 -0
- package/get-shit-done/workflows/plan-phase.md +488 -0
- package/get-shit-done/workflows/research-phase.md +436 -0
- package/get-shit-done/workflows/resume-project.md +287 -0
- package/get-shit-done/workflows/transition.md +580 -0
- package/get-shit-done/workflows/verify-work.md +202 -0
- package/package.json +38 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Gather phase context through collaborative thinking before planning. Help the user articulate their vision for how this phase should work, look, and feel.
|
|
3
|
+
|
|
4
|
+
You are a thinking partner, not an interviewer. The user is the visionary — you are the builder. Your job is to understand their vision, not interrogate them about technical details you can figure out yourself.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<philosophy>
|
|
8
|
+
**User = founder/visionary. Claude = builder.**
|
|
9
|
+
|
|
10
|
+
The user doesn't know (and shouldn't need to know):
|
|
11
|
+
- Codebase patterns (you read the code)
|
|
12
|
+
- Technical risks (you identify during research)
|
|
13
|
+
- Implementation constraints (you figure those out)
|
|
14
|
+
- Success metrics (you infer from the work)
|
|
15
|
+
|
|
16
|
+
The user DOES know:
|
|
17
|
+
- How they imagine it working
|
|
18
|
+
- What it should look/feel like
|
|
19
|
+
- What's essential vs nice-to-have
|
|
20
|
+
- Any specific things they have in mind
|
|
21
|
+
|
|
22
|
+
Ask about vision. Figure out implementation yourself.
|
|
23
|
+
</philosophy>
|
|
24
|
+
|
|
25
|
+
<process>
|
|
26
|
+
|
|
27
|
+
<step name="validate_phase" priority="first">
|
|
28
|
+
Phase number: $ARGUMENTS (required)
|
|
29
|
+
|
|
30
|
+
Validate phase exists in roadmap:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
if [ -f .planning/ROADMAP.md ]; then
|
|
34
|
+
cat .planning/ROADMAP.md | grep "Phase ${PHASE}:"
|
|
35
|
+
else
|
|
36
|
+
cat .planning/ROADMAP.md | grep "Phase ${PHASE}:"
|
|
37
|
+
fi
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**If phase not found:**
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
Error: Phase ${PHASE} not found in roadmap.
|
|
44
|
+
|
|
45
|
+
Use /gsd:progress to see available phases.
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Exit workflow.
|
|
49
|
+
|
|
50
|
+
**If phase found:**
|
|
51
|
+
Parse phase details from roadmap:
|
|
52
|
+
|
|
53
|
+
- Phase number
|
|
54
|
+
- Phase name
|
|
55
|
+
- Phase description
|
|
56
|
+
- Status (should be "Not started" or "In progress")
|
|
57
|
+
|
|
58
|
+
Continue to check_existing.
|
|
59
|
+
</step>
|
|
60
|
+
|
|
61
|
+
<step name="check_existing">
|
|
62
|
+
Check if CONTEXT.md already exists for this phase:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
ls .planning/phases/${PHASE}-*/CONTEXT.md 2>/dev/null
|
|
66
|
+
ls .planning/phases/${PHASE}-*/${PHASE}-CONTEXT.md 2>/dev/null
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**If exists:**
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Phase ${PHASE} already has context: [path to CONTEXT.md]
|
|
73
|
+
|
|
74
|
+
What's next?
|
|
75
|
+
1. Update context - Review and revise existing context
|
|
76
|
+
2. View existing - Show me the current context
|
|
77
|
+
3. Skip - Use existing context as-is
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Wait for user response.
|
|
81
|
+
|
|
82
|
+
If "Update context": Load existing CONTEXT.md, continue to questioning
|
|
83
|
+
If "View existing": Read and display CONTEXT.md, then offer update/skip
|
|
84
|
+
If "Skip": Exit workflow
|
|
85
|
+
|
|
86
|
+
**If doesn't exist:**
|
|
87
|
+
Continue to questioning.
|
|
88
|
+
</step>
|
|
89
|
+
|
|
90
|
+
<step name="questioning">
|
|
91
|
+
**CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
|
|
92
|
+
|
|
93
|
+
Present initial context from roadmap, then immediately use AskUserQuestion:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
Phase ${PHASE}: ${PHASE_NAME}
|
|
97
|
+
|
|
98
|
+
From the roadmap: ${PHASE_DESCRIPTION}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**1. Open:**
|
|
102
|
+
|
|
103
|
+
Use AskUserQuestion:
|
|
104
|
+
- header: "Vision"
|
|
105
|
+
- question: "How do you imagine this working?"
|
|
106
|
+
- options: 2-3 interpretations based on the phase description + "Let me describe it"
|
|
107
|
+
|
|
108
|
+
**2. Follow the thread:**
|
|
109
|
+
|
|
110
|
+
Based on their response, use AskUserQuestion:
|
|
111
|
+
- header: "[Topic they mentioned]"
|
|
112
|
+
- question: "You mentioned [X] — what would that look like?"
|
|
113
|
+
- options: 2-3 interpretations + "Something else"
|
|
114
|
+
|
|
115
|
+
**3. Sharpen the core:**
|
|
116
|
+
|
|
117
|
+
Use AskUserQuestion:
|
|
118
|
+
- header: "Essential"
|
|
119
|
+
- question: "What's the most important part of this phase?"
|
|
120
|
+
- options: Key aspects they've mentioned + "All equally important" + "Something else"
|
|
121
|
+
|
|
122
|
+
**4. Find boundaries:**
|
|
123
|
+
|
|
124
|
+
Use AskUserQuestion:
|
|
125
|
+
- header: "Scope"
|
|
126
|
+
- question: "What's explicitly out of scope for this phase?"
|
|
127
|
+
- options: Things that might be tempting + "Nothing specific" + "Let me list them"
|
|
128
|
+
|
|
129
|
+
**5. Capture specifics (optional):**
|
|
130
|
+
|
|
131
|
+
If they seem to have specific ideas, use AskUserQuestion:
|
|
132
|
+
- header: "Specifics"
|
|
133
|
+
- question: "Any particular look/feel/behavior in mind?"
|
|
134
|
+
- options: Contextual options based on what they've said + "No specifics" + "Let me describe"
|
|
135
|
+
|
|
136
|
+
CRITICAL — What NOT to ask:
|
|
137
|
+
- Technical risks (you figure those out)
|
|
138
|
+
- Codebase patterns (you read the code)
|
|
139
|
+
- Success metrics (too corporate)
|
|
140
|
+
- Constraints they didn't mention (don't interrogate)
|
|
141
|
+
|
|
142
|
+
**6. Decision gate:**
|
|
143
|
+
|
|
144
|
+
Use AskUserQuestion:
|
|
145
|
+
- header: "Ready?"
|
|
146
|
+
- question: "Ready to capture this context, or explore more?"
|
|
147
|
+
- options (ALL THREE REQUIRED):
|
|
148
|
+
- "Create CONTEXT.md" - I've shared my vision
|
|
149
|
+
- "Ask more questions" - Help me think through this more
|
|
150
|
+
- "Let me add context" - I have more to share
|
|
151
|
+
|
|
152
|
+
If "Ask more questions" → return to step 2 with new probes.
|
|
153
|
+
If "Let me add context" → receive input → return to step 2.
|
|
154
|
+
Loop until "Create CONTEXT.md" selected.
|
|
155
|
+
</step>
|
|
156
|
+
|
|
157
|
+
<step name="write_context">
|
|
158
|
+
Create CONTEXT.md capturing the user's vision.
|
|
159
|
+
|
|
160
|
+
Use template from ~/.config/opencode/get-shit-done/templates/context.md
|
|
161
|
+
|
|
162
|
+
**File location:** `.planning/phases/${PHASE}-${SLUG}/${PHASE}-CONTEXT.md`
|
|
163
|
+
|
|
164
|
+
**If phase directory doesn't exist yet:**
|
|
165
|
+
Create it: `.planning/phases/${PHASE}-${SLUG}/`
|
|
166
|
+
|
|
167
|
+
Use roadmap phase name for slug (lowercase, hyphens).
|
|
168
|
+
|
|
169
|
+
Populate template sections with VISION context (not technical analysis):
|
|
170
|
+
|
|
171
|
+
- `<vision>`: How the user imagines this working
|
|
172
|
+
- `<essential>`: What must be nailed in this phase
|
|
173
|
+
- `<boundaries>`: What's explicitly out of scope
|
|
174
|
+
- `<specifics>`: Any particular look/feel/behavior mentioned
|
|
175
|
+
- `<notes>`: Any other context gathered
|
|
176
|
+
|
|
177
|
+
Do NOT populate with your own technical analysis. That comes during research/planning.
|
|
178
|
+
|
|
179
|
+
Write file.
|
|
180
|
+
</step>
|
|
181
|
+
|
|
182
|
+
<step name="confirm_creation">
|
|
183
|
+
Present CONTEXT.md summary:
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
Created: .planning/phases/${PHASE}-${SLUG}/${PHASE}-CONTEXT.md
|
|
187
|
+
|
|
188
|
+
## Vision
|
|
189
|
+
[How they imagine it working]
|
|
190
|
+
|
|
191
|
+
## Essential
|
|
192
|
+
[What must be nailed]
|
|
193
|
+
|
|
194
|
+
## Boundaries
|
|
195
|
+
[What's out of scope]
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## ▶ Next Up
|
|
200
|
+
|
|
201
|
+
**Phase ${PHASE}: [Name]** — [Goal from ROADMAP.md]
|
|
202
|
+
|
|
203
|
+
`/gsd:plan-phase ${PHASE}`
|
|
204
|
+
|
|
205
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
**Also available:**
|
|
210
|
+
- `/gsd:research-phase ${PHASE}` — investigate unknowns
|
|
211
|
+
- Review/edit CONTEXT.md before continuing
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
</step>
|
|
217
|
+
|
|
218
|
+
<step name="git_commit">
|
|
219
|
+
Commit phase context:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
git add .planning/phases/${PHASE}-${SLUG}/${PHASE}-CONTEXT.md
|
|
223
|
+
git commit -m "$(cat <<'EOF'
|
|
224
|
+
docs(${PHASE}): capture phase context
|
|
225
|
+
|
|
226
|
+
Phase ${PHASE}: ${PHASE_NAME}
|
|
227
|
+
- Vision and goals documented
|
|
228
|
+
- Essential requirements identified
|
|
229
|
+
- Scope boundaries defined
|
|
230
|
+
EOF
|
|
231
|
+
)"
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Confirm: "Committed: docs(${PHASE}): capture phase context"
|
|
235
|
+
</step>
|
|
236
|
+
|
|
237
|
+
</process>
|
|
238
|
+
|
|
239
|
+
<success_criteria>
|
|
240
|
+
|
|
241
|
+
- Phase validated against roadmap
|
|
242
|
+
- Vision gathered through collaborative thinking (not interrogation)
|
|
243
|
+
- User's imagination captured: how it works, what's essential, what's out of scope
|
|
244
|
+
- CONTEXT.md created in phase directory
|
|
245
|
+
- CONTEXT.md committed to git
|
|
246
|
+
- User knows next steps (typically: research or plan the phase)
|
|
247
|
+
</success_criteria>
|