get-shit-done-cc 1.4.28 → 1.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.
- package/commands/gsd/create-roadmap.md +17 -4
- package/commands/gsd/define-requirements.md +110 -0
- package/commands/gsd/new-project.md +40 -36
- package/commands/gsd/research-project.md +136 -0
- package/get-shit-done/references/questioning.md +86 -108
- package/get-shit-done/templates/requirements.md +231 -0
- package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
- package/get-shit-done/templates/research-project/FEATURES.md +147 -0
- package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
- package/get-shit-done/templates/research-project/STACK.md +120 -0
- package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
- package/get-shit-done/workflows/create-roadmap.md +181 -15
- package/get-shit-done/workflows/define-requirements.md +257 -0
- package/get-shit-done/workflows/research-project.md +315 -0
- package/package.json +1 -1
- package/commands/gsd/_archive/execute-phase.md +0 -119
- package/commands/gsd/status.md +0 -161
|
@@ -12,7 +12,9 @@ allowed-tools:
|
|
|
12
12
|
<objective>
|
|
13
13
|
Create project roadmap with phase breakdown.
|
|
14
14
|
|
|
15
|
-
Roadmaps define what work happens in what order.
|
|
15
|
+
Roadmaps define what work happens in what order. Phases map to requirements.
|
|
16
|
+
|
|
17
|
+
Run after `/gsd:define-requirements`.
|
|
16
18
|
</objective>
|
|
17
19
|
|
|
18
20
|
<execution_context>
|
|
@@ -24,6 +26,8 @@ Roadmaps define what work happens in what order. Run after /gsd:new-project.
|
|
|
24
26
|
<context>
|
|
25
27
|
@.planning/PROJECT.md
|
|
26
28
|
@.planning/config.json
|
|
29
|
+
@.planning/REQUIREMENTS.md
|
|
30
|
+
@.planning/research/SUMMARY.md (if exists)
|
|
27
31
|
</context>
|
|
28
32
|
|
|
29
33
|
<process>
|
|
@@ -32,6 +36,9 @@ Roadmaps define what work happens in what order. Run after /gsd:new-project.
|
|
|
32
36
|
```bash
|
|
33
37
|
# Verify project exists
|
|
34
38
|
[ -f .planning/PROJECT.md ] || { echo "ERROR: No PROJECT.md found. Run /gsd:new-project first."; exit 1; }
|
|
39
|
+
|
|
40
|
+
# Verify requirements exist
|
|
41
|
+
[ -f .planning/REQUIREMENTS.md ] || { echo "ERROR: No REQUIREMENTS.md found. Run /gsd:define-requirements first."; exit 1; }
|
|
35
42
|
```
|
|
36
43
|
</step>
|
|
37
44
|
|
|
@@ -60,12 +67,15 @@ If "Replace": Continue with workflow
|
|
|
60
67
|
Follow the create-roadmap.md workflow starting from detect_domain step.
|
|
61
68
|
|
|
62
69
|
The workflow handles:
|
|
70
|
+
- Loading requirements
|
|
63
71
|
- Domain expertise detection
|
|
64
|
-
- Phase identification
|
|
72
|
+
- Phase identification mapped to requirements
|
|
73
|
+
- Requirement coverage validation (no orphaned requirements)
|
|
65
74
|
- Research flags for each phase
|
|
66
75
|
- Confirmation gates (respecting config mode)
|
|
67
|
-
- ROADMAP.md creation
|
|
76
|
+
- ROADMAP.md creation with requirement mappings
|
|
68
77
|
- STATE.md initialization
|
|
78
|
+
- REQUIREMENTS.md traceability update
|
|
69
79
|
- Phase directory creation
|
|
70
80
|
- Git commit
|
|
71
81
|
</step>
|
|
@@ -108,8 +118,11 @@ Roadmap created:
|
|
|
108
118
|
|
|
109
119
|
<success_criteria>
|
|
110
120
|
- [ ] PROJECT.md validated
|
|
111
|
-
- [ ]
|
|
121
|
+
- [ ] REQUIREMENTS.md validated
|
|
122
|
+
- [ ] All v1 requirements mapped to phases (no orphans)
|
|
123
|
+
- [ ] ROADMAP.md created with phases and requirement mappings
|
|
112
124
|
- [ ] STATE.md initialized
|
|
125
|
+
- [ ] REQUIREMENTS.md traceability section updated
|
|
113
126
|
- [ ] Phase directories created
|
|
114
127
|
- [ ] Changes committed
|
|
115
128
|
</success_criteria>
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd:define-requirements
|
|
3
|
+
description: Define what "done" looks like with checkable requirements
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Bash
|
|
8
|
+
- Glob
|
|
9
|
+
- AskUserQuestion
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Define concrete, checkable requirements from research findings.
|
|
14
|
+
|
|
15
|
+
Research answers "what do products like this have?"
|
|
16
|
+
Requirements answers "what are WE building?"
|
|
17
|
+
|
|
18
|
+
Transforms research features into scoped v1/v2 requirements that roadmap phases map to.
|
|
19
|
+
|
|
20
|
+
Run after `/gsd:research-project`, before `/gsd:create-roadmap`.
|
|
21
|
+
|
|
22
|
+
Output: `.planning/REQUIREMENTS.md`
|
|
23
|
+
</objective>
|
|
24
|
+
|
|
25
|
+
<execution_context>
|
|
26
|
+
@~/.claude/get-shit-done/workflows/define-requirements.md
|
|
27
|
+
@~/.claude/get-shit-done/templates/requirements.md
|
|
28
|
+
</execution_context>
|
|
29
|
+
|
|
30
|
+
<context>
|
|
31
|
+
@.planning/PROJECT.md
|
|
32
|
+
@.planning/research/FEATURES.md (required)
|
|
33
|
+
@.planning/research/SUMMARY.md
|
|
34
|
+
</context>
|
|
35
|
+
|
|
36
|
+
<process>
|
|
37
|
+
|
|
38
|
+
<step name="validate">
|
|
39
|
+
```bash
|
|
40
|
+
# Verify project exists
|
|
41
|
+
[ -f .planning/PROJECT.md ] || { echo "ERROR: No PROJECT.md found. Run /gsd:new-project first."; exit 1; }
|
|
42
|
+
|
|
43
|
+
# Verify research exists
|
|
44
|
+
[ -f .planning/research/FEATURES.md ] || { echo "ERROR: No research found. Run /gsd:research-project first."; exit 1; }
|
|
45
|
+
|
|
46
|
+
# Check if requirements already exist
|
|
47
|
+
[ -f .planning/REQUIREMENTS.md ] && echo "REQUIREMENTS_EXISTS" || echo "NO_REQUIREMENTS"
|
|
48
|
+
```
|
|
49
|
+
</step>
|
|
50
|
+
|
|
51
|
+
<step name="check_existing">
|
|
52
|
+
**If REQUIREMENTS_EXISTS:**
|
|
53
|
+
|
|
54
|
+
Use AskUserQuestion:
|
|
55
|
+
- header: "Requirements exist"
|
|
56
|
+
- question: "Requirements already defined. What would you like to do?"
|
|
57
|
+
- options:
|
|
58
|
+
- "View existing" — Show current requirements
|
|
59
|
+
- "Replace" — Define requirements fresh (will overwrite)
|
|
60
|
+
- "Cancel" — Keep existing requirements
|
|
61
|
+
|
|
62
|
+
If "View existing": Read and display `.planning/REQUIREMENTS.md`, then exit
|
|
63
|
+
If "Cancel": Exit
|
|
64
|
+
If "Replace": Continue with workflow
|
|
65
|
+
</step>
|
|
66
|
+
|
|
67
|
+
<step name="execute">
|
|
68
|
+
Follow the define-requirements.md workflow:
|
|
69
|
+
- Load research features
|
|
70
|
+
- Present features by category
|
|
71
|
+
- Ask user to scope each category (v1 / v2 / out of scope)
|
|
72
|
+
- Capture any additions research missed
|
|
73
|
+
- Generate REQUIREMENTS.md with checkable list
|
|
74
|
+
</step>
|
|
75
|
+
|
|
76
|
+
<step name="done">
|
|
77
|
+
```
|
|
78
|
+
Requirements defined:
|
|
79
|
+
|
|
80
|
+
- Requirements: .planning/REQUIREMENTS.md
|
|
81
|
+
- v1 scope: [N] requirements across [M] categories
|
|
82
|
+
- v2 scope: [X] requirements deferred
|
|
83
|
+
- Out of scope: [Y] requirements excluded
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## ▶ Next Up
|
|
88
|
+
|
|
89
|
+
**Create roadmap** — phases mapped to requirements
|
|
90
|
+
|
|
91
|
+
`/gsd:create-roadmap`
|
|
92
|
+
|
|
93
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
```
|
|
97
|
+
</step>
|
|
98
|
+
|
|
99
|
+
</process>
|
|
100
|
+
|
|
101
|
+
<success_criteria>
|
|
102
|
+
- [ ] PROJECT.md validated
|
|
103
|
+
- [ ] Research FEATURES.md loaded
|
|
104
|
+
- [ ] Features presented by category
|
|
105
|
+
- [ ] User scoped each category (v1/v2/out of scope)
|
|
106
|
+
- [ ] User had opportunity to add missing requirements
|
|
107
|
+
- [ ] REQUIREMENTS.md created with checkable list
|
|
108
|
+
- [ ] Requirements committed to git
|
|
109
|
+
- [ ] User knows next step (create-roadmap)
|
|
110
|
+
</success_criteria>
|
|
@@ -12,7 +12,7 @@ allowed-tools:
|
|
|
12
12
|
|
|
13
13
|
Initialize a new project through comprehensive context gathering.
|
|
14
14
|
|
|
15
|
-
This is the most leveraged moment in any project. Deep questioning here means better plans, better execution, better outcomes.
|
|
15
|
+
This is the most leveraged moment in any project. Deep questioning here means better plans, better execution, better outcomes. The quality of PROJECT.md determines the quality of everything downstream.
|
|
16
16
|
|
|
17
17
|
Creates `.planning/` with PROJECT.md and config.json.
|
|
18
18
|
|
|
@@ -90,52 +90,48 @@ Exit command.
|
|
|
90
90
|
|
|
91
91
|
<step name="question">
|
|
92
92
|
|
|
93
|
-
**
|
|
93
|
+
**Open the conversation:**
|
|
94
94
|
|
|
95
|
-
Ask inline
|
|
95
|
+
Ask inline (freeform, NOT AskUserQuestion):
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
"What do you want to build?"
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
Wait for their response. This gives you the context needed to ask intelligent follow-up questions.
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
- header: "[Topic they mentioned]"
|
|
103
|
-
- question: "You mentioned [X] — what would that look like?"
|
|
104
|
-
- options: 2-3 interpretations + "Something else"
|
|
101
|
+
**Follow the thread:**
|
|
105
102
|
|
|
106
|
-
|
|
103
|
+
Based on what they said, ask follow-up questions that dig into their response. Use AskUserQuestion with options that probe what they mentioned — interpretations, clarifications, concrete examples.
|
|
107
104
|
|
|
108
|
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
105
|
+
Keep following threads. Each answer opens new threads to explore. Ask about:
|
|
106
|
+
- What excited them
|
|
107
|
+
- What problem sparked this
|
|
108
|
+
- What they mean by vague terms
|
|
109
|
+
- What it would actually look like
|
|
110
|
+
- What's already decided
|
|
112
111
|
|
|
113
|
-
|
|
112
|
+
Consult `questioning.md` for techniques:
|
|
113
|
+
- Challenge vagueness
|
|
114
|
+
- Make abstract concrete
|
|
115
|
+
- Surface assumptions
|
|
116
|
+
- Find edges
|
|
117
|
+
- Reveal motivation
|
|
114
118
|
|
|
115
|
-
|
|
116
|
-
- header: "Scope"
|
|
117
|
-
- question: "What's explicitly NOT in v1?"
|
|
118
|
-
- options: Things that might be tempting + "Nothing specific" + "Let me list them"
|
|
119
|
+
**Check context (background, not out loud):**
|
|
119
120
|
|
|
120
|
-
|
|
121
|
+
As you go, mentally check the context checklist from `questioning.md`. If gaps remain, weave questions naturally. Don't suddenly switch to checklist mode.
|
|
121
122
|
|
|
122
|
-
|
|
123
|
-
- header: "Constraints"
|
|
124
|
-
- question: "Any hard constraints?"
|
|
125
|
-
- options: Relevant constraint types + "None" + "Yes, let me explain"
|
|
123
|
+
**Decision gate:**
|
|
126
124
|
|
|
127
|
-
|
|
125
|
+
When you could write a clear PROJECT.md, use AskUserQuestion:
|
|
128
126
|
|
|
129
|
-
Use AskUserQuestion:
|
|
130
127
|
- header: "Ready?"
|
|
131
|
-
- question: "Ready to create PROJECT.md
|
|
132
|
-
- options
|
|
133
|
-
- "Create PROJECT.md" —
|
|
134
|
-
- "
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
If "Let me add context" → receive input via their response → return to step 2.
|
|
128
|
+
- question: "I think I understand what you're after. Ready to create PROJECT.md?"
|
|
129
|
+
- options:
|
|
130
|
+
- "Create PROJECT.md" — Let's move forward
|
|
131
|
+
- "Keep exploring" — I want to share more / ask me more
|
|
132
|
+
|
|
133
|
+
If "Keep exploring" — ask what they want to add, or identify gaps and probe naturally.
|
|
134
|
+
|
|
139
135
|
Loop until "Create PROJECT.md" selected.
|
|
140
136
|
|
|
141
137
|
</step>
|
|
@@ -303,7 +299,15 @@ Project initialized:
|
|
|
303
299
|
|
|
304
300
|
## ▶ Next Up
|
|
305
301
|
|
|
306
|
-
|
|
302
|
+
Choose your path:
|
|
303
|
+
|
|
304
|
+
**Option A: Research first** (recommended for new domains)
|
|
305
|
+
Research the ecosystem before creating roadmap. Discovers standard stacks, expected features, architecture patterns, and common pitfalls.
|
|
306
|
+
|
|
307
|
+
`/gsd:research-project`
|
|
308
|
+
|
|
309
|
+
**Option B: Create roadmap directly** (for familiar domains)
|
|
310
|
+
Skip research if you know this domain well or have a clear spec.
|
|
307
311
|
|
|
308
312
|
`/gsd:create-roadmap`
|
|
309
313
|
|
|
@@ -325,7 +329,7 @@ Project initialized:
|
|
|
325
329
|
|
|
326
330
|
<success_criteria>
|
|
327
331
|
|
|
328
|
-
- [ ] Deep questioning completed (not rushed)
|
|
332
|
+
- [ ] Deep questioning completed (not rushed, threads followed)
|
|
329
333
|
- [ ] PROJECT.md captures full context with evolutionary structure
|
|
330
334
|
- [ ] Requirements initialized as hypotheses (greenfield) or with inferred Validated (brownfield)
|
|
331
335
|
- [ ] Key Decisions table initialized
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd:research-project
|
|
3
|
+
description: Research domain ecosystem before creating roadmap
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Bash
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Task
|
|
11
|
+
- WebFetch
|
|
12
|
+
- WebSearch
|
|
13
|
+
- mcp__context7__*
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
<objective>
|
|
17
|
+
Comprehensive domain research before roadmap creation.
|
|
18
|
+
|
|
19
|
+
Answers the questions that inform quality roadmaps:
|
|
20
|
+
- What's the standard stack for this type of product?
|
|
21
|
+
- What features do users expect?
|
|
22
|
+
- How are these systems typically structured?
|
|
23
|
+
- What do projects in this domain commonly get wrong?
|
|
24
|
+
|
|
25
|
+
Run after `/gsd:new-project`, before `/gsd:define-requirements`.
|
|
26
|
+
|
|
27
|
+
Output: `.planning/research/` folder with ecosystem knowledge.
|
|
28
|
+
</objective>
|
|
29
|
+
|
|
30
|
+
<execution_context>
|
|
31
|
+
@~/.claude/get-shit-done/workflows/research-project.md
|
|
32
|
+
@~/.claude/get-shit-done/templates/research-project/SUMMARY.md
|
|
33
|
+
@~/.claude/get-shit-done/templates/research-project/STACK.md
|
|
34
|
+
@~/.claude/get-shit-done/templates/research-project/FEATURES.md
|
|
35
|
+
@~/.claude/get-shit-done/templates/research-project/ARCHITECTURE.md
|
|
36
|
+
@~/.claude/get-shit-done/templates/research-project/PITFALLS.md
|
|
37
|
+
</execution_context>
|
|
38
|
+
|
|
39
|
+
<context>
|
|
40
|
+
@.planning/PROJECT.md
|
|
41
|
+
@.planning/config.json (if exists)
|
|
42
|
+
</context>
|
|
43
|
+
|
|
44
|
+
<process>
|
|
45
|
+
|
|
46
|
+
<step name="validate">
|
|
47
|
+
```bash
|
|
48
|
+
# Verify project exists
|
|
49
|
+
[ -f .planning/PROJECT.md ] || { echo "ERROR: No PROJECT.md found. Run /gsd:new-project first."; exit 1; }
|
|
50
|
+
|
|
51
|
+
# Check if roadmap already exists
|
|
52
|
+
[ -f .planning/ROADMAP.md ] && echo "WARNING: ROADMAP.md already exists. Research is typically done before roadmap creation."
|
|
53
|
+
|
|
54
|
+
# Check if research already exists
|
|
55
|
+
[ -d .planning/research ] && echo "RESEARCH_EXISTS" || echo "NO_RESEARCH"
|
|
56
|
+
```
|
|
57
|
+
</step>
|
|
58
|
+
|
|
59
|
+
<step name="check_existing">
|
|
60
|
+
**If RESEARCH_EXISTS:**
|
|
61
|
+
|
|
62
|
+
Use AskUserQuestion:
|
|
63
|
+
- header: "Research exists"
|
|
64
|
+
- question: "Research folder already exists. What would you like to do?"
|
|
65
|
+
- options:
|
|
66
|
+
- "View existing" — Show current research summary
|
|
67
|
+
- "Replace" — Run fresh research (will overwrite)
|
|
68
|
+
- "Cancel" — Keep existing research
|
|
69
|
+
|
|
70
|
+
If "View existing": Read and display `.planning/research/SUMMARY.md`, then exit
|
|
71
|
+
If "Cancel": Exit
|
|
72
|
+
If "Replace": Continue with workflow
|
|
73
|
+
</step>
|
|
74
|
+
|
|
75
|
+
<step name="execute_research">
|
|
76
|
+
Follow the research-project.md workflow:
|
|
77
|
+
- Analyze PROJECT.md to determine domain
|
|
78
|
+
- Identify research questions based on domain
|
|
79
|
+
- Spawn parallel research agents
|
|
80
|
+
- Aggregate results into `.planning/research/`
|
|
81
|
+
- Create SUMMARY.md with roadmap implications
|
|
82
|
+
</step>
|
|
83
|
+
|
|
84
|
+
<step name="done">
|
|
85
|
+
```
|
|
86
|
+
Research complete:
|
|
87
|
+
|
|
88
|
+
- Summary: .planning/research/SUMMARY.md
|
|
89
|
+
- Stack: .planning/research/STACK.md
|
|
90
|
+
- Features: .planning/research/FEATURES.md
|
|
91
|
+
- Architecture: .planning/research/ARCHITECTURE.md
|
|
92
|
+
- Pitfalls: .planning/research/PITFALLS.md
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## ▶ Next Up
|
|
97
|
+
|
|
98
|
+
**Define requirements** — scope your v1 from research findings
|
|
99
|
+
|
|
100
|
+
`/gsd:define-requirements`
|
|
101
|
+
|
|
102
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
103
|
+
|
|
104
|
+
**Flow:** research-project → **define-requirements** → create-roadmap
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
```
|
|
108
|
+
</step>
|
|
109
|
+
|
|
110
|
+
</process>
|
|
111
|
+
|
|
112
|
+
<when_to_use>
|
|
113
|
+
**Use research-project for:**
|
|
114
|
+
- Greenfield projects in established domains (community, e-commerce, SaaS)
|
|
115
|
+
- When "what features should exist" is partially unknown
|
|
116
|
+
- Complex integrations requiring ecosystem knowledge
|
|
117
|
+
- Domains where best practices matter (auth, payments, real-time)
|
|
118
|
+
- Any project where you'd Google "how to build a [X]" before starting
|
|
119
|
+
|
|
120
|
+
**Skip research-project for:**
|
|
121
|
+
- Well-defined specs ("build exactly this API")
|
|
122
|
+
- Simple tools/utilities with clear scope
|
|
123
|
+
- Adding features to existing codebases (use research-phase instead)
|
|
124
|
+
- Domains you've built in many times before
|
|
125
|
+
</when_to_use>
|
|
126
|
+
|
|
127
|
+
<success_criteria>
|
|
128
|
+
- [ ] PROJECT.md validated
|
|
129
|
+
- [ ] Domain identified from project description
|
|
130
|
+
- [ ] Research questions determined and approved
|
|
131
|
+
- [ ] Parallel research agents spawned
|
|
132
|
+
- [ ] All research documents created in .planning/research/
|
|
133
|
+
- [ ] SUMMARY.md includes roadmap implications
|
|
134
|
+
- [ ] Research committed to git
|
|
135
|
+
- [ ] User knows next step (define-requirements)
|
|
136
|
+
</success_criteria>
|