gsd-opencode 1.5.2 → 1.6.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 (108) hide show
  1. package/agents/gsd-codebase-mapper.md +743 -0
  2. package/agents/gsd-debugger.md +1191 -0
  3. package/agents/gsd-executor.md +759 -0
  4. package/agents/gsd-integration-checker.md +427 -0
  5. package/agents/gsd-phase-researcher.md +637 -0
  6. package/agents/gsd-plan-checker.md +749 -0
  7. package/agents/gsd-planner.md +1373 -0
  8. package/agents/gsd-project-researcher.md +877 -0
  9. package/agents/gsd-research-synthesizer.md +250 -0
  10. package/agents/gsd-roadmapper.md +610 -0
  11. package/agents/gsd-verifier.md +782 -0
  12. package/bin/install.js +11 -1
  13. package/command/gsd/add-phase.md +5 -7
  14. package/command/gsd/add-todo.md +4 -6
  15. package/command/gsd/audit-milestone.md +257 -0
  16. package/command/gsd/check-todos.md +2 -4
  17. package/command/gsd/complete-milestone.md +53 -23
  18. package/command/gsd/debug.md +120 -30
  19. package/command/gsd/discuss-phase.md +51 -30
  20. package/command/gsd/execute-phase.md +192 -26
  21. package/command/gsd/help.md +66 -75
  22. package/command/gsd/insert-phase.md +6 -6
  23. package/command/gsd/list-phase-assumptions.md +1 -1
  24. package/command/gsd/map-codebase.md +15 -28
  25. package/command/gsd/new-milestone.md +693 -36
  26. package/command/gsd/new-project.md +668 -108
  27. package/command/gsd/pause-work.md +2 -2
  28. package/command/gsd/plan-milestone-gaps.md +284 -0
  29. package/command/gsd/plan-phase.md +449 -42
  30. package/command/gsd/progress.md +66 -36
  31. package/command/gsd/remove-phase.md +17 -19
  32. package/command/gsd/research-phase.md +155 -67
  33. package/command/gsd/resume-work.md +3 -3
  34. package/command/gsd/update.md +172 -0
  35. package/command/gsd/verify-work.md +186 -38
  36. package/command/gsd/whats-new.md +124 -0
  37. package/get-shit-done/references/checkpoints.md +599 -98
  38. package/get-shit-done/references/continuation-format.md +5 -11
  39. package/get-shit-done/references/questioning.md +87 -108
  40. package/get-shit-done/references/tdd.md +3 -3
  41. package/get-shit-done/references/ui-brand.md +160 -0
  42. package/get-shit-done/references/verification-patterns.md +595 -0
  43. package/get-shit-done/templates/DEBUG.md +3 -3
  44. package/get-shit-done/templates/UAT.md +247 -0
  45. package/get-shit-done/templates/codebase/architecture.md +5 -5
  46. package/get-shit-done/templates/codebase/concerns.md +1 -1
  47. package/get-shit-done/templates/codebase/conventions.md +1 -1
  48. package/get-shit-done/templates/codebase/structure.md +8 -8
  49. package/get-shit-done/templates/codebase/testing.md +2 -2
  50. package/get-shit-done/templates/context.md +221 -70
  51. package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
  52. package/get-shit-done/templates/discovery.md +5 -5
  53. package/get-shit-done/templates/phase-prompt.md +115 -2
  54. package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
  55. package/get-shit-done/templates/requirements.md +231 -0
  56. package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
  57. package/get-shit-done/templates/research-project/FEATURES.md +147 -0
  58. package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
  59. package/get-shit-done/templates/research-project/STACK.md +120 -0
  60. package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
  61. package/get-shit-done/templates/research.md +2 -2
  62. package/get-shit-done/templates/roadmap.md +26 -20
  63. package/get-shit-done/templates/state.md +2 -17
  64. package/get-shit-done/templates/summary.md +13 -17
  65. package/get-shit-done/templates/user-setup.md +323 -0
  66. package/get-shit-done/templates/verification-report.md +322 -0
  67. package/get-shit-done/workflows/complete-milestone.md +152 -45
  68. package/get-shit-done/workflows/diagnose-issues.md +233 -0
  69. package/get-shit-done/workflows/discovery-phase.md +12 -17
  70. package/get-shit-done/workflows/discuss-phase.md +309 -124
  71. package/get-shit-done/workflows/execute-phase.md +177 -18
  72. package/get-shit-done/workflows/execute-plan.md +163 -145
  73. package/get-shit-done/workflows/map-codebase.md +86 -231
  74. package/get-shit-done/workflows/resume-project.md +18 -20
  75. package/get-shit-done/workflows/transition.md +7 -23
  76. package/get-shit-done/workflows/verify-phase.md +629 -0
  77. package/get-shit-done/workflows/verify-work.md +495 -134
  78. package/package.json +2 -1
  79. package/command/gsd/consider-issues.md +0 -201
  80. package/command/gsd/create-roadmap.md +0 -115
  81. package/command/gsd/discuss-milestone.md +0 -47
  82. package/command/gsd/execute-plan.md +0 -103
  83. package/command/gsd/plan-fix.md +0 -205
  84. package/command/gsd/status.md +0 -127
  85. package/get-shit-done/references/debugging/debugging-mindset.md +0 -253
  86. package/get-shit-done/references/debugging/hypothesis-testing.md +0 -373
  87. package/get-shit-done/references/debugging/investigation-techniques.md +0 -337
  88. package/get-shit-done/references/debugging/verification-patterns.md +0 -425
  89. package/get-shit-done/references/debugging/when-to-research.md +0 -361
  90. package/get-shit-done/references/plan-format.md +0 -475
  91. package/get-shit-done/references/principles.md +0 -157
  92. package/get-shit-done/references/research-pitfalls.md +0 -215
  93. package/get-shit-done/references/scope-estimation.md +0 -256
  94. package/get-shit-done/templates/agent-history.md +0 -263
  95. package/get-shit-done/templates/checkpoint-return.md +0 -204
  96. package/get-shit-done/templates/config.json +0 -26
  97. package/get-shit-done/templates/continuation-prompt.md +0 -235
  98. package/get-shit-done/templates/issues.md +0 -32
  99. package/get-shit-done/templates/milestone-context.md +0 -93
  100. package/get-shit-done/templates/subagent-task-prompt.md +0 -95
  101. package/get-shit-done/templates/uat-issues.md +0 -143
  102. package/get-shit-done/workflows/_archive/execute-phase.md +0 -899
  103. package/get-shit-done/workflows/create-milestone.md +0 -416
  104. package/get-shit-done/workflows/create-roadmap.md +0 -481
  105. package/get-shit-done/workflows/debug.md +0 -426
  106. package/get-shit-done/workflows/discuss-milestone.md +0 -236
  107. package/get-shit-done/workflows/plan-phase.md +0 -701
  108. package/get-shit-done/workflows/research-phase.md +0 -436
