gsd-opencode 1.20.3 → 1.22.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/agents/gsd-codebase-mapper.md +9 -1
- package/agents/gsd-debugger.md +66 -10
- package/agents/gsd-executor.md +36 -16
- package/agents/gsd-integration-checker.md +2 -0
- package/agents/gsd-nyquist-auditor.md +178 -0
- package/agents/gsd-phase-researcher.md +28 -34
- package/agents/gsd-plan-checker.md +42 -78
- package/agents/gsd-planner.md +139 -24
- package/agents/gsd-project-researcher.md +11 -1
- package/agents/gsd-research-synthesizer.md +13 -3
- package/agents/gsd-roadmapper.md +25 -15
- package/agents/gsd-verifier.md +29 -6
- package/bin/dm/lib/constants.js +6 -1
- package/bin/dm/src/services/file-ops.js +14 -1
- package/commands/gsd/gsd-add-phase.md +6 -6
- package/commands/gsd/gsd-add-tests.md +41 -0
- package/commands/gsd/gsd-add-todo.md +7 -7
- package/commands/gsd/gsd-audit-milestone.md +9 -9
- package/commands/gsd/gsd-check-profile.md +3 -3
- package/commands/gsd/gsd-check-todos.md +7 -7
- package/commands/gsd/gsd-cleanup.md +2 -2
- package/commands/gsd/gsd-complete-milestone.md +6 -6
- package/commands/gsd/gsd-debug.md +11 -7
- package/commands/gsd/gsd-discuss-phase.md +26 -19
- package/commands/gsd/gsd-execute-phase.md +13 -13
- package/commands/gsd/gsd-health.md +7 -7
- package/commands/gsd/gsd-help.md +2 -2
- package/commands/gsd/gsd-insert-phase.md +6 -6
- package/commands/gsd/gsd-join-discord.md +1 -1
- package/commands/gsd/gsd-list-phase-assumptions.md +6 -6
- package/commands/gsd/gsd-map-codebase.md +8 -8
- package/commands/gsd/gsd-new-milestone.md +12 -12
- package/commands/gsd/gsd-new-project.md +12 -12
- package/commands/gsd/gsd-pause-work.md +6 -6
- package/commands/gsd/gsd-plan-milestone-gaps.md +9 -9
- package/commands/gsd/gsd-plan-phase.md +14 -13
- package/commands/gsd/gsd-progress.md +8 -8
- package/commands/gsd/gsd-quick.md +17 -13
- package/commands/gsd/gsd-reapply-patches.md +19 -11
- package/commands/gsd/gsd-remove-phase.md +7 -7
- package/commands/gsd/gsd-research-phase.md +12 -11
- package/commands/gsd/gsd-resume-work.md +8 -8
- package/commands/gsd/gsd-set-profile.md +6 -6
- package/commands/gsd/gsd-settings.md +7 -7
- package/commands/gsd/gsd-update.md +5 -5
- package/commands/gsd/gsd-validate-phase.md +35 -0
- package/commands/gsd/gsd-verify-work.md +11 -11
- package/get-shit-done/bin/gsd-oc-commands/allow-read-config.cjs +235 -0
- package/get-shit-done/bin/gsd-oc-tools.cjs +11 -5
- package/get-shit-done/bin/gsd-tools.cjs +45 -6
- package/get-shit-done/bin/lib/commands.cjs +11 -19
- package/get-shit-done/bin/lib/config.cjs +8 -1
- package/get-shit-done/bin/lib/core.cjs +131 -16
- package/get-shit-done/bin/lib/init.cjs +28 -12
- package/get-shit-done/bin/lib/milestone.cjs +34 -8
- package/get-shit-done/bin/lib/phase.cjs +74 -50
- package/get-shit-done/bin/lib/roadmap.cjs +7 -7
- package/get-shit-done/bin/lib/state.cjs +294 -63
- package/get-shit-done/bin/lib/template.cjs +3 -3
- package/get-shit-done/bin/lib/verify.cjs +56 -8
- package/get-shit-done/bin/test/allow-read-config.test.cjs +262 -0
- package/get-shit-done/references/checkpoints.md +1 -1
- package/get-shit-done/references/decimal-phase-calculation.md +6 -6
- package/get-shit-done/references/git-integration.md +3 -3
- package/get-shit-done/references/git-planning-commit.md +2 -2
- package/get-shit-done/references/model-profile-resolution.md +1 -1
- package/get-shit-done/references/model-profiles.md +1 -0
- package/get-shit-done/references/phase-argument-parsing.md +4 -4
- package/get-shit-done/references/planning-config.md +10 -6
- package/get-shit-done/references/questioning.md +17 -0
- package/get-shit-done/references/verification-patterns.md +1 -1
- package/get-shit-done/templates/DEBUG.md +7 -2
- package/get-shit-done/templates/VALIDATION.md +18 -46
- package/get-shit-done/templates/codebase/structure.md +3 -3
- package/get-shit-done/templates/config.json +2 -2
- package/get-shit-done/templates/context.md +14 -0
- package/get-shit-done/templates/phase-prompt.md +10 -10
- package/get-shit-done/templates/retrospective.md +54 -0
- package/get-shit-done/templates/roadmap.md +1 -1
- package/get-shit-done/workflows/add-phase.md +3 -2
- package/get-shit-done/workflows/add-tests.md +351 -0
- package/get-shit-done/workflows/add-todo.md +4 -3
- package/get-shit-done/workflows/audit-milestone.md +40 -5
- package/get-shit-done/workflows/check-todos.md +3 -2
- package/get-shit-done/workflows/cleanup.md +1 -1
- package/get-shit-done/workflows/complete-milestone.md +69 -5
- package/get-shit-done/workflows/diagnose-issues.md +2 -2
- package/get-shit-done/workflows/discovery-phase.md +6 -6
- package/get-shit-done/workflows/discuss-phase.md +194 -58
- package/get-shit-done/workflows/execute-phase.md +29 -23
- package/get-shit-done/workflows/execute-plan.md +22 -18
- package/get-shit-done/workflows/health.md +5 -2
- package/get-shit-done/workflows/help.md +4 -1
- package/get-shit-done/workflows/insert-phase.md +3 -2
- package/get-shit-done/workflows/map-codebase.md +3 -2
- package/get-shit-done/workflows/new-milestone.md +12 -10
- package/get-shit-done/workflows/new-project.md +44 -49
- package/get-shit-done/workflows/oc-set-profile.md +24 -0
- package/get-shit-done/workflows/pause-work.md +2 -2
- package/get-shit-done/workflows/plan-milestone-gaps.md +3 -3
- package/get-shit-done/workflows/plan-phase.md +155 -73
- package/get-shit-done/workflows/progress.md +8 -7
- package/get-shit-done/workflows/quick.md +158 -10
- package/get-shit-done/workflows/remove-phase.md +5 -4
- package/get-shit-done/workflows/research-phase.md +5 -4
- package/get-shit-done/workflows/resume-project.md +3 -2
- package/get-shit-done/workflows/set-profile.md +3 -2
- package/get-shit-done/workflows/settings.md +6 -6
- package/get-shit-done/workflows/transition.md +5 -5
- package/get-shit-done/workflows/update.md +45 -19
- package/get-shit-done/workflows/validate-phase.md +167 -0
- package/get-shit-done/workflows/verify-phase.md +10 -9
- package/get-shit-done/workflows/verify-work.md +18 -4
- package/package.json +1 -1
package/agents/gsd-roadmapper.md
CHANGED
|
@@ -8,6 +8,14 @@ tools:
|
|
|
8
8
|
glob: true
|
|
9
9
|
grep: true
|
|
10
10
|
color: "#800080"
|
|
11
|
+
skills:
|
|
12
|
+
- gsd-roadmapper-workflow
|
|
13
|
+
# hooks:
|
|
14
|
+
# PostToolUse:
|
|
15
|
+
# - matcher: "write|edit"
|
|
16
|
+
# hooks:
|
|
17
|
+
# - type: command
|
|
18
|
+
# command: "npx eslint --fix $FILE 2>/dev/null || true"
|
|
11
19
|
---
|
|
12
20
|
|
|
13
21
|
<role>
|
|
@@ -197,17 +205,17 @@ Track coverage as you go.
|
|
|
197
205
|
- New milestone: Start at 1
|
|
198
206
|
- Continuing milestone: Check existing phases, start at last + 1
|
|
199
207
|
|
|
200
|
-
##
|
|
208
|
+
## Granularity Calibration
|
|
201
209
|
|
|
202
|
-
read
|
|
210
|
+
read granularity from config.json. Granularity controls compression tolerance.
|
|
203
211
|
|
|
204
|
-
|
|
|
205
|
-
|
|
206
|
-
|
|
|
212
|
+
| Granularity | Typical Phases | What It Means |
|
|
213
|
+
|-------------|----------------|---------------|
|
|
214
|
+
| Coarse | 3-5 | Combine aggressively, critical path only |
|
|
207
215
|
| Standard | 5-8 | Balanced grouping |
|
|
208
|
-
|
|
|
216
|
+
| Fine | 8-12 | Let natural boundaries stand |
|
|
209
217
|
|
|
210
|
-
**Key:** Derive phases from work, then apply
|
|
218
|
+
**Key:** Derive phases from work, then apply granularity as compression guidance. Don't pad small projects or compress complex ones.
|
|
211
219
|
|
|
212
220
|
## Good Phase Patterns
|
|
213
221
|
|
|
@@ -333,11 +341,11 @@ After roadmap creation, REQUIREMENTS.md gets updated with phase mappings:
|
|
|
333
341
|
| 2. Name | 0/2 | Not started | - |
|
|
334
342
|
```
|
|
335
343
|
|
|
336
|
-
Reference full template:
|
|
344
|
+
Reference full template: `$HOME/.config/opencode/get-shit-done/templates/roadmap.md`
|
|
337
345
|
|
|
338
346
|
## STATE.md Structure
|
|
339
347
|
|
|
340
|
-
Use template from
|
|
348
|
+
Use template from `$HOME/.config/opencode/get-shit-done/templates/state.md`.
|
|
341
349
|
|
|
342
350
|
Key sections:
|
|
343
351
|
- Project Reference (core value, current focus)
|
|
@@ -354,7 +362,7 @@ When presenting to user for approval:
|
|
|
354
362
|
## ROADMAP DRAFT
|
|
355
363
|
|
|
356
364
|
**Phases:** [N]
|
|
357
|
-
**
|
|
365
|
+
**Granularity:** [from config]
|
|
358
366
|
**Coverage:** [X]/[Y] requirements mapped
|
|
359
367
|
|
|
360
368
|
### Phase Structure
|
|
@@ -398,7 +406,7 @@ Orchestrator provides:
|
|
|
398
406
|
- PROJECT.md content (core value, constraints)
|
|
399
407
|
- REQUIREMENTS.md content (v1 requirements with REQ-IDs)
|
|
400
408
|
- research/SUMMARY.md content (if exists - phase suggestions)
|
|
401
|
-
- config.json (
|
|
409
|
+
- config.json (granularity setting)
|
|
402
410
|
|
|
403
411
|
Parse and confirm understanding before proceeding.
|
|
404
412
|
|
|
@@ -434,7 +442,7 @@ Apply phase identification methodology:
|
|
|
434
442
|
1. Group requirements by natural delivery boundaries
|
|
435
443
|
2. Identify dependencies between groups
|
|
436
444
|
3. Create phases that complete coherent capabilities
|
|
437
|
-
4. Check
|
|
445
|
+
4. Check granularity setting for compression guidance
|
|
438
446
|
|
|
439
447
|
## Step 5: Derive Success Criteria
|
|
440
448
|
|
|
@@ -454,7 +462,9 @@ If gaps found, include in draft for user decision.
|
|
|
454
462
|
|
|
455
463
|
## Step 7: write Files Immediately
|
|
456
464
|
|
|
457
|
-
**write files
|
|
465
|
+
**ALWAYS use the write tool to create files** — never use `bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
466
|
+
|
|
467
|
+
write files first, then return. This ensures artifacts persist even if context is lost.
|
|
458
468
|
|
|
459
469
|
1. **write ROADMAP.md** using output format
|
|
460
470
|
|
|
@@ -497,7 +507,7 @@ When files are written and returning to orchestrator:
|
|
|
497
507
|
### Summary
|
|
498
508
|
|
|
499
509
|
**Phases:** {N}
|
|
500
|
-
**
|
|
510
|
+
**Granularity:** {from config}
|
|
501
511
|
**Coverage:** {X}/{X} requirements mapped ✓
|
|
502
512
|
|
|
503
513
|
| Phase | Goal | Requirements |
|
|
@@ -623,7 +633,7 @@ Roadmap is complete when:
|
|
|
623
633
|
- [ ] All v1 requirements extracted with IDs
|
|
624
634
|
- [ ] Research context loaded (if exists)
|
|
625
635
|
- [ ] Phases derived from requirements (not imposed)
|
|
626
|
-
- [ ]
|
|
636
|
+
- [ ] Granularity calibration applied
|
|
627
637
|
- [ ] Dependencies between phases identified
|
|
628
638
|
- [ ] Success criteria derived for each phase (2-5 observable behaviors)
|
|
629
639
|
- [ ] Success criteria cross-checked against requirements (gaps resolved)
|
package/agents/gsd-verifier.md
CHANGED
|
@@ -8,6 +8,14 @@ tools:
|
|
|
8
8
|
grep: true
|
|
9
9
|
glob: true
|
|
10
10
|
color: "#008000"
|
|
11
|
+
skills:
|
|
12
|
+
- gsd-verifier-workflow
|
|
13
|
+
# hooks:
|
|
14
|
+
# PostToolUse:
|
|
15
|
+
# - matcher: "write|edit"
|
|
16
|
+
# hooks:
|
|
17
|
+
# - type: command
|
|
18
|
+
# command: "npx eslint --fix $FILE 2>/dev/null || true"
|
|
11
19
|
---
|
|
12
20
|
|
|
13
21
|
<role>
|
|
@@ -21,6 +29,21 @@ If the prompt contains a `<files_to_read>` block, you MUST use the `read` tool t
|
|
|
21
29
|
**Critical mindset:** Do NOT trust SUMMARY.md claims. SUMMARYs document what OpenCode SAID it did. You verify what ACTUALLY exists in the code. These often differ.
|
|
22
30
|
</role>
|
|
23
31
|
|
|
32
|
+
<project_context>
|
|
33
|
+
Before verifying, discover project context:
|
|
34
|
+
|
|
35
|
+
**Project instructions:** read `./AGENTS.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
|
|
36
|
+
|
|
37
|
+
**Project skills:** Check `.OpenCode/skills/` or `.agents/skills/` directory if either exists:
|
|
38
|
+
1. List available skills (subdirectories)
|
|
39
|
+
2. read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
40
|
+
3. Load specific `rules/*.md` files as needed during verification
|
|
41
|
+
4. Do NOT load full `AGENTS.md` files (100KB+ context cost)
|
|
42
|
+
5. Apply skill rules when scanning for anti-patterns and verifying quality
|
|
43
|
+
|
|
44
|
+
This ensures project-specific patterns, conventions, and best practices are applied during verification.
|
|
45
|
+
</project_context>
|
|
46
|
+
|
|
24
47
|
<core_principle>
|
|
25
48
|
**task completion ≠ Goal achievement**
|
|
26
49
|
|
|
@@ -62,7 +85,7 @@ Set `is_re_verification = false`, proceed with Step 1.
|
|
|
62
85
|
```bash
|
|
63
86
|
ls "$PHASE_DIR"/*-PLAN.md 2>/dev/null
|
|
64
87
|
ls "$PHASE_DIR"/*-SUMMARY.md 2>/dev/null
|
|
65
|
-
node
|
|
88
|
+
node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "$PHASE_NUM"
|
|
66
89
|
grep -E "^| $PHASE_NUM" .planning/REQUIREMENTS.md 2>/dev/null
|
|
67
90
|
```
|
|
68
91
|
|
|
@@ -99,7 +122,7 @@ must_haves:
|
|
|
99
122
|
If no must_haves in frontmatter, check for Success Criteria:
|
|
100
123
|
|
|
101
124
|
```bash
|
|
102
|
-
PHASE_DATA=$(node
|
|
125
|
+
PHASE_DATA=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "$PHASE_NUM" --raw)
|
|
103
126
|
```
|
|
104
127
|
|
|
105
128
|
Parse the `success_criteria` array from the JSON output. If non-empty:
|
|
@@ -142,7 +165,7 @@ For each truth:
|
|
|
142
165
|
Use gsd-tools for artifact verification against must_haves in PLAN frontmatter:
|
|
143
166
|
|
|
144
167
|
```bash
|
|
145
|
-
ARTIFACT_RESULT=$(node
|
|
168
|
+
ARTIFACT_RESULT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" verify artifacts "$PLAN_PATH")
|
|
146
169
|
```
|
|
147
170
|
|
|
148
171
|
Parse JSON result: `{ all_passed, passed, total, artifacts: [{path, exists, issues, passed}] }`
|
|
@@ -191,7 +214,7 @@ Key links are critical connections. If broken, the goal fails even with all arti
|
|
|
191
214
|
Use gsd-tools for key link verification against must_haves in PLAN frontmatter:
|
|
192
215
|
|
|
193
216
|
```bash
|
|
194
|
-
LINKS_RESULT=$(node
|
|
217
|
+
LINKS_RESULT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" verify key-links "$PLAN_PATH")
|
|
195
218
|
```
|
|
196
219
|
|
|
197
220
|
Parse JSON result: `{ all_verified, verified, total, links: [{from, to, via, verified, detail}] }`
|
|
@@ -273,12 +296,12 @@ Identify files modified in this phase from SUMMARY.md key-files section, or extr
|
|
|
273
296
|
|
|
274
297
|
```bash
|
|
275
298
|
# Option 1: Extract from SUMMARY frontmatter
|
|
276
|
-
SUMMARY_FILES=$(node
|
|
299
|
+
SUMMARY_FILES=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" summary-extract "$PHASE_DIR"/*-SUMMARY.md --fields key-files)
|
|
277
300
|
|
|
278
301
|
# Option 2: Verify commits exist (if commit hashes documented)
|
|
279
302
|
COMMIT_HASHES=$(grep -oE "[a-f0-9]{7,40}" "$PHASE_DIR"/*-SUMMARY.md | head -10)
|
|
280
303
|
if [ -n "$COMMIT_HASHES" ]; then
|
|
281
|
-
COMMITS_VALID=$(node
|
|
304
|
+
COMMITS_VALID=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" verify commits $COMMIT_HASHES)
|
|
282
305
|
fi
|
|
283
306
|
|
|
284
307
|
# Fallback: grep for files
|
package/bin/dm/lib/constants.js
CHANGED
|
@@ -58,7 +58,12 @@ export const PATH_PATTERNS = {
|
|
|
58
58
|
* These appear in workflow files that call gsd-tools.cjs directly.
|
|
59
59
|
* Must be replaced for both global and local installs to ensure correct paths.
|
|
60
60
|
*/
|
|
61
|
-
tildeConfigReference: /~\/\.config\/opencode\//g
|
|
61
|
+
tildeConfigReference: /~\/\.config\/opencode\//g,
|
|
62
|
+
/**
|
|
63
|
+
* Pattern to match literal $HOME/.config/opencode/ references in markdown files.
|
|
64
|
+
* These are shell-style absolute references that need to be replaced for local installs.
|
|
65
|
+
*/
|
|
66
|
+
homeConfigReference: /\$HOME\/\.config\/opencode\//g
|
|
62
67
|
};
|
|
63
68
|
|
|
64
69
|
/**
|
|
@@ -485,8 +485,12 @@ export class FileOperations {
|
|
|
485
485
|
if (PATH_PATTERNS.tildeConfigReference) {
|
|
486
486
|
PATH_PATTERNS.tildeConfigReference.lastIndex = 0; // Reset regex
|
|
487
487
|
}
|
|
488
|
+
const hasHomeRef = PATH_PATTERNS.homeConfigReference && PATH_PATTERNS.homeConfigReference.test(content);
|
|
489
|
+
if (PATH_PATTERNS.homeConfigReference) {
|
|
490
|
+
PATH_PATTERNS.homeConfigReference.lastIndex = 0; // Reset regex
|
|
491
|
+
}
|
|
488
492
|
|
|
489
|
-
if (!hasGsdRef && !hasAbsRef && !hasTildeRef) {
|
|
493
|
+
if (!hasGsdRef && !hasAbsRef && !hasTildeRef && !hasHomeRef) {
|
|
490
494
|
await fs.copyFile(sourcePath, targetPath, fsConstants.COPYFILE_FICLONE);
|
|
491
495
|
return;
|
|
492
496
|
}
|
|
@@ -520,6 +524,15 @@ export class FileOperations {
|
|
|
520
524
|
);
|
|
521
525
|
}
|
|
522
526
|
|
|
527
|
+
// For local installs, replace literal $HOME/.config/opencode/ with local path
|
|
528
|
+
// This handles shell-style references like: node $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs
|
|
529
|
+
if (this.scopeManager.scope === 'local' && PATH_PATTERNS.homeConfigReference) {
|
|
530
|
+
content = content.replace(
|
|
531
|
+
PATH_PATTERNS.homeConfigReference,
|
|
532
|
+
() => targetDir + '/'
|
|
533
|
+
);
|
|
534
|
+
}
|
|
535
|
+
|
|
523
536
|
await fs.writeFile(targetPath, content, 'utf-8');
|
|
524
537
|
} else {
|
|
525
538
|
// Copy binary or other files directly
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
name: gsd-add-phase
|
|
3
3
|
description: Add phase to end of current milestone in roadmap
|
|
4
4
|
argument-hint: <description>
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
write: true
|
|
8
|
+
bash: true
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
<objective>
|
|
@@ -19,7 +19,7 @@ Routes to the add-phase workflow which handles:
|
|
|
19
19
|
</objective>
|
|
20
20
|
|
|
21
21
|
<execution_context>
|
|
22
|
-
|
|
22
|
+
@$HOME/.config/opencode/get-shit-done/workflows/add-phase.md
|
|
23
23
|
</execution_context>
|
|
24
24
|
|
|
25
25
|
<context>
|
|
@@ -29,7 +29,7 @@ Roadmap and state are resolved in-workflow via `init phase-op` and targeted tool
|
|
|
29
29
|
</context>
|
|
30
30
|
|
|
31
31
|
<process>
|
|
32
|
-
**Follow the add-phase workflow** from
|
|
32
|
+
**Follow the add-phase workflow** from `@$HOME/.config/opencode/get-shit-done/workflows/add-phase.md`.
|
|
33
33
|
|
|
34
34
|
The workflow handles all logic including:
|
|
35
35
|
1. Argument parsing and validation
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-add-tests
|
|
3
|
+
description: Generate tests for a completed phase based on UAT criteria and implementation
|
|
4
|
+
argument-hint: "<phase> [additional instructions]"
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
write: true
|
|
8
|
+
edit: true
|
|
9
|
+
bash: true
|
|
10
|
+
glob: true
|
|
11
|
+
grep: true
|
|
12
|
+
task: true
|
|
13
|
+
question: true
|
|
14
|
+
argument-instructions: |
|
|
15
|
+
Parse the argument as a phase number (integer, decimal, or letter-suffix), plus optional free-text instructions.
|
|
16
|
+
Example: /gsd-add-tests 12
|
|
17
|
+
Example: /gsd-add-tests 12 focus on edge cases in the pricing module
|
|
18
|
+
---
|
|
19
|
+
<objective>
|
|
20
|
+
Generate unit and E2E tests for a completed phase, using its SUMMARY.md, CONTEXT.md, and VERIFICATION.md as specifications.
|
|
21
|
+
|
|
22
|
+
Analyzes implementation files, classifies them into TDD (unit), E2E (browser), or Skip categories, presents a test plan for user approval, then generates tests following RED-GREEN conventions.
|
|
23
|
+
|
|
24
|
+
Output: Test files committed with message `test(phase-{N}): add unit and E2E tests from add-tests command`
|
|
25
|
+
</objective>
|
|
26
|
+
|
|
27
|
+
<execution_context>
|
|
28
|
+
@$HOME/.config/opencode/get-shit-done/workflows/add-tests.md
|
|
29
|
+
</execution_context>
|
|
30
|
+
|
|
31
|
+
<context>
|
|
32
|
+
Phase: $ARGUMENTS
|
|
33
|
+
|
|
34
|
+
@.planning/STATE.md
|
|
35
|
+
@.planning/ROADMAP.md
|
|
36
|
+
</context>
|
|
37
|
+
|
|
38
|
+
<process>
|
|
39
|
+
Execute the add-tests workflow from @$HOME/.config/opencode/get-shit-done/workflows/add-tests.md end-to-end.
|
|
40
|
+
Preserve all workflow gates (classification approval, test plan approval, RED-GREEN verification, gap reporting).
|
|
41
|
+
</process>
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
name: gsd-add-todo
|
|
3
3
|
description: Capture idea or task as todo from current conversation context
|
|
4
4
|
argument-hint: [optional description]
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
write: true
|
|
8
|
+
bash: true
|
|
9
|
+
question: true
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
<objective>
|
|
@@ -23,7 +23,7 @@ Routes to the add-todo workflow which handles:
|
|
|
23
23
|
</objective>
|
|
24
24
|
|
|
25
25
|
<execution_context>
|
|
26
|
-
|
|
26
|
+
@$HOME/.config/opencode/get-shit-done/workflows/add-todo.md
|
|
27
27
|
</execution_context>
|
|
28
28
|
|
|
29
29
|
<context>
|
|
@@ -33,7 +33,7 @@ State is resolved in-workflow via `init todos` and targeted reads.
|
|
|
33
33
|
</context>
|
|
34
34
|
|
|
35
35
|
<process>
|
|
36
|
-
**Follow the add-todo workflow** from
|
|
36
|
+
**Follow the add-todo workflow** from `@$HOME/.config/opencode/get-shit-done/workflows/add-todo.md`.
|
|
37
37
|
|
|
38
38
|
The workflow handles all logic including:
|
|
39
39
|
1. Directory ensuring
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
name: gsd-audit-milestone
|
|
3
3
|
description: Audit milestone completion against original intent before archiving
|
|
4
4
|
argument-hint: "[version]"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
glob: true
|
|
8
|
+
grep: true
|
|
9
|
+
bash: true
|
|
10
|
+
task: true
|
|
11
|
+
write: true
|
|
12
12
|
---
|
|
13
13
|
<objective>
|
|
14
14
|
Verify milestone achieved its definition of done. Check requirements coverage, cross-phase integration, and end-to-end flows.
|
|
@@ -17,7 +17,7 @@ Verify milestone achieved its definition of done. Check requirements coverage, c
|
|
|
17
17
|
</objective>
|
|
18
18
|
|
|
19
19
|
<execution_context>
|
|
20
|
-
|
|
20
|
+
@$HOME/.config/opencode/get-shit-done/workflows/audit-milestone.md
|
|
21
21
|
</execution_context>
|
|
22
22
|
|
|
23
23
|
<context>
|
|
@@ -31,6 +31,6 @@ glob: .planning/phases/*/*-VERIFICATION.md
|
|
|
31
31
|
</context>
|
|
32
32
|
|
|
33
33
|
<process>
|
|
34
|
-
Execute the audit-milestone workflow from
|
|
34
|
+
Execute the audit-milestone workflow from @$HOME/.config/opencode/get-shit-done/workflows/audit-milestone.md end-to-end.
|
|
35
35
|
Preserve all workflow gates (scope determination, verification reading, integration check, requirements coverage, routing).
|
|
36
36
|
</process>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-check-profile
|
|
3
3
|
description: Validate gsd-opencode profile configuration
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
permissions:
|
|
5
|
+
read: true
|
|
6
|
+
bash: true
|
|
7
7
|
---
|
|
8
8
|
<objective>
|
|
9
9
|
Validate gsd-opencode profile configuration across both `opencode.json` and `.planning/oc_config.json`, then report results.
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
name: gsd-check-todos
|
|
3
3
|
description: List pending todos and select one to work on
|
|
4
4
|
argument-hint: [area filter]
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
write: true
|
|
8
|
+
bash: true
|
|
9
|
+
question: true
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
<objective>
|
|
@@ -21,7 +21,7 @@ Routes to the check-todos workflow which handles:
|
|
|
21
21
|
</objective>
|
|
22
22
|
|
|
23
23
|
<execution_context>
|
|
24
|
-
|
|
24
|
+
@$HOME/.config/opencode/get-shit-done/workflows/check-todos.md
|
|
25
25
|
</execution_context>
|
|
26
26
|
|
|
27
27
|
<context>
|
|
@@ -31,7 +31,7 @@ Todo state and roadmap correlation are loaded in-workflow using `init todos` and
|
|
|
31
31
|
</context>
|
|
32
32
|
|
|
33
33
|
<process>
|
|
34
|
-
**Follow the check-todos workflow** from
|
|
34
|
+
**Follow the check-todos workflow** from `@$HOME/.config/opencode/get-shit-done/workflows/check-todos.md`.
|
|
35
35
|
|
|
36
36
|
The workflow handles all logic including:
|
|
37
37
|
1. Todo existence checking
|
|
@@ -9,10 +9,10 @@ Use when `.planning/phases/` has accumulated directories from past milestones.
|
|
|
9
9
|
</objective>
|
|
10
10
|
|
|
11
11
|
<execution_context>
|
|
12
|
-
|
|
12
|
+
@$HOME/.config/opencode/get-shit-done/workflows/cleanup.md
|
|
13
13
|
</execution_context>
|
|
14
14
|
|
|
15
15
|
<process>
|
|
16
|
-
Follow the cleanup workflow at
|
|
16
|
+
Follow the cleanup workflow at @$HOME/.config/opencode/get-shit-done/workflows/cleanup.md.
|
|
17
17
|
Identify completed milestones, show a dry-run summary, and archive on confirmation.
|
|
18
18
|
</process>
|
|
@@ -3,10 +3,10 @@ type: prompt
|
|
|
3
3
|
name: gsd-complete-milestone
|
|
4
4
|
description: Archive completed milestone and prepare for next version
|
|
5
5
|
argument-hint: <version>
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
permissions:
|
|
7
|
+
read: true
|
|
8
|
+
write: true
|
|
9
|
+
bash: true
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
<objective>
|
|
@@ -19,8 +19,8 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
19
19
|
<execution_context>
|
|
20
20
|
**Load these files NOW (before proceeding):**
|
|
21
21
|
|
|
22
|
-
-
|
|
23
|
-
-
|
|
22
|
+
- @$HOME/.config/opencode/get-shit-done/workflows/complete-milestone.md (main workflow)
|
|
23
|
+
- @$HOME/.config/opencode/get-shit-done/templates/milestone-archive.md (archive template)
|
|
24
24
|
</execution_context>
|
|
25
25
|
|
|
26
26
|
<context>
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
name: gsd-debug
|
|
3
3
|
description: Systematic debugging with persistent state across context resets
|
|
4
4
|
argument-hint: [issue description]
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
bash: true
|
|
8
|
+
task: true
|
|
9
|
+
question: true
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
<objective>
|
|
@@ -31,12 +31,13 @@ ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5
|
|
|
31
31
|
## 0. Initialize Context
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
INIT=$(node
|
|
34
|
+
INIT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" state load)
|
|
35
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
35
36
|
```
|
|
36
37
|
|
|
37
38
|
Extract `commit_docs` from init JSON. Resolve debugger model:
|
|
38
39
|
```bash
|
|
39
|
-
|
|
40
|
+
debugger_model=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" resolve-model gsd-debugger --raw)
|
|
40
41
|
```
|
|
41
42
|
|
|
42
43
|
## 1. Check Active Sessions
|
|
@@ -110,6 +111,9 @@ task(
|
|
|
110
111
|
**If `## CHECKPOINT REACHED`:**
|
|
111
112
|
- Present checkpoint details to user
|
|
112
113
|
- Get user response
|
|
114
|
+
- If checkpoint type is `human-verify`:
|
|
115
|
+
- If user confirms fixed: continue so agent can finalize/resolve/archive
|
|
116
|
+
- If user reports issues: continue so agent returns to investigation/fixing
|
|
113
117
|
- Spawn continuation agent (see step 5)
|
|
114
118
|
|
|
115
119
|
**If `## INVESTIGATION INCONCLUSIVE`:**
|
|
@@ -2,31 +2,35 @@
|
|
|
2
2
|
name: gsd-discuss-phase
|
|
3
3
|
description: Gather phase context through adaptive questioning before planning
|
|
4
4
|
argument-hint: "<phase> [--auto]"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
write: true
|
|
8
|
+
bash: true
|
|
9
|
+
glob: true
|
|
10
|
+
grep: true
|
|
11
|
+
question: true
|
|
12
|
+
task: true
|
|
13
|
+
mcp__context7__resolve-library-id: true
|
|
14
|
+
mcp__context7__query-docs: true
|
|
13
15
|
---
|
|
14
16
|
|
|
15
17
|
<objective>
|
|
16
18
|
Extract implementation decisions that downstream agents need — researcher and planner will use CONTEXT.md to know what to investigate and what choices are locked.
|
|
17
19
|
|
|
18
20
|
**How it works:**
|
|
19
|
-
1.
|
|
20
|
-
2.
|
|
21
|
-
3.
|
|
22
|
-
4.
|
|
21
|
+
1. Load prior context (PROJECT.md, REQUIREMENTS.md, STATE.md, prior CONTEXT.md files)
|
|
22
|
+
2. Scout codebase for reusable assets and patterns
|
|
23
|
+
3. Analyze phase — skip gray areas already decided in prior phases
|
|
24
|
+
4. Present remaining gray areas — user selects which to discuss
|
|
25
|
+
5. Deep-dive each selected area until satisfied
|
|
26
|
+
6. Create CONTEXT.md with decisions that guide research and planning
|
|
23
27
|
|
|
24
28
|
**Output:** `{phase_num}-CONTEXT.md` — decisions clear enough that downstream agents can act without asking the user again
|
|
25
29
|
</objective>
|
|
26
30
|
|
|
27
31
|
<execution_context>
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
@$HOME/.config/opencode/get-shit-done/workflows/discuss-phase.md
|
|
33
|
+
@$HOME/.config/opencode/get-shit-done/templates/context.md
|
|
30
34
|
</execution_context>
|
|
31
35
|
|
|
32
36
|
<context>
|
|
@@ -38,11 +42,13 @@ Context files are resolved in-workflow using `init phase-op` and roadmap/state t
|
|
|
38
42
|
<process>
|
|
39
43
|
1. Validate phase number (error if missing or not in roadmap)
|
|
40
44
|
2. Check if CONTEXT.md exists (offer update/view/skip if yes)
|
|
41
|
-
3. **
|
|
42
|
-
4. **
|
|
43
|
-
5. **
|
|
44
|
-
6. **
|
|
45
|
-
7.
|
|
45
|
+
3. **Load prior context** — read PROJECT.md, REQUIREMENTS.md, STATE.md, and all prior CONTEXT.md files
|
|
46
|
+
4. **Scout codebase** — Find reusable assets, patterns, and integration points
|
|
47
|
+
5. **Analyze phase** — Check prior decisions, skip already-decided areas, generate remaining gray areas
|
|
48
|
+
6. **Present gray areas** — Multi-select: which to discuss? Annotate with prior decisions + code context
|
|
49
|
+
7. **Deep-dive each area** — 4 questions per area, code-informed options, Context7 for library choices
|
|
50
|
+
8. **write CONTEXT.md** — Sections match areas discussed + code_context section
|
|
51
|
+
9. Offer next steps (research or plan)
|
|
46
52
|
|
|
47
53
|
**CRITICAL: Scope guardrail**
|
|
48
54
|
- Phase boundary from ROADMAP.md is FIXED
|
|
@@ -74,6 +80,7 @@ Generate 3-4 **phase-specific** gray areas, not generic categories.
|
|
|
74
80
|
</process>
|
|
75
81
|
|
|
76
82
|
<success_criteria>
|
|
83
|
+
- Prior context loaded and applied (no re-asking decided questions)
|
|
77
84
|
- Gray areas identified through intelligent analysis
|
|
78
85
|
- User chose which areas to discuss
|
|
79
86
|
- Each selected area explored until satisfied
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
name: gsd-execute-phase
|
|
3
3
|
description: Execute all plans in a phase with wave-based parallelization
|
|
4
4
|
argument-hint: "<phase-number> [--gaps-only]"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
write: true
|
|
8
|
+
edit: true
|
|
9
|
+
glob: true
|
|
10
|
+
grep: true
|
|
11
|
+
bash: true
|
|
12
|
+
task: true
|
|
13
|
+
todowrite: true
|
|
14
|
+
question: true
|
|
15
15
|
---
|
|
16
16
|
<objective>
|
|
17
17
|
Execute all plans in a phase using wave-based parallel execution.
|
|
@@ -22,8 +22,8 @@ Context budget: ~15% orchestrator, 100% fresh per subagent.
|
|
|
22
22
|
</objective>
|
|
23
23
|
|
|
24
24
|
<execution_context>
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
@$HOME/.config/opencode/get-shit-done/workflows/execute-phase.md
|
|
26
|
+
@$HOME/.config/opencode/get-shit-done/references/ui-brand.md
|
|
27
27
|
</execution_context>
|
|
28
28
|
|
|
29
29
|
<context>
|
|
@@ -36,6 +36,6 @@ Context files are resolved inside the workflow via `gsd-tools init execute-phase
|
|
|
36
36
|
</context>
|
|
37
37
|
|
|
38
38
|
<process>
|
|
39
|
-
Execute the execute-phase workflow from
|
|
39
|
+
Execute the execute-phase workflow from @$HOME/.config/opencode/get-shit-done/workflows/execute-phase.md end-to-end.
|
|
40
40
|
Preserve all workflow gates (wave execution, checkpoint handling, verification, state updates, routing).
|
|
41
41
|
</process>
|