gsd-opencode 1.33.3 → 1.35.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-advisor-researcher.md +23 -0
- package/agents/gsd-ai-researcher.md +142 -0
- package/agents/gsd-code-fixer.md +523 -0
- package/agents/gsd-code-reviewer.md +361 -0
- package/agents/gsd-debugger.md +14 -1
- package/agents/gsd-domain-researcher.md +162 -0
- package/agents/gsd-eval-auditor.md +170 -0
- package/agents/gsd-eval-planner.md +161 -0
- package/agents/gsd-executor.md +70 -7
- package/agents/gsd-framework-selector.md +167 -0
- package/agents/gsd-intel-updater.md +320 -0
- package/agents/gsd-phase-researcher.md +26 -0
- package/agents/gsd-plan-checker.md +12 -0
- package/agents/gsd-planner.md +16 -6
- package/agents/gsd-project-researcher.md +23 -0
- package/agents/gsd-ui-researcher.md +23 -0
- package/agents/gsd-verifier.md +55 -1
- package/commands/gsd/gsd-ai-integration-phase.md +36 -0
- package/commands/gsd/gsd-audit-fix.md +33 -0
- package/commands/gsd/gsd-autonomous.md +1 -0
- package/commands/gsd/gsd-code-review-fix.md +52 -0
- package/commands/gsd/gsd-code-review.md +55 -0
- package/commands/gsd/gsd-eval-review.md +32 -0
- package/commands/gsd/gsd-explore.md +27 -0
- package/commands/gsd/gsd-from-gsd2.md +45 -0
- package/commands/gsd/gsd-import.md +36 -0
- package/commands/gsd/gsd-intel.md +183 -0
- package/commands/gsd/gsd-next.md +2 -0
- package/commands/gsd/gsd-reapply-patches.md +58 -3
- package/commands/gsd/gsd-review.md +4 -2
- package/commands/gsd/gsd-scan.md +26 -0
- package/commands/gsd/gsd-undo.md +34 -0
- package/commands/gsd/gsd-workstreams.md +6 -6
- package/get-shit-done/bin/gsd-tools.cjs +143 -5
- package/get-shit-done/bin/lib/commands.cjs +10 -2
- package/get-shit-done/bin/lib/config.cjs +71 -37
- package/get-shit-done/bin/lib/core.cjs +70 -8
- package/get-shit-done/bin/lib/gsd2-import.cjs +511 -0
- package/get-shit-done/bin/lib/init.cjs +20 -6
- package/get-shit-done/bin/lib/intel.cjs +660 -0
- package/get-shit-done/bin/lib/learnings.cjs +378 -0
- package/get-shit-done/bin/lib/milestone.cjs +25 -15
- package/get-shit-done/bin/lib/model-profiles.cjs +17 -17
- package/get-shit-done/bin/lib/phase.cjs +148 -112
- package/get-shit-done/bin/lib/roadmap.cjs +12 -5
- package/get-shit-done/bin/lib/security.cjs +119 -0
- package/get-shit-done/bin/lib/state.cjs +283 -221
- package/get-shit-done/bin/lib/template.cjs +8 -4
- package/get-shit-done/bin/lib/verify.cjs +42 -5
- package/get-shit-done/references/ai-evals.md +156 -0
- package/get-shit-done/references/ai-frameworks.md +186 -0
- package/get-shit-done/references/common-bug-patterns.md +114 -0
- package/get-shit-done/references/few-shot-examples/plan-checker.md +73 -0
- package/get-shit-done/references/few-shot-examples/verifier.md +109 -0
- package/get-shit-done/references/gates.md +70 -0
- package/get-shit-done/references/ios-scaffold.md +123 -0
- package/get-shit-done/references/model-profile-resolution.md +6 -7
- package/get-shit-done/references/model-profiles.md +20 -14
- package/get-shit-done/references/planning-config.md +237 -0
- package/get-shit-done/references/thinking-models-debug.md +44 -0
- package/get-shit-done/references/thinking-models-execution.md +50 -0
- package/get-shit-done/references/thinking-models-planning.md +62 -0
- package/get-shit-done/references/thinking-models-research.md +50 -0
- package/get-shit-done/references/thinking-models-verification.md +55 -0
- package/get-shit-done/references/thinking-partner.md +96 -0
- package/get-shit-done/references/universal-anti-patterns.md +6 -1
- package/get-shit-done/references/verification-overrides.md +227 -0
- package/get-shit-done/templates/AI-SPEC.md +246 -0
- package/get-shit-done/workflows/add-tests.md +3 -0
- package/get-shit-done/workflows/add-todo.md +2 -0
- package/get-shit-done/workflows/ai-integration-phase.md +284 -0
- package/get-shit-done/workflows/audit-fix.md +154 -0
- package/get-shit-done/workflows/autonomous.md +33 -2
- package/get-shit-done/workflows/check-todos.md +2 -0
- package/get-shit-done/workflows/cleanup.md +2 -0
- package/get-shit-done/workflows/code-review-fix.md +497 -0
- package/get-shit-done/workflows/code-review.md +515 -0
- package/get-shit-done/workflows/complete-milestone.md +40 -15
- package/get-shit-done/workflows/diagnose-issues.md +1 -1
- package/get-shit-done/workflows/discovery-phase.md +3 -1
- package/get-shit-done/workflows/discuss-phase-assumptions.md +1 -1
- package/get-shit-done/workflows/discuss-phase.md +21 -7
- package/get-shit-done/workflows/do.md +2 -0
- package/get-shit-done/workflows/docs-update.md +2 -0
- package/get-shit-done/workflows/eval-review.md +155 -0
- package/get-shit-done/workflows/execute-phase.md +307 -57
- package/get-shit-done/workflows/execute-plan.md +64 -93
- package/get-shit-done/workflows/explore.md +136 -0
- package/get-shit-done/workflows/help.md +1 -1
- package/get-shit-done/workflows/import.md +273 -0
- package/get-shit-done/workflows/inbox.md +387 -0
- package/get-shit-done/workflows/manager.md +4 -10
- package/get-shit-done/workflows/new-milestone.md +3 -1
- package/get-shit-done/workflows/new-project.md +2 -0
- package/get-shit-done/workflows/new-workspace.md +2 -0
- package/get-shit-done/workflows/next.md +56 -0
- package/get-shit-done/workflows/note.md +2 -0
- package/get-shit-done/workflows/plan-phase.md +97 -17
- package/get-shit-done/workflows/plant-seed.md +3 -0
- package/get-shit-done/workflows/pr-branch.md +41 -13
- package/get-shit-done/workflows/profile-user.md +4 -2
- package/get-shit-done/workflows/quick.md +99 -4
- package/get-shit-done/workflows/remove-workspace.md +2 -0
- package/get-shit-done/workflows/review.md +53 -6
- package/get-shit-done/workflows/scan.md +98 -0
- package/get-shit-done/workflows/secure-phase.md +2 -0
- package/get-shit-done/workflows/settings.md +18 -3
- package/get-shit-done/workflows/ship.md +3 -0
- package/get-shit-done/workflows/ui-phase.md +10 -2
- package/get-shit-done/workflows/ui-review.md +2 -0
- package/get-shit-done/workflows/undo.md +314 -0
- package/get-shit-done/workflows/update.md +2 -0
- package/get-shit-done/workflows/validate-phase.md +2 -0
- package/get-shit-done/workflows/verify-phase.md +83 -0
- package/get-shit-done/workflows/verify-work.md +12 -1
- package/package.json +1 -1
- package/skills/gsd-code-review/SKILL.md +48 -0
- package/skills/gsd-code-review-fix/SKILL.md +44 -0
|
@@ -551,17 +551,17 @@ After user selects gray areas in present_gray_areas, spawn parallel research age
|
|
|
551
551
|
|
|
552
552
|
1. Display brief status: "Researching {N} areas..."
|
|
553
553
|
|
|
554
|
-
2. For EACH user-selected gray area, spawn a
|
|
554
|
+
2. For EACH user-selected gray area, spawn a task() in parallel:
|
|
555
555
|
|
|
556
556
|
@gsd-advisor-researcher "First, read @$HOME/.config/opencode/agents/gsd-advisor-researcher.md for your role and instructions.
|
|
557
557
|
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
558
|
+
<gray_area>{area_name}: {area_description from gray area identification}</gray_area>
|
|
559
|
+
<phase_context>{phase_goal and description from ROADMAP.md}</phase_context>
|
|
560
|
+
<project_context>{project name and brief description from PROJECT.md}</project_context>
|
|
561
|
+
<calibration_tier>{resolved calibration tier: full_maturity | standard | minimal_decisive}</calibration_tier>
|
|
562
562
|
|
|
563
|
-
|
|
564
|
-
|
|
563
|
+
Research this gray area and return a structured comparison table with rationale.
|
|
564
|
+
${AGENT_SKILLS_ADVISOR}"
|
|
565
565
|
|
|
566
566
|
All subagents spawn simultaneously — do NOT wait for one before starting the next.
|
|
567
567
|
|
|
@@ -602,6 +602,20 @@ Table-first discussion flow — present research-backed comparison tables, then
|
|
|
602
602
|
- If user picks from table options → record as locked decision for that area
|
|
603
603
|
- If user picks "Other" → receive their input, reflect it back for confirmation, record
|
|
604
604
|
|
|
605
|
+
**Thinking partner (conditional):**
|
|
606
|
+
If `features.thinking_partner` is enabled in config, check the user's answer for tradeoff signals
|
|
607
|
+
(see `references/thinking-partner.md` for signal list). If tradeoff detected:
|
|
608
|
+
|
|
609
|
+
```
|
|
610
|
+
I notice competing priorities here — {option_A} optimizes for {goal_A} while {option_B} optimizes for {goal_B}.
|
|
611
|
+
|
|
612
|
+
Want me to think through the tradeoffs before we lock this in?
|
|
613
|
+
[Yes, analyze] / [No, decision made]
|
|
614
|
+
```
|
|
615
|
+
|
|
616
|
+
If yes: provide 3-5 bullet analysis (what each optimizes/sacrifices, alignment with PROJECT.md goals, recommendation). Then return to normal flow.
|
|
617
|
+
If no or thinking_partner disabled: continue to next area.
|
|
618
|
+
|
|
605
619
|
4. **After recording pick, OpenCode decides whether follow-up questions are needed:**
|
|
606
620
|
- If the pick has ambiguity that would affect downstream planning → ask 1-2 targeted follow-up questions using question
|
|
607
621
|
- If the pick is clear and self-contained → move to next area
|
|
@@ -11,6 +11,8 @@ read all files referenced by the invoking prompt's execution_context before star
|
|
|
11
11
|
<step name="validate">
|
|
12
12
|
**Check for input.**
|
|
13
13
|
|
|
14
|
+
|
|
15
|
+
**Text mode (`workflow.text_mode: true` in config or `--text` flag):** Set `TEXT_MODE=true` if `--text` is present in `$ARGUMENTS` OR `text_mode` from init JSON is `true`. When TEXT_MODE is active, replace every `question` call with a plain-text numbered list and ask the user to type their choice number. This is required for non-OpenCode runtimes (OpenAI Codex, Gemini CLI, etc.) where `question` is not available.
|
|
14
16
|
If `$ARGUMENTS` is empty, ask via question:
|
|
15
17
|
|
|
16
18
|
```
|
|
@@ -84,6 +84,8 @@ Assemble the complete doc queue from always-on docs plus conditional docs from c
|
|
|
84
84
|
If CONTRIBUTING.md is in the conditional queue AND does NOT appear in the `existing_docs` array from init JSON:
|
|
85
85
|
|
|
86
86
|
1. If `--force` is present in `$ARGUMENTS`: skip this check, include CONTRIBUTING.md in the queue.
|
|
87
|
+
|
|
88
|
+
**Text mode (`workflow.text_mode: true` in config or `--text` flag):** Set `TEXT_MODE=true` if `--text` is present in `$ARGUMENTS` OR `text_mode` from init JSON is `true`. When TEXT_MODE is active, replace every `question` call with a plain-text numbered list and ask the user to type their choice number. This is required for non-OpenCode runtimes (OpenAI Codex, Gemini CLI, etc.) where `question` is not available.
|
|
87
89
|
2. Otherwise, use question to confirm:
|
|
88
90
|
|
|
89
91
|
```
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
<objective>
|
|
2
|
+
Retroactive audit of an implemented AI phase's evaluation coverage. Standalone command that works on any GSD-managed AI phase. Produces a scored EVAL-REVIEW.md with gap analysis and remediation plan.
|
|
3
|
+
|
|
4
|
+
Use after /gsd-execute-phase to verify that the evaluation strategy from AI-SPEC.md was actually implemented. Mirrors the pattern of /gsd-ui-review and /gsd-validate-phase.
|
|
5
|
+
</objective>
|
|
6
|
+
|
|
7
|
+
<required_reading>
|
|
8
|
+
@$HOME/.config/opencode/get-shit-done/references/ai-evals.md
|
|
9
|
+
</required_reading>
|
|
10
|
+
|
|
11
|
+
<process>
|
|
12
|
+
|
|
13
|
+
## 0. Initialize
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
INIT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" init phase-op "${PHASE_ARG}")
|
|
17
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Parse: `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `commit_docs`.
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
AUDITOR_MODEL=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" resolve-model gsd-eval-auditor --raw)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Display banner:
|
|
27
|
+
```
|
|
28
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
29
|
+
GSD ► EVAL AUDIT — PHASE {N}: {name}
|
|
30
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 1. Detect Input State
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
SUMMARY_FILES=$(ls "${PHASE_DIR}"/*-SUMMARY.md 2>/dev/null)
|
|
37
|
+
AI_SPEC_FILE=$(ls "${PHASE_DIR}"/*-AI-SPEC.md 2>/dev/null | head -1)
|
|
38
|
+
EVAL_REVIEW_FILE=$(ls "${PHASE_DIR}"/*-EVAL-REVIEW.md 2>/dev/null | head -1)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**State A** — AI-SPEC.md + SUMMARY.md exist: Full audit against spec
|
|
42
|
+
**State B** — SUMMARY.md exists, no AI-SPEC.md: Audit against general best practices
|
|
43
|
+
**State C** — No SUMMARY.md: Exit — "Phase {N} not executed. Run /gsd-execute-phase {N} first."
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
**Text mode (`workflow.text_mode: true` in config or `--text` flag):** Set `TEXT_MODE=true` if `--text` is present in `$ARGUMENTS` OR `text_mode` from init JSON is `true`. When TEXT_MODE is active, replace every `question` call with a plain-text numbered list and ask the user to type their choice number. This is required for non-OpenCode runtimes (OpenAI Codex, Gemini CLI, etc.) where `question` is not available.
|
|
47
|
+
**If `EVAL_REVIEW_FILE` non-empty:** Use question:
|
|
48
|
+
- header: "Existing Eval Review"
|
|
49
|
+
- question: "EVAL-REVIEW.md already exists for Phase {N}."
|
|
50
|
+
- options:
|
|
51
|
+
- "Re-audit — run fresh audit"
|
|
52
|
+
- "View — display current review and exit"
|
|
53
|
+
|
|
54
|
+
If "View": display file, exit.
|
|
55
|
+
If "Re-audit": continue.
|
|
56
|
+
|
|
57
|
+
**If State B (no AI-SPEC.md):** Warn:
|
|
58
|
+
```
|
|
59
|
+
No AI-SPEC.md found for Phase {N}.
|
|
60
|
+
Audit will evaluate against general AI eval best practices rather than a phase-specific plan.
|
|
61
|
+
Consider running /gsd-ai-integration-phase {N} before implementation next time.
|
|
62
|
+
```
|
|
63
|
+
Continue (non-blocking).
|
|
64
|
+
|
|
65
|
+
## 2. Gather Context Paths
|
|
66
|
+
|
|
67
|
+
Build file list for auditor:
|
|
68
|
+
- AI-SPEC.md (if exists — the planned eval strategy)
|
|
69
|
+
- All SUMMARY.md files in phase dir
|
|
70
|
+
- All PLAN.md files in phase dir
|
|
71
|
+
|
|
72
|
+
## 3. Spawn gsd-eval-auditor
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
◆ Spawning eval auditor...
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Build prompt:
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
read $HOME/.config/opencode/agents/gsd-eval-auditor.md for instructions.
|
|
82
|
+
|
|
83
|
+
<objective>
|
|
84
|
+
Conduct evaluation coverage audit of Phase {phase_number}: {phase_name}
|
|
85
|
+
{If AI-SPEC exists: "Audit against AI-SPEC.md evaluation plan."}
|
|
86
|
+
{If no AI-SPEC: "Audit against general AI eval best practices."}
|
|
87
|
+
</objective>
|
|
88
|
+
|
|
89
|
+
<files_to_read>
|
|
90
|
+
- {summary_paths}
|
|
91
|
+
- {plan_paths}
|
|
92
|
+
- {ai_spec_path if exists}
|
|
93
|
+
</files_to_read>
|
|
94
|
+
|
|
95
|
+
<input>
|
|
96
|
+
ai_spec_path: {ai_spec_path or "none"}
|
|
97
|
+
phase_dir: {phase_dir}
|
|
98
|
+
phase_number: {phase_number}
|
|
99
|
+
phase_name: {phase_name}
|
|
100
|
+
padded_phase: {padded_phase}
|
|
101
|
+
state: {A or B}
|
|
102
|
+
</input>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Spawn as task with model `AUDITOR_MODEL`.
|
|
106
|
+
|
|
107
|
+
## 4. Parse Auditor Result
|
|
108
|
+
|
|
109
|
+
read the written EVAL-REVIEW.md. Extract:
|
|
110
|
+
- `overall_score`
|
|
111
|
+
- `verdict` (PRODUCTION READY | NEEDS WORK | SIGNIFICANT GAPS | NOT IMPLEMENTED)
|
|
112
|
+
- `critical_gap_count`
|
|
113
|
+
|
|
114
|
+
## 5. Display Summary
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
118
|
+
GSD ► EVAL AUDIT COMPLETE — PHASE {N}: {name}
|
|
119
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
120
|
+
|
|
121
|
+
◆ Score: {overall_score}/100
|
|
122
|
+
◆ Verdict: {verdict}
|
|
123
|
+
◆ Critical Gaps: {critical_gap_count}
|
|
124
|
+
◆ Output: {eval_review_path}
|
|
125
|
+
|
|
126
|
+
{If PRODUCTION READY:}
|
|
127
|
+
Next step: /gsd-plan-phase (next phase) or deploy
|
|
128
|
+
|
|
129
|
+
{If NEEDS WORK:}
|
|
130
|
+
Address critical gaps in EVAL-REVIEW.md, then re-run /gsd-eval-review {N}
|
|
131
|
+
|
|
132
|
+
{If SIGNIFICANT GAPS or NOT IMPLEMENTED:}
|
|
133
|
+
Review AI-SPEC.md evaluation plan. Critical eval dimensions are not implemented.
|
|
134
|
+
Do not deploy until gaps are addressed.
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## 6. Commit
|
|
138
|
+
|
|
139
|
+
**If `commit_docs` is true:**
|
|
140
|
+
```bash
|
|
141
|
+
git add "${EVAL_REVIEW_FILE}"
|
|
142
|
+
git commit -m "docs({phase_slug}): add EVAL-REVIEW.md — score {overall_score}/100 ({verdict})"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
</process>
|
|
146
|
+
|
|
147
|
+
<success_criteria>
|
|
148
|
+
- [ ] Phase execution state detected correctly
|
|
149
|
+
- [ ] AI-SPEC.md presence handled (with or without)
|
|
150
|
+
- [ ] gsd-eval-auditor spawned with correct context
|
|
151
|
+
- [ ] EVAL-REVIEW.md written (by auditor)
|
|
152
|
+
- [ ] Score and verdict displayed to user
|
|
153
|
+
- [ ] Appropriate next steps surfaced based on verdict
|
|
154
|
+
- [ ] Committed if commit_docs enabled
|
|
155
|
+
</success_criteria>
|