get-shit-done-cc 1.0.1 → 1.0.3
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/README.md +12 -4
- package/commands/gsd/consider-issues.md +202 -0
- package/commands/gsd/execute-plan.md +1 -0
- package/commands/gsd/help.md +14 -0
- package/get-shit-done/references/principles.md +33 -0
- package/get-shit-done/workflows/execute-phase.md +39 -0
- package/get-shit-done/workflows/plan-phase.md +12 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
**A meta-prompting, context engineering and spec-driven development system for Claude Code by TÂCHES.**
|
|
4
4
|
|
|
5
|
+

|
|
6
|
+
|
|
5
7
|
Vibecoding has a bad reputation. You describe what you want, AI generates code, and you get inconsistent garbage that falls apart at scale.
|
|
6
8
|
|
|
7
9
|
GSD fixes that. It's the context engineering layer that makes Claude Code reliable. Describe your idea, let the system extract everything it needs to know, and then let Claude Code get to work.
|
|
@@ -82,6 +84,7 @@ GSD handles it for you:
|
|
|
82
84
|
| `STATE.md` | Decisions, blockers, position — memory across sessions |
|
|
83
85
|
| `PLAN.md` | Atomic task with XML structure, verification steps |
|
|
84
86
|
| `SUMMARY.md` | What happened, what changed, committed to history |
|
|
87
|
+
| `ISSUES.md` | Deferred enhancements tracked across sessions |
|
|
85
88
|
|
|
86
89
|
Size limits based on where Claude's quality degrades. Stay under, get consistent excellence.
|
|
87
90
|
|
|
@@ -107,11 +110,15 @@ Precise instructions. No guessing. Verification built in.
|
|
|
107
110
|
|
|
108
111
|
### Subagent Execution
|
|
109
112
|
|
|
110
|
-
|
|
113
|
+
As Claude fills its context window, quality degrades. You've seen it: "Due to context limits, I'll be more concise now." That "concision" is code for cutting corners.
|
|
114
|
+
|
|
115
|
+
GSD prevents this. Each plan is maximum 3 tasks. Each plan runs in a fresh subagent — 200k tokens purely for implementation, zero accumulated garbage.
|
|
116
|
+
|
|
117
|
+
- Task 1: fresh context, full quality
|
|
118
|
+
- Task 2: fresh context, full quality
|
|
119
|
+
- Task 3: fresh context, full quality
|
|
111
120
|
|
|
112
|
-
|
|
113
|
-
- Maximum quality, zero degradation
|
|
114
|
-
- Walk away, come back to completed work
|
|
121
|
+
No degradation. Walk away, come back to completed work.
|
|
115
122
|
|
|
116
123
|
### Clean Git History
|
|
117
124
|
|
|
@@ -145,6 +152,7 @@ You're never locked in. The system adapts.
|
|
|
145
152
|
| `/gsd:list-phase-assumptions [N]` | See what Claude thinks before you correct it |
|
|
146
153
|
| `/gsd:pause-work` | Create handoff file when stopping mid-phase |
|
|
147
154
|
| `/gsd:resume-work` | Restore from last session |
|
|
155
|
+
| `/gsd:consider-issues` | Review deferred issues, close resolved, identify urgent |
|
|
148
156
|
| `/gsd:help` | Show all commands and usage guide |
|
|
149
157
|
|
|
150
158
|
---
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Review deferred issues with codebase context, close resolved ones, identify urgent ones
|
|
3
|
+
allowed-tools:
|
|
4
|
+
- Read
|
|
5
|
+
- Bash
|
|
6
|
+
- Grep
|
|
7
|
+
- Glob
|
|
8
|
+
- Edit
|
|
9
|
+
- AskUserQuestion
|
|
10
|
+
- SlashCommand
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<objective>
|
|
14
|
+
Review all open issues from ISSUES.md with current codebase context. Identify which issues are resolved (can close), which are now urgent (should address), and which can continue waiting.
|
|
15
|
+
|
|
16
|
+
This prevents issue pile-up by providing a triage mechanism with codebase awareness.
|
|
17
|
+
</objective>
|
|
18
|
+
|
|
19
|
+
<context>
|
|
20
|
+
Issues file: !`cat .planning/ISSUES.md 2>/dev/null || echo "NO_ISSUES_FILE"`
|
|
21
|
+
Project state: !`cat .planning/STATE.md 2>/dev/null | head -50`
|
|
22
|
+
Current phase: !`grep -E "^Phase:" .planning/STATE.md 2>/dev/null || echo "UNKNOWN"`
|
|
23
|
+
Roadmap phases: !`grep -E "^### Phase [0-9]" .planning/ROADMAP.md 2>/dev/null || echo "NO_ROADMAP"`
|
|
24
|
+
</context>
|
|
25
|
+
|
|
26
|
+
<process>
|
|
27
|
+
|
|
28
|
+
<step name="verify">
|
|
29
|
+
**Verify issues file exists:**
|
|
30
|
+
|
|
31
|
+
If no `.planning/ISSUES.md`:
|
|
32
|
+
```
|
|
33
|
+
No issues file found.
|
|
34
|
+
|
|
35
|
+
This means no enhancements have been deferred yet (Rule 5 hasn't triggered).
|
|
36
|
+
|
|
37
|
+
Nothing to review.
|
|
38
|
+
```
|
|
39
|
+
Exit.
|
|
40
|
+
|
|
41
|
+
If ISSUES.md exists but has no open issues (only template or empty "Open Enhancements"):
|
|
42
|
+
```
|
|
43
|
+
No open issues to review.
|
|
44
|
+
|
|
45
|
+
All clear - continue with current work.
|
|
46
|
+
```
|
|
47
|
+
Exit.
|
|
48
|
+
</step>
|
|
49
|
+
|
|
50
|
+
<step name="parse">
|
|
51
|
+
**Parse all open issues:**
|
|
52
|
+
|
|
53
|
+
Extract from "## Open Enhancements" section:
|
|
54
|
+
- ISS number (ISS-001, ISS-002, etc.)
|
|
55
|
+
- Brief description
|
|
56
|
+
- Discovered phase/date
|
|
57
|
+
- Type (Performance/Refactoring/UX/Testing/Documentation/Accessibility)
|
|
58
|
+
- Description details
|
|
59
|
+
- Effort estimate
|
|
60
|
+
|
|
61
|
+
Build list of issues to analyze.
|
|
62
|
+
</step>
|
|
63
|
+
|
|
64
|
+
<step name="analyze">
|
|
65
|
+
**For each open issue, perform codebase analysis:**
|
|
66
|
+
|
|
67
|
+
1. **Check if still relevant:**
|
|
68
|
+
- Search codebase for related code/files mentioned in issue
|
|
69
|
+
- If code no longer exists or was significantly refactored: likely resolved
|
|
70
|
+
|
|
71
|
+
2. **Check if accidentally resolved:**
|
|
72
|
+
- Look for commits/changes that may have addressed this
|
|
73
|
+
- Check if the enhancement was implemented as part of other work
|
|
74
|
+
|
|
75
|
+
3. **Assess current urgency:**
|
|
76
|
+
- Is this blocking upcoming phases?
|
|
77
|
+
- Has this become a pain point mentioned in recent summaries?
|
|
78
|
+
- Is this now affecting code we're actively working on?
|
|
79
|
+
|
|
80
|
+
4. **Check natural fit:**
|
|
81
|
+
- Does this align with an upcoming phase in the roadmap?
|
|
82
|
+
- Would addressing it now touch the same files as current work?
|
|
83
|
+
|
|
84
|
+
**Categorize each issue:**
|
|
85
|
+
- **Resolved** - Can be closed (code changed, no longer applicable)
|
|
86
|
+
- **Urgent** - Should address before continuing (blocking or causing problems)
|
|
87
|
+
- **Natural fit** - Good candidate for upcoming phase X
|
|
88
|
+
- **Can wait** - Keep deferred, no change in status
|
|
89
|
+
</step>
|
|
90
|
+
|
|
91
|
+
<step name="report">
|
|
92
|
+
**Present categorized report:**
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
# Issue Review
|
|
96
|
+
|
|
97
|
+
**Analyzed:** [N] open issues
|
|
98
|
+
**Last reviewed:** [today's date]
|
|
99
|
+
|
|
100
|
+
## Resolved (can close)
|
|
101
|
+
|
|
102
|
+
### ISS-XXX: [description]
|
|
103
|
+
**Reason:** [Why it's resolved - code changed, implemented elsewhere, no longer applicable]
|
|
104
|
+
**Evidence:** [What you found - file changes, missing code, etc.]
|
|
105
|
+
|
|
106
|
+
[Repeat for each resolved issue, or "None" if none resolved]
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Urgent (should address now)
|
|
111
|
+
|
|
112
|
+
### ISS-XXX: [description]
|
|
113
|
+
**Why urgent:** [What changed - blocking next phase, causing active problems, etc.]
|
|
114
|
+
**Recommendation:** Insert plan before Phase [X] / Add to current phase
|
|
115
|
+
**Effort:** [Quick/Medium/Substantial]
|
|
116
|
+
|
|
117
|
+
[Repeat for each urgent issue, or "None - all issues can wait" if none urgent]
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Natural Fit for Upcoming Work
|
|
122
|
+
|
|
123
|
+
### ISS-XXX: [description]
|
|
124
|
+
**Fits with:** Phase [X] - [phase name]
|
|
125
|
+
**Reason:** [Same files, same subsystem, natural inclusion]
|
|
126
|
+
|
|
127
|
+
[Repeat for each, or "None" if no natural fits]
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Can Wait (no change)
|
|
132
|
+
|
|
133
|
+
### ISS-XXX: [description]
|
|
134
|
+
**Status:** Still valid, not urgent, keep deferred
|
|
135
|
+
|
|
136
|
+
[Repeat for each, or list ISS numbers if many]
|
|
137
|
+
```
|
|
138
|
+
</step>
|
|
139
|
+
|
|
140
|
+
<step name="offer_actions">
|
|
141
|
+
**Offer batch actions:**
|
|
142
|
+
|
|
143
|
+
Based on analysis, present options:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
## Actions
|
|
147
|
+
|
|
148
|
+
What would you like to do?
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Use AskUserQuestion with appropriate options based on findings:
|
|
152
|
+
|
|
153
|
+
**If resolved issues exist:**
|
|
154
|
+
- "Close resolved issues" - Move to Closed Enhancements section
|
|
155
|
+
- "Review each first" - Show details before closing
|
|
156
|
+
|
|
157
|
+
**If urgent issues exist:**
|
|
158
|
+
- "Insert urgent phase" - Create phase to address urgent issues (/gsd:insert-phase)
|
|
159
|
+
- "Add to current plan" - Include in next plan being created
|
|
160
|
+
- "Defer anyway" - Keep as-is despite urgency
|
|
161
|
+
|
|
162
|
+
**If natural fits exist:**
|
|
163
|
+
- "Note for phase planning" - Will be picked up during /gsd:plan-phase
|
|
164
|
+
- "Add explicit reminder" - Update issue with "Include in Phase X"
|
|
165
|
+
|
|
166
|
+
**Always include:**
|
|
167
|
+
- "Done for now" - Exit without changes
|
|
168
|
+
</step>
|
|
169
|
+
|
|
170
|
+
<step name="execute_actions">
|
|
171
|
+
**Execute selected actions:**
|
|
172
|
+
|
|
173
|
+
**If closing resolved issues:**
|
|
174
|
+
1. Read current ISSUES.md
|
|
175
|
+
2. For each resolved issue:
|
|
176
|
+
- Remove from "## Open Enhancements"
|
|
177
|
+
- Add to "## Closed Enhancements" with resolution note:
|
|
178
|
+
```
|
|
179
|
+
### ISS-XXX: [description]
|
|
180
|
+
**Resolved:** [date] - [reason]
|
|
181
|
+
```
|
|
182
|
+
3. Write updated ISSUES.md
|
|
183
|
+
4. Update STATE.md deferred issues count
|
|
184
|
+
|
|
185
|
+
**If inserting urgent phase:**
|
|
186
|
+
- Invoke: `SlashCommand("/gsd:insert-phase [after-phase] Address urgent issues ISS-XXX, ISS-YYY")`
|
|
187
|
+
|
|
188
|
+
**If noting for phase planning:**
|
|
189
|
+
- Update issue's "Suggested phase" field with specific phase number
|
|
190
|
+
- These will be picked up by /gsd:plan-phase workflow
|
|
191
|
+
</step>
|
|
192
|
+
|
|
193
|
+
</process>
|
|
194
|
+
|
|
195
|
+
<success_criteria>
|
|
196
|
+
- [ ] All open issues analyzed against current codebase
|
|
197
|
+
- [ ] Each issue categorized (resolved/urgent/natural-fit/can-wait)
|
|
198
|
+
- [ ] Clear reasoning provided for each categorization
|
|
199
|
+
- [ ] Actions offered based on findings
|
|
200
|
+
- [ ] ISSUES.md updated if user takes action
|
|
201
|
+
- [ ] STATE.md updated if issue count changes
|
|
202
|
+
</success_criteria>
|
package/commands/gsd/help.md
CHANGED
|
@@ -172,6 +172,19 @@ Create context handoff when pausing work mid-phase.
|
|
|
172
172
|
|
|
173
173
|
Usage: `/gsd:pause-work`
|
|
174
174
|
|
|
175
|
+
### Issue Management
|
|
176
|
+
|
|
177
|
+
**`/gsd:consider-issues`**
|
|
178
|
+
Review deferred issues with codebase context.
|
|
179
|
+
|
|
180
|
+
- Analyzes all open issues against current codebase state
|
|
181
|
+
- Identifies resolved issues (can close)
|
|
182
|
+
- Identifies urgent issues (should address now)
|
|
183
|
+
- Identifies natural fits for upcoming phases
|
|
184
|
+
- Offers batch actions (close, insert phase, note for planning)
|
|
185
|
+
|
|
186
|
+
Usage: `/gsd:consider-issues`
|
|
187
|
+
|
|
175
188
|
### Utility Commands
|
|
176
189
|
|
|
177
190
|
**`/gsd:help`**
|
|
@@ -184,6 +197,7 @@ Show this command reference.
|
|
|
184
197
|
├── PROJECT.md # Project vision
|
|
185
198
|
├── ROADMAP.md # Current phase breakdown
|
|
186
199
|
├── STATE.md # Project memory & context
|
|
200
|
+
├── ISSUES.md # Deferred enhancements (created when needed)
|
|
187
201
|
├── config.json # Workflow mode & gates
|
|
188
202
|
└── phases/
|
|
189
203
|
├── 01-foundation/
|
|
@@ -73,6 +73,39 @@ Plans are guides, not straitjackets. During execution:
|
|
|
73
73
|
5. **Log enhancements** - Nice-to-haves, log to Issues, continue
|
|
74
74
|
</deviation_rules>
|
|
75
75
|
|
|
76
|
+
<test_driven_when_beneficial>
|
|
77
|
+
|
|
78
|
+
Use TDD when the work WOULD benefit from it. Not dogma—pragmatism.
|
|
79
|
+
|
|
80
|
+
**TDD candidates (write test first):**
|
|
81
|
+
- Business logic with defined inputs/outputs
|
|
82
|
+
- API endpoints and handlers
|
|
83
|
+
- Data transformations and parsing
|
|
84
|
+
- Validation rules
|
|
85
|
+
- State machines and workflows
|
|
86
|
+
- Anything where you can describe expected behavior before implementing
|
|
87
|
+
|
|
88
|
+
**Skip TDD for:**
|
|
89
|
+
- UI layout and styling
|
|
90
|
+
- Exploratory prototyping
|
|
91
|
+
- One-off scripts and migrations
|
|
92
|
+
- Configuration changes
|
|
93
|
+
- Glue code with no logic
|
|
94
|
+
|
|
95
|
+
**Decision heuristic:**
|
|
96
|
+
Can you write `expect(fn(input)).toBe(output)` before writing `fn`?
|
|
97
|
+
→ Yes: TDD will help
|
|
98
|
+
→ No: Write implementation first, add tests after if needed
|
|
99
|
+
|
|
100
|
+
**TDD task structure:**
|
|
101
|
+
When TDD applies, structure tasks as test-first:
|
|
102
|
+
1. Write failing test (red)
|
|
103
|
+
2. Implement to pass (green)
|
|
104
|
+
3. Refactor if needed
|
|
105
|
+
|
|
106
|
+
This is about design quality, not test coverage metrics.
|
|
107
|
+
</test_driven_when_beneficial>
|
|
108
|
+
|
|
76
109
|
<ship_fast>
|
|
77
110
|
|
|
78
111
|
No enterprise process. No approval gates.
|
|
@@ -1157,6 +1157,45 @@ EOF
|
|
|
1157
1157
|
For commit message conventions and git workflow patterns, see ~/.claude/get-shit-done/references/git-integration.md
|
|
1158
1158
|
</step>
|
|
1159
1159
|
|
|
1160
|
+
<step name="check_phase_issues">
|
|
1161
|
+
**Check if issues were created during this phase:**
|
|
1162
|
+
|
|
1163
|
+
```bash
|
|
1164
|
+
# Check if ISSUES.md exists and has issues from current phase
|
|
1165
|
+
if [ -f .planning/ISSUES.md ]; then
|
|
1166
|
+
grep -E "Phase ${PHASE}.*Task" .planning/ISSUES.md | grep -v "^#" || echo "NO_ISSUES_THIS_PHASE"
|
|
1167
|
+
fi
|
|
1168
|
+
```
|
|
1169
|
+
|
|
1170
|
+
**If issues were created during this phase:**
|
|
1171
|
+
|
|
1172
|
+
```
|
|
1173
|
+
📋 Issues logged during this phase:
|
|
1174
|
+
- ISS-XXX: [brief description]
|
|
1175
|
+
- ISS-YYY: [brief description]
|
|
1176
|
+
|
|
1177
|
+
Review these now?
|
|
1178
|
+
```
|
|
1179
|
+
|
|
1180
|
+
Use AskUserQuestion:
|
|
1181
|
+
- header: "Phase Issues"
|
|
1182
|
+
- question: "[N] issues were logged during this phase. Review now?"
|
|
1183
|
+
- options:
|
|
1184
|
+
- "Review issues" - Analyze with /gsd:consider-issues
|
|
1185
|
+
- "Continue" - Address later, proceed to next work
|
|
1186
|
+
|
|
1187
|
+
**If "Review issues" selected:**
|
|
1188
|
+
- Invoke: `SlashCommand("/gsd:consider-issues")`
|
|
1189
|
+
- After consider-issues completes, return to offer_next
|
|
1190
|
+
|
|
1191
|
+
**If "Continue" selected or no issues found:**
|
|
1192
|
+
- Proceed to offer_next step
|
|
1193
|
+
|
|
1194
|
+
**In YOLO mode:**
|
|
1195
|
+
- Note issues were logged but don't prompt: `📋 [N] issues logged this phase (review later with /gsd:consider-issues)`
|
|
1196
|
+
- Continue to offer_next automatically
|
|
1197
|
+
</step>
|
|
1198
|
+
|
|
1160
1199
|
<step name="offer_next">
|
|
1161
1200
|
**Check workflow config for gate behavior:**
|
|
1162
1201
|
|
|
@@ -422,6 +422,18 @@ Each task must have:
|
|
|
422
422
|
- **Verify**: How to prove it worked
|
|
423
423
|
- **Done**: Acceptance criteria
|
|
424
424
|
|
|
425
|
+
**Assess TDD fit for each task:**
|
|
426
|
+
|
|
427
|
+
TDD produces better design and catches bugs early. Use it when you can define expected behavior upfront.
|
|
428
|
+
|
|
429
|
+
For each task, ask: Can I write `expect(fn(input)).toBe(output)` before writing `fn`?
|
|
430
|
+
|
|
431
|
+
→ **Yes** (business logic, APIs, transformations, validation, state machines):
|
|
432
|
+
Structure test-first. Task action: "Implement X with TDD—write failing test, then implement to pass."
|
|
433
|
+
|
|
434
|
+
→ **No** (UI layout, config, glue code, exploration):
|
|
435
|
+
Standard implementation. Add tests after if coverage needed.
|
|
436
|
+
|
|
425
437
|
**Identify checkpoints:**
|
|
426
438
|
|
|
427
439
|
- Claude automated work needing visual/functional verification? → checkpoint:human-verify
|
package/package.json
CHANGED