@@ -1,361 +0,0 @@
1
-
2
- <overview>
3
- Debugging requires both reasoning about code and researching external knowledge. The skill is knowing when to use each. This guide helps you recognize signals that indicate you need external knowledge vs when you can reason through the problem with the code in front of you.
4
- </overview>
5
-
6
-
7
- <research_signals>
8
-
9
- **1. Error messages you don't recognize**
10
- - Stack traces from libraries you haven't used
11
- - Cryptic system errors
12
- - Framework-specific error codes
13
-
14
- **Action**: Web search the exact error message in quotes
15
- - Often leads to GitHub issues, Stack Overflow, or official docs
16
- - Others have likely encountered this
17
-
18
- <example>
19
- Error: `EADDRINUSE: address already in use :::3000`
20
-
21
- This is a system-level error. Research it:
22
- - Web search: "EADDRINUSE address already in use"
23
- - Learn: Port is already occupied by another process
24
- - Solution: Find and kill the process, or use different port
25
- </example>
26
-
27
- **2. Library/framework behavior doesn't match expectations**
28
- - You're using a library correctly (you think) but it's not working
29
- - Documentation seems to contradict behavior
30
- - Version-specific quirks
31
-
32
- **Action**: Check official documentation and recent issues
33
- - Use Context7 MCP for library docs
34
- - Search GitHub issues for the library
35
- - Check if there are breaking changes in recent versions
36
-
37
- <example>
38
- You're using `useEffect` in React but it's running on every render despite empty dependency array.
39
-
40
- Research needed:
41
- - Check React docs for useEffect rules
42
- - Search: "useEffect running on every render"
43
- - Discover: React 18 StrictMode runs effects twice in dev mode
44
- </example>
45
-
46
- **3. Domain knowledge gaps**
47
- - Debugging authentication: need to understand OAuth flow
48
- - Debugging database: need to understand indexes, query optimization
49
- - Debugging networking: need to understand HTTP caching, CORS
50
-
51
- **Action**: Research the domain concept, not just the specific bug
52
- - Use MCP servers for domain knowledge
53
- - Read official specifications
54
- - Find authoritative guides
55
-
56
- **4. Platform-specific behavior**
57
- - "Works in Chrome but not Safari"
58
- - "Works on Mac but not Windows"
59
- - "Works in Node 16 but not Node 18"
60
-
61
- **Action**: Research platform differences
62
- - Browser compatibility tables
63
- - Platform-specific documentation
64
- - Known platform bugs
65
-
66
- **5. Recent changes in ecosystem**
67
- - Package update broke something
68
- - New framework version behaves differently
69
- - Deprecated API
70
-
71
- **Action**: Check changelogs and migration guides
72
- - Library CHANGELOG.md
73
- - Migration guides
74
- - "Breaking changes" documentation
75
-
76
- </research_signals>
77
-
78
-
79
- <reasoning_signals>
80
-
81
- **1. The bug is in YOUR code**
82
- - Not library behavior, not system issues
83
- - Your business logic, your data structures
84
- - Code you or your team wrote
85
-
86
- **Approach**: Read the code, trace execution, add logging
87
- - You have full access to the code
88
- - You can modify it to add observability
89
- - No external documentation will help
90
-
91
- <example>
92
- Bug: Shopping cart total calculates incorrectly
93
-
94
- This is your logic:
95
- ```javascript
96
- function calculateTotal(items) {
97
- return items.reduce((sum, item) => sum + item.price * item.quantity, 0);
98
- }
99
- ```
100
-
101
- Don't research "shopping cart calculation bugs"
102
- DO reason through it:
103
- - Log each item's price and quantity
104
- - Log the running sum
105
- - Trace the logic step by step
106
- </example>
107
-
108
- **2. You have all the information needed**
109
- - The bug is reproducible
110
- - You can read all relevant code
111
- - No external dependencies involved
112
-
113
- **Approach**: Use investigation techniques
114
- - Binary search to narrow down
115
- - Minimal reproduction
116
- - Working backwards
117
- - Add observability
118
-
119
- **3. It's a logic error, not a knowledge gap**
120
- - Off-by-one errors
121
- - Wrong conditional
122
- - State management issue
123
- - Data transformation bug
124
-
125
- **Approach**: Trace the logic carefully
126
- - Print intermediate values
127
- - Check assumptions
128
- - Verify each step
129
-
130
- **4. The answer is in the behavior, not the documentation**
131
- - "What is this function actually doing?"
132
- - "Why is this value null?"
133
- - "When does this code execute?"
134
-
135
- **Approach**: Observe the actual behavior
136
- - Add logging
137
- - Use a debugger
138
- - Test with different inputs
139
-
140
- </reasoning_signals>
141
-
142
-
143
- <research_how>
144
-
145
- **Web Search - When and How**
146
-
147
- **When**:
148
- - Error messages
149
- - Library-specific questions
150
- - "How to X in framework Y"
151
- - Troubleshooting platform issues
152
-
153
- **How**:
154
- - Use exact error messages in quotes: `"Cannot read property 'map' of undefined"`
155
- - Include framework/library version: `"react 18 useEffect behavior"`
156
- - Add "github issue" for known bugs: `"prisma connection pool github issue"`
157
- - Add year for recent changes: `"nextjs 14 middleware 2024"`
158
-
159
- **Good search queries**:
160
- - `"ECONNREFUSED" node.js postgres`
161
- - `"Maximum update depth exceeded" react hooks`
162
- - `typescript generic constraints examples`
163
-
164
- **Bad search queries**:
165
- - `my code doesn't work` (too vague)
166
- - `bug in react` (too broad)
167
- - `help` (useless)
168
-
169
- **Context7 MCP - When and How**
170
-
171
- **When**:
172
- - Need API reference
173
- - Understanding library concepts
174
- - Finding specific function signatures
175
- - Learning correct usage patterns
176
-
177
- **How**:
178
- ```
179
- Use mcp__context7__resolve-library-id with library name
180
- Then mcp__context7__get-library-docs with library ID
181
- Ask specific questions about the library
182
- ```
183
-
184
- **Good uses**:
185
- - "How do I use Prisma transactions?"
186
- - "What are the parameters for stripe.customers.create?"
187
- - "How does Express middleware error handling work?"
188
-
189
- **Bad uses**:
190
- - "Fix my bug" (too vague, Context7 provides docs not debugging)
191
- - "Why isn't my code working?" (need to research specific concepts, not general debugging)
192
-
193
- **GitHub Issues Search**
194
-
195
- **When**:
196
- - Experiencing behavior that seems like a bug
197
- - Library not working as documented
198
- - Looking for workarounds
199
-
200
- **How**:
201
- - Search in the library's GitHub repo
202
- - Include relevant keywords
203
- - Check both open and closed issues
204
- - Look for issues with "bug" or "regression" labels
205
-
206
- **Official Documentation**
207
-
208
- **When**:
209
- - Learning how something should work
210
- - Checking if you're using API correctly
211
- - Understanding configuration options
212
- - Finding migration guides
213
-
214
- **How**:
215
- - Start with official docs, not blog posts
216
- - Check version-specific docs
217
- - Read examples and guides, not just API reference
218
- - Look for "Common Pitfalls" or "Troubleshooting" sections
219
-
220
- </research_how>
221
-
222
-
223
- <balance>
224
-
225
- **The research trap**: Spending hours reading docs about topics tangential to your bug
226
- - You think it's a caching issue, so you read all about cache invalidation
227
- - But the actual bug is a typo in a variable name
228
-
229
- **The reasoning trap**: Spending hours reading code when the answer is well-documented
230
- - You're debugging why auth doesn't work
231
- - The docs clearly explain the setup you missed
232
- - You could have found it in 5 minutes of reading
233
-
234
- **The balance**:
235
-
236
- 1. **Start with quick research** (5-10 minutes)
237
- - Search the error message
238
- - Check official docs for the feature you're using
239
- - Skim recent issues
240
-
241
- 2. **If research doesn't yield answers, switch to reasoning**
242
- - Add logging
243
- - Trace execution
244
- - Form hypotheses
245
-
246
- 3. **If reasoning reveals knowledge gaps, research those specific gaps**
247
- - "I need to understand how WebSocket reconnection works"
248
- - "I need to know if this library supports transactions"
249
-
250
- 4. **Alternate as needed**
251
- - Research → reveals what to investigate
252
- - Reasoning → reveals what to research
253
- - Keep switching based on what you learn
254
-
255
- <example>
256
- **Bug**: Real-time updates stop working after 1 hour
257
-
258
- **Start with research** (5 min):
259
- - Search: "websocket connection drops after 1 hour"
260
- - Find: Common issue with load balancers having connection timeouts
261
-
262
- **Switch to reasoning**:
263
- - Check if you're using a load balancer: YES
264
- - Check load balancer timeout setting: 3600 seconds (1 hour)
265
- - Hypothesis: Load balancer is killing the connection
266
-
267
- **Quick research**:
268
- - Search: "websocket load balancer timeout fix"
269
- - Find: Implement heartbeat/ping to keep connection alive
270
-
271
- **Reasoning**:
272
- - Check if library supports heartbeat: YES
273
- - Implement ping every 30 seconds
274
- - Test: Connection stays alive for 3+ hours
275
-
276
- **Total time**: 20 minutes (research: 10 min, reasoning: 10 min)
277
- **Success**: Found and fixed the issue
278
-
279
- vs
280
-
281
- **Wrong approach**: Spend 2 hours reading WebSocket spec
282
- - Learned a lot about WebSocket protocol
283
- - Didn't solve the problem (it was a config issue)
284
- </example>
285
-
286
- </balance>
287
-
288
-
289
- <decision_tree>
290
- ```
291
- Is this a error message I don't recognize?
292
- ├─ YES → Web search the error message
293
- └─ NO ↓
294
-
295
- Is this library/framework behavior I don't understand?
296
- ├─ YES → Check docs (Context7 or official docs)
297
- └─ NO ↓
298
-
299
- Is this code I/my team wrote?
300
- ├─ YES → Reason through it (logging, tracing, hypothesis testing)
301
- └─ NO ↓
302
-
303
- Is this a platform/environment difference?
304
- ├─ YES → Research platform-specific behavior
305
- └─ NO ↓
306
-
307
- Can I observe the behavior directly?
308
- ├─ YES → Add observability and reason through it
309
- └─ NO → Research the domain/concept first, then reason
310
- ```
311
- </decision_tree>
312
-
313
-
314
- <red_flags>
315
-
316
- **You're researching too much if**:
317
- - You've read 20 blog posts but haven't looked at your code
318
- - You understand the theory but haven't traced your actual execution
319
- - You're learning about edge cases that don't apply to your situation
320
- - You've been reading for 30+ minutes without testing anything
321
-
322
- **You're reasoning too much if**:
323
- - You've been staring at code for an hour without progress
324
- - You keep finding things you don't understand and guessing
325
- - You're debugging library internals (that's research territory)
326
- - The error message is clearly from a library you don't know
327
-
328
- **You're doing it right if**:
329
- - You alternate between research and reasoning
330
- - Each research session answers a specific question
331
- - Each reasoning session tests a specific hypothesis
332
- - You're making steady progress toward understanding
333
-
334
- </red_flags>
335
-
336
-
337
- <mindset>
338
-
339
- **Good researchers ask**:
340
- - "What specific question do I need answered?"
341
- - "Where is the authoritative source for this?"
342
- - "Is this a known issue or unique to my code?"
343
- - "What version-specific information do I need?"
344
-
345
- **Good reasoners ask**:
346
- - "What is actually happening in my code?"
347
- - "What am I assuming that might be wrong?"
348
- - "How can I observe this behavior directly?"
349
- - "What experiment would test my hypothesis?"
350
-
351
- **Great debuggers do both**:
352
- - Research to fill knowledge gaps
353
- - Reason to understand actual behavior
354
- - Switch fluidly based on what they learn
355
- - Never stuck in one mode
356
-
357
- **The goal**: Minimum time to maximum understanding.
358
- - Research what you don't know
359
- - Reason through what you can observe
360
- - Fix what you understand
361
- </mindset>