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
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-code-review-fix
|
|
3
|
+
description: Auto-fix issues found by code review in REVIEW.md. Spawns fixer agent, commits each fix atomically, produces REVIEW-FIX.md summary.
|
|
4
|
+
argument-hint: "<phase-number> [--all] [--auto]"
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
bash: true
|
|
8
|
+
glob: true
|
|
9
|
+
grep: true
|
|
10
|
+
write: true
|
|
11
|
+
edit: true
|
|
12
|
+
task: true
|
|
13
|
+
---
|
|
14
|
+
<objective>
|
|
15
|
+
Auto-fix issues found by code review. Reads REVIEW.md from the specified phase, spawns gsd-code-fixer agent to apply fixes, and produces REVIEW-FIX.md summary.
|
|
16
|
+
|
|
17
|
+
Arguments:
|
|
18
|
+
- Phase number (required) — which phase's REVIEW.md to fix (e.g., "2" or "02")
|
|
19
|
+
- `--all` (optional) — include Info findings in fix scope (default: Critical + Warning only)
|
|
20
|
+
- `--auto` (optional) — enable fix + re-review iteration loop, capped at 3 iterations
|
|
21
|
+
|
|
22
|
+
Output: {padded_phase}-REVIEW-FIX.md in phase directory + inline summary of fixes applied
|
|
23
|
+
</objective>
|
|
24
|
+
|
|
25
|
+
<execution_context>
|
|
26
|
+
@$HOME/.config/opencode/get-shit-done/workflows/code-review-fix.md
|
|
27
|
+
</execution_context>
|
|
28
|
+
|
|
29
|
+
<context>
|
|
30
|
+
Phase: $ARGUMENTS (first positional argument is phase number)
|
|
31
|
+
|
|
32
|
+
Optional flags parsed from $ARGUMENTS:
|
|
33
|
+
- `--all` — Include Info findings in fix scope. Default behavior fixes Critical + Warning only.
|
|
34
|
+
- `--auto` — Enable fix + re-review iteration loop. After applying fixes, re-run code-review at same depth. If new issues found, iterate. Cap at 3 iterations total. Without this flag, single fix pass only.
|
|
35
|
+
|
|
36
|
+
Context files (AGENTS.md, REVIEW.md, phase state) are resolved inside the workflow via `gsd-tools init phase-op` and delegated to agent via config blocks.
|
|
37
|
+
</context>
|
|
38
|
+
|
|
39
|
+
<process>
|
|
40
|
+
This command is a thin dispatch layer. It parses arguments and delegates to the workflow.
|
|
41
|
+
|
|
42
|
+
Execute the code-review-fix workflow from @$HOME/.config/opencode/get-shit-done/workflows/code-review-fix.md end-to-end.
|
|
43
|
+
|
|
44
|
+
The workflow (not this command) enforces these gates:
|
|
45
|
+
- Phase validation (before config gate)
|
|
46
|
+
- Config gate check (workflow.code_review)
|
|
47
|
+
- REVIEW.md existence check (error if missing)
|
|
48
|
+
- REVIEW.md status check (skip if clean/skipped)
|
|
49
|
+
- Agent spawning (gsd-code-fixer)
|
|
50
|
+
- Iteration loop (if --auto, capped at 3 iterations)
|
|
51
|
+
- Result presentation (inline summary + next steps)
|
|
52
|
+
</process>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-code-review
|
|
3
|
+
description: Review source files changed during a phase for bugs, security issues, and code quality problems
|
|
4
|
+
argument-hint: "<phase-number> [--depth=quick|standard|deep] [--files file1,file2,...]"
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
bash: true
|
|
8
|
+
glob: true
|
|
9
|
+
grep: true
|
|
10
|
+
write: true
|
|
11
|
+
task: true
|
|
12
|
+
---
|
|
13
|
+
<objective>
|
|
14
|
+
Review source files changed during a phase for bugs, security vulnerabilities, and code quality problems.
|
|
15
|
+
|
|
16
|
+
Spawns the gsd-code-reviewer agent to analyze code at the specified depth level. Produces REVIEW.md artifact in the phase directory with severity-classified findings.
|
|
17
|
+
|
|
18
|
+
Arguments:
|
|
19
|
+
- Phase number (required) — which phase's changes to review (e.g., "2" or "02")
|
|
20
|
+
- `--depth=quick|standard|deep` (optional) — review depth level, overrides workflow.code_review_depth config
|
|
21
|
+
- quick: Pattern-matching only (~2 min)
|
|
22
|
+
- standard: Per-file analysis with language-specific checks (~5-15 min, default)
|
|
23
|
+
- deep: Cross-file analysis including import graphs and call chains (~15-30 min)
|
|
24
|
+
- `--files file1,file2,...` (optional) — explicit comma-separated file list, skips SUMMARY/git scoping (highest precedence for scoping)
|
|
25
|
+
|
|
26
|
+
Output: {padded_phase}-REVIEW.md in phase directory + inline summary of findings
|
|
27
|
+
</objective>
|
|
28
|
+
|
|
29
|
+
<execution_context>
|
|
30
|
+
@$HOME/.config/opencode/get-shit-done/workflows/code-review.md
|
|
31
|
+
</execution_context>
|
|
32
|
+
|
|
33
|
+
<context>
|
|
34
|
+
Phase: $ARGUMENTS (first positional argument is phase number)
|
|
35
|
+
|
|
36
|
+
Optional flags parsed from $ARGUMENTS:
|
|
37
|
+
- `--depth=VALUE` — Depth override (quick|standard|deep). If provided, overrides workflow.code_review_depth config.
|
|
38
|
+
- `--files=file1,file2,...` — Explicit file list override. Has highest precedence for file scoping per D-08. When provided, workflow skips SUMMARY.md extraction and git diff fallback entirely.
|
|
39
|
+
|
|
40
|
+
Context files (AGENTS.md, SUMMARY.md, phase state) are resolved inside the workflow via `gsd-tools init phase-op` and delegated to agent via `<files_to_read>` blocks.
|
|
41
|
+
</context>
|
|
42
|
+
|
|
43
|
+
<process>
|
|
44
|
+
This command is a thin dispatch layer. It parses arguments and delegates to the workflow.
|
|
45
|
+
|
|
46
|
+
Execute the code-review workflow from @$HOME/.config/opencode/get-shit-done/workflows/code-review.md end-to-end.
|
|
47
|
+
|
|
48
|
+
The workflow (not this command) enforces these gates:
|
|
49
|
+
- Phase validation (before config gate)
|
|
50
|
+
- Config gate check (workflow.code_review)
|
|
51
|
+
- File scoping (--files override > SUMMARY.md > git diff fallback)
|
|
52
|
+
- Empty scope check (skip if no files)
|
|
53
|
+
- Agent spawning (gsd-code-reviewer)
|
|
54
|
+
- Result presentation (inline summary + next steps)
|
|
55
|
+
</process>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-eval-review
|
|
3
|
+
description: Retroactively audit an executed AI phase's evaluation coverage — scores each eval dimension as COVERED/PARTIAL/MISSING and produces an actionable EVAL-REVIEW.md with remediation plan
|
|
4
|
+
argument-hint: "[phase number]"
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
write: true
|
|
8
|
+
bash: true
|
|
9
|
+
glob: true
|
|
10
|
+
grep: true
|
|
11
|
+
task: true
|
|
12
|
+
question: true
|
|
13
|
+
---
|
|
14
|
+
<objective>
|
|
15
|
+
Conduct a retroactive evaluation coverage audit of a completed AI phase.
|
|
16
|
+
Checks whether the evaluation strategy from AI-SPEC.md was implemented.
|
|
17
|
+
Produces EVAL-REVIEW.md with score, verdict, gaps, and remediation plan.
|
|
18
|
+
</objective>
|
|
19
|
+
|
|
20
|
+
<execution_context>
|
|
21
|
+
@$HOME/.config/opencode/get-shit-done/workflows/eval-review.md
|
|
22
|
+
@$HOME/.config/opencode/get-shit-done/references/ai-evals.md
|
|
23
|
+
</execution_context>
|
|
24
|
+
|
|
25
|
+
<context>
|
|
26
|
+
Phase: $ARGUMENTS — optional, defaults to last completed phase.
|
|
27
|
+
</context>
|
|
28
|
+
|
|
29
|
+
<process>
|
|
30
|
+
Execute @$HOME/.config/opencode/get-shit-done/workflows/eval-review.md end-to-end.
|
|
31
|
+
Preserve all workflow gates.
|
|
32
|
+
</process>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-explore
|
|
3
|
+
description: Socratic ideation and idea routing — think through ideas before committing to plans
|
|
4
|
+
permissions:
|
|
5
|
+
read: true
|
|
6
|
+
write: true
|
|
7
|
+
bash: true
|
|
8
|
+
grep: true
|
|
9
|
+
glob: true
|
|
10
|
+
task: true
|
|
11
|
+
question: true
|
|
12
|
+
---
|
|
13
|
+
<objective>
|
|
14
|
+
Open-ended Socratic ideation session. Guides the developer through exploring an idea via
|
|
15
|
+
probing questions, optionally spawns research, then routes outputs to the appropriate GSD
|
|
16
|
+
artifacts (notes, todos, seeds, research questions, requirements, or new phases).
|
|
17
|
+
|
|
18
|
+
Accepts an optional topic argument: `/gsd-explore authentication strategy`
|
|
19
|
+
</objective>
|
|
20
|
+
|
|
21
|
+
<execution_context>
|
|
22
|
+
@$HOME/.config/opencode/get-shit-done/workflows/explore.md
|
|
23
|
+
</execution_context>
|
|
24
|
+
|
|
25
|
+
<process>
|
|
26
|
+
Execute the explore workflow from @$HOME/.config/opencode/get-shit-done/workflows/explore.md end-to-end.
|
|
27
|
+
</process>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-from-gsd2
|
|
3
|
+
description: Import a GSD-2 (.gsd/) project back to GSD v1 (.planning/) format
|
|
4
|
+
argument-hint: "[--path <dir>] [--force]"
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
write: true
|
|
8
|
+
bash: true
|
|
9
|
+
type: prompt
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Reverse-migrate a GSD-2 project (`.gsd/` directory) back to GSD v1 (`.planning/`) format.
|
|
14
|
+
|
|
15
|
+
Maps the GSD-2 hierarchy (Milestone → Slice → task) to the GSD v1 hierarchy (Milestone sections in ROADMAP.md → Phase → Plan), preserving completion state, research files, and summaries.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<process>
|
|
19
|
+
|
|
20
|
+
1. **Locate the .gsd/ directory** — check the current working directory (or `--path` argument):
|
|
21
|
+
```bash
|
|
22
|
+
node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" from-gsd2 --dry-run
|
|
23
|
+
```
|
|
24
|
+
If no `.gsd/` is found, report the error and stop.
|
|
25
|
+
|
|
26
|
+
2. **Show the dry-run preview** — present the full file list and migration statistics to the user. Ask for confirmation before writing anything.
|
|
27
|
+
|
|
28
|
+
3. **Run the migration** after confirmation:
|
|
29
|
+
```bash
|
|
30
|
+
node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" from-gsd2
|
|
31
|
+
```
|
|
32
|
+
Use `--force` if `.planning/` already exists and the user has confirmed overwrite.
|
|
33
|
+
|
|
34
|
+
4. **Report the result** — show the `filesWritten` count, `planningDir` path, and the preview summary.
|
|
35
|
+
|
|
36
|
+
</process>
|
|
37
|
+
|
|
38
|
+
<notes>
|
|
39
|
+
- The migration is non-destructive: `.gsd/` is never modified or removed.
|
|
40
|
+
- Pass `--path <dir>` to migrate a project at a different path than the current directory.
|
|
41
|
+
- Slices are numbered sequentially across all milestones (M001/S01 → phase 01, M001/S02 → phase 02, M002/S01 → phase 03, etc.).
|
|
42
|
+
- Tasks within each slice become plans (T01 → plan 01, T02 → plan 02, etc.).
|
|
43
|
+
- Completed slices and tasks carry their done state into ROADMAP.md checkboxes and SUMMARY.md files.
|
|
44
|
+
- GSD-2 cost/token ledger, database state, and VS Code extension state cannot be migrated.
|
|
45
|
+
</notes>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-import
|
|
3
|
+
description: Ingest external plans with conflict detection against project decisions before writing anything.
|
|
4
|
+
argument-hint: "--from <filepath>"
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
write: true
|
|
8
|
+
edit: true
|
|
9
|
+
bash: true
|
|
10
|
+
glob: true
|
|
11
|
+
grep: true
|
|
12
|
+
question: true
|
|
13
|
+
task: true
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
<objective>
|
|
17
|
+
Import external plan files into the GSD planning system with conflict detection against PROJECT.md decisions.
|
|
18
|
+
|
|
19
|
+
- **--from**: Import an external plan file, detect conflicts, write as GSD PLAN.md, validate via gsd-plan-checker.
|
|
20
|
+
|
|
21
|
+
Future: `--prd` mode for PRD extraction is planned for a follow-up PR.
|
|
22
|
+
</objective>
|
|
23
|
+
|
|
24
|
+
<execution_context>
|
|
25
|
+
@$HOME/.config/opencode/get-shit-done/workflows/import.md
|
|
26
|
+
@$HOME/.config/opencode/get-shit-done/references/ui-brand.md
|
|
27
|
+
@$HOME/.config/opencode/get-shit-done/references/gate-prompts.md
|
|
28
|
+
</execution_context>
|
|
29
|
+
|
|
30
|
+
<context>
|
|
31
|
+
$ARGUMENTS
|
|
32
|
+
</context>
|
|
33
|
+
|
|
34
|
+
<process>
|
|
35
|
+
Execute the import workflow end-to-end.
|
|
36
|
+
</process>
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-intel
|
|
3
|
+
description: "Query, inspect, or refresh codebase intelligence files in .planning/intel/"
|
|
4
|
+
argument-hint: "[query <term>|status|diff|refresh]"
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
bash: true
|
|
8
|
+
task: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
Query, inspect, or refresh codebase intelligence files in .planning/intel/
|
|
13
|
+
</objective>
|
|
14
|
+
|
|
15
|
+
<process>
|
|
16
|
+
|
|
17
|
+
**STOP -- DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by OpenCode's command system. Using the read tool on this file wastes tokens. Begin executing Step 0 immediately.**
|
|
18
|
+
|
|
19
|
+
## Step 0 -- Banner
|
|
20
|
+
|
|
21
|
+
**Before ANY tool calls**, display this banner:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
GSD > INTEL
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Then proceed to Step 1.
|
|
28
|
+
|
|
29
|
+
## Step 1 -- Config Gate
|
|
30
|
+
|
|
31
|
+
Check if intel is enabled by reading `.planning/config.json` directly using the read tool.
|
|
32
|
+
|
|
33
|
+
**DO NOT use the gsd-tools config get-value command** -- it hard-exits on missing keys.
|
|
34
|
+
|
|
35
|
+
1. read `.planning/config.json` using the read tool
|
|
36
|
+
2. If the file does not exist: display the disabled message below and **STOP**
|
|
37
|
+
3. Parse the JSON content. Check if `config.intel && config.intel.enabled === true`
|
|
38
|
+
4. If `intel.enabled` is NOT explicitly `true`: display the disabled message below and **STOP**
|
|
39
|
+
5. If `intel.enabled` is `true`: proceed to Step 2
|
|
40
|
+
|
|
41
|
+
**Disabled message:**
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
GSD > INTEL
|
|
45
|
+
|
|
46
|
+
Intel system is disabled. To activate:
|
|
47
|
+
|
|
48
|
+
node $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs config-set intel.enabled true
|
|
49
|
+
|
|
50
|
+
Then run /gsd-intel refresh to build the initial index.
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Step 2 -- Parse Argument
|
|
56
|
+
|
|
57
|
+
Parse `$ARGUMENTS` to determine the operation mode:
|
|
58
|
+
|
|
59
|
+
| Argument | Action |
|
|
60
|
+
|----------|--------|
|
|
61
|
+
| `query <term>` | Run inline query (Step 2a) |
|
|
62
|
+
| `status` | Run inline status check (Step 2b) |
|
|
63
|
+
| `diff` | Run inline diff check (Step 2c) |
|
|
64
|
+
| `refresh` | Spawn intel-updater agent (Step 3) |
|
|
65
|
+
| No argument or unknown | Show usage message |
|
|
66
|
+
|
|
67
|
+
**Usage message** (shown when no argument or unrecognized argument):
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
GSD > INTEL
|
|
71
|
+
|
|
72
|
+
Usage: /gsd-intel <mode>
|
|
73
|
+
|
|
74
|
+
Modes:
|
|
75
|
+
query <term> Search intel files for a term
|
|
76
|
+
status Show intel file freshness and staleness
|
|
77
|
+
diff Show changes since last snapshot
|
|
78
|
+
refresh Rebuild all intel files from codebase analysis
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Step 2a -- Query
|
|
82
|
+
|
|
83
|
+
Run:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
node $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs intel query <term>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Parse the JSON output and display results:
|
|
90
|
+
- If the output contains `"disabled": true`, display the disabled message from Step 1 and **STOP**
|
|
91
|
+
- If no matches found, display: `No intel matches for '<term>'. Try /gsd-intel refresh to build the index.`
|
|
92
|
+
- Otherwise, display matching entries grouped by intel file
|
|
93
|
+
|
|
94
|
+
**STOP** after displaying results. Do not spawn an agent.
|
|
95
|
+
|
|
96
|
+
### Step 2b -- Status
|
|
97
|
+
|
|
98
|
+
Run:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
node $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs intel status
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Parse the JSON output and display each intel file with:
|
|
105
|
+
- File name
|
|
106
|
+
- Last `updated_at` timestamp
|
|
107
|
+
- STALE or FRESH status (stale if older than 24 hours or missing)
|
|
108
|
+
|
|
109
|
+
**STOP** after displaying status. Do not spawn an agent.
|
|
110
|
+
|
|
111
|
+
### Step 2c -- Diff
|
|
112
|
+
|
|
113
|
+
Run:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
node $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs intel diff
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Parse the JSON output and display:
|
|
120
|
+
- Added entries since last snapshot
|
|
121
|
+
- Removed entries since last snapshot
|
|
122
|
+
- Changed entries since last snapshot
|
|
123
|
+
|
|
124
|
+
If no snapshot exists, suggest running `refresh` first.
|
|
125
|
+
|
|
126
|
+
**STOP** after displaying diff. Do not spawn an agent.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Step 3 -- Refresh (Agent Spawn)
|
|
131
|
+
|
|
132
|
+
Display before spawning:
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
GSD > Spawning intel-updater agent to analyze codebase...
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Spawn a task:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
@gsd-intel-updater "You are the gsd-intel-updater agent. Your job is to analyze this codebase and write/update intelligence files in .planning/intel/.
|
|
142
|
+
|
|
143
|
+
Project root: ${CWD}
|
|
144
|
+
gsd-tools path: $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs
|
|
145
|
+
|
|
146
|
+
Instructions:
|
|
147
|
+
1. Analyze the codebase structure, dependencies, APIs, and architecture
|
|
148
|
+
2. write JSON intel files to .planning/intel/ (stack.json, api-map.json, dependency-graph.json, file-roles.json, arch-decisions.json)
|
|
149
|
+
3. Each file must have a _meta object with updated_at timestamp
|
|
150
|
+
4. Use gsd-tools intel extract-exports <file> to analyze source files
|
|
151
|
+
5. Use gsd-tools intel patch-meta <file> to update timestamps after writing
|
|
152
|
+
6. Use gsd-tools intel validate to check your output
|
|
153
|
+
|
|
154
|
+
When complete, output: ## INTEL UPDATE COMPLETE
|
|
155
|
+
If something fails, output: ## INTEL UPDATE FAILED with details."
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Wait for the agent to complete.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Step 4 -- Post-Refresh Summary
|
|
163
|
+
|
|
164
|
+
After the agent completes, run:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
node $HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs intel status
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Display a summary showing:
|
|
171
|
+
- Which intel files were written or updated
|
|
172
|
+
- Last update timestamps
|
|
173
|
+
- Overall health of the intel index
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Anti-Patterns
|
|
178
|
+
|
|
179
|
+
1. DO NOT spawn an agent for query/status/diff operations -- these are inline CLI calls
|
|
180
|
+
2. DO NOT modify intel files directly -- the agent handles writes during refresh
|
|
181
|
+
3. DO NOT skip the config gate check
|
|
182
|
+
4. DO NOT use the gsd-tools config get-value CLI for the config gate -- it exits on missing keys
|
|
183
|
+
</process>
|
package/commands/gsd/gsd-next.md
CHANGED
|
@@ -13,6 +13,8 @@ Detect the current project state and automatically invoke the next logical GSD w
|
|
|
13
13
|
No arguments needed — reads STATE.md, ROADMAP.md, and phase directories to determine what comes next.
|
|
14
14
|
|
|
15
15
|
Designed for rapid multi-project workflows where remembering which phase/step you're on is overhead.
|
|
16
|
+
|
|
17
|
+
Supports `--force` flag to bypass safety gates (checkpoint, error state, verification failures).
|
|
16
18
|
</objective>
|
|
17
19
|
|
|
18
20
|
<execution_context>
|
|
@@ -224,20 +224,74 @@ git -C "$CONFIG_DIR" log --oneline --no-merges -- "{file_path}" | grep -v "gsd:u
|
|
|
224
224
|
Each matching commit represents an intentional user modification. Use the commit messages and diffs to understand what was changed and why.
|
|
225
225
|
|
|
226
226
|
4. **write merged result** to the installed location
|
|
227
|
-
|
|
227
|
+
|
|
228
|
+
### Post-merge verification
|
|
229
|
+
|
|
230
|
+
After writing each merged file, verify that user modifications survived the merge:
|
|
231
|
+
|
|
232
|
+
1. **Line-count check:** Count lines in the backup and the merged result. If the merged result has fewer lines than the backup minus the expected upstream removals, flag for review.
|
|
233
|
+
2. **Hunk presence check:** For each user-added section identified during diff analysis, search the merged output for at least the first significant line (non-blank, non-comment) of each addition. Missing signature lines indicate a dropped hunk.
|
|
234
|
+
3. **Report warnings inline** (do not block):
|
|
235
|
+
```
|
|
236
|
+
⚠ Potential dropped content in {file_path}:
|
|
237
|
+
- Missing hunk near line {N}: "{first_line_preview}..." ({line_count} lines)
|
|
238
|
+
- Backup available: {patches_dir}/{file_path}
|
|
239
|
+
```
|
|
240
|
+
4. **Produce a Hunk Verification Table** — one row per hunk per file. This table is **mandatory output** and must be produced before Step 5 can proceed. Format:
|
|
241
|
+
|
|
242
|
+
| file | hunk_id | signature_line | line_count | verified |
|
|
243
|
+
|------|---------|----------------|------------|----------|
|
|
244
|
+
| {file_path} | {N} | {first_significant_line} | {count} | yes |
|
|
245
|
+
| {file_path} | {N} | {first_significant_line} | {count} | no |
|
|
246
|
+
|
|
247
|
+
- `hunk_id` — sequential integer per file (1, 2, 3…)
|
|
248
|
+
- `signature_line` — first non-blank, non-comment line of the user-added section
|
|
249
|
+
- `line_count` — total lines in the hunk
|
|
250
|
+
- `verified` — `yes` if the signature_line is present in the merged output, `no` otherwise
|
|
251
|
+
|
|
252
|
+
5. **Track verification status** — add to per-file report: `Merged (verified)` vs `Merged (⚠ {N} hunks may be missing)`
|
|
253
|
+
|
|
254
|
+
6. **Report status per file:**
|
|
228
255
|
- `Merged` — user modifications applied cleanly (show summary of what was preserved)
|
|
229
256
|
- `Conflict` — user reviewed and chose resolution
|
|
230
257
|
- `Incorporated` — user's modification was already adopted upstream (only valid when pristine baseline confirms this)
|
|
231
258
|
|
|
232
259
|
**Never report `Skipped — no custom content`.** If a file is in the backup, it has custom content.
|
|
233
260
|
|
|
234
|
-
## Step 5:
|
|
261
|
+
## Step 5: Hunk Verification Gate
|
|
262
|
+
|
|
263
|
+
Before proceeding to cleanup, evaluate the Hunk Verification Table produced in Step 4.
|
|
264
|
+
|
|
265
|
+
**If the Hunk Verification Table is absent** (Step 4 did not produce it), STOP immediately and report to the user:
|
|
266
|
+
```
|
|
267
|
+
ERROR: Hunk Verification Table is missing. Post-merge verification was not completed.
|
|
268
|
+
Rerun /gsd-reapply-patches to retry with full verification.
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**If any row in the Hunk Verification Table shows `verified: no`**, STOP and report to the user:
|
|
272
|
+
```
|
|
273
|
+
ERROR: {N} hunk(s) failed verification — content may have been dropped during merge.
|
|
274
|
+
|
|
275
|
+
Unverified hunks:
|
|
276
|
+
{file} hunk {hunk_id}: signature line "{signature_line}" not found in merged output
|
|
277
|
+
|
|
278
|
+
The backup is preserved at: {patches_dir}/{file}
|
|
279
|
+
Review the merged file manually, then either:
|
|
280
|
+
(a) Re-merge the missing content by hand, or
|
|
281
|
+
(b) Restore from backup: cp {patches_dir}/{file} {installed_path}
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Do not proceed to cleanup until the user confirms they have resolved all unverified hunks.
|
|
285
|
+
|
|
286
|
+
**Only when all rows show `verified: yes`** (or when all files had zero user-added hunks) may execution continue to Step 6.
|
|
287
|
+
|
|
288
|
+
## Step 6: Cleanup option
|
|
235
289
|
|
|
236
290
|
Ask user:
|
|
237
291
|
- "Keep patch backups for reference?" → preserve `gsd-local-patches/`
|
|
238
292
|
- "Clean up patch backups?" → remove `gsd-local-patches/` directory
|
|
239
293
|
|
|
240
|
-
## Step
|
|
294
|
+
## Step 7: Report
|
|
241
295
|
|
|
242
296
|
```
|
|
243
297
|
## Patches Reapplied
|
|
@@ -260,4 +314,5 @@ Ask user:
|
|
|
260
314
|
- [ ] User modifications identified and merged into new version
|
|
261
315
|
- [ ] Conflicts surfaced to user with both versions shown
|
|
262
316
|
- [ ] Status reported for each file with summary of what was preserved
|
|
317
|
+
- [ ] Post-merge verification checks each file for dropped hunks and warns if content appears missing
|
|
263
318
|
</success_criteria>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-review
|
|
3
3
|
description: Request cross-AI peer review of phase plans from external AI CLIs
|
|
4
|
-
argument-hint: "--phase N [--gemini] [--OpenCode] [--codex] [--opencode] [--all]"
|
|
4
|
+
argument-hint: "--phase N [--gemini] [--OpenCode] [--codex] [--opencode] [--qwen] [--cursor] [--all]"
|
|
5
5
|
permissions:
|
|
6
6
|
read: true
|
|
7
7
|
write: true
|
|
@@ -11,7 +11,7 @@ permissions:
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
<objective>
|
|
14
|
-
Invoke external AI CLIs (Gemini, OpenCode, Codex, OpenCode) to independently review phase plans.
|
|
14
|
+
Invoke external AI CLIs (Gemini, OpenCode, Codex, OpenCode, Qwen Code, Cursor) to independently review phase plans.
|
|
15
15
|
Produces a structured REVIEWS.md with per-reviewer feedback that can be fed back into
|
|
16
16
|
planning via /gsd-plan-phase --reviews.
|
|
17
17
|
|
|
@@ -30,6 +30,8 @@ Phase number: extracted from $ARGUMENTS (required)
|
|
|
30
30
|
- `--OpenCode` — Include OpenCode CLI review (uses separate session)
|
|
31
31
|
- `--codex` — Include Codex CLI review
|
|
32
32
|
- `--opencode` — Include OpenCode review (uses model from user's OpenCode config)
|
|
33
|
+
- `--qwen` — Include Qwen Code review (Alibaba Qwen models)
|
|
34
|
+
- `--cursor` — Include Cursor agent review
|
|
33
35
|
- `--all` — Include all available CLIs
|
|
34
36
|
</context>
|
|
35
37
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-scan
|
|
3
|
+
description: Rapid codebase assessment — lightweight alternative to /gsd-map-codebase
|
|
4
|
+
permissions:
|
|
5
|
+
read: true
|
|
6
|
+
write: true
|
|
7
|
+
bash: true
|
|
8
|
+
grep: true
|
|
9
|
+
glob: true
|
|
10
|
+
- Agent
|
|
11
|
+
question: true
|
|
12
|
+
---
|
|
13
|
+
<objective>
|
|
14
|
+
Run a focused codebase scan for a single area, producing targeted documents in `.planning/codebase/`.
|
|
15
|
+
Accepts an optional `--focus` flag: `tech`, `arch`, `quality`, `concerns`, or `tech+arch` (default).
|
|
16
|
+
|
|
17
|
+
Lightweight alternative to `/gsd-map-codebase` — spawns one mapper agent instead of four parallel ones.
|
|
18
|
+
</objective>
|
|
19
|
+
|
|
20
|
+
<execution_context>
|
|
21
|
+
@$HOME/.config/opencode/get-shit-done/workflows/scan.md
|
|
22
|
+
</execution_context>
|
|
23
|
+
|
|
24
|
+
<process>
|
|
25
|
+
Execute the scan workflow from @$HOME/.config/opencode/get-shit-done/workflows/scan.md end-to-end.
|
|
26
|
+
</process>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-undo
|
|
3
|
+
description: "Safe git revert. Roll back phase or plan commits using the phase manifest with dependency checks."
|
|
4
|
+
argument-hint: "--last N | --phase NN | --plan NN-MM"
|
|
5
|
+
permissions:
|
|
6
|
+
read: true
|
|
7
|
+
bash: true
|
|
8
|
+
glob: true
|
|
9
|
+
grep: true
|
|
10
|
+
question: true
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<objective>
|
|
14
|
+
Safe git revert — roll back GSD phase or plan commits using the phase manifest, with dependency checks and a confirmation gate before execution.
|
|
15
|
+
|
|
16
|
+
Three modes:
|
|
17
|
+
- **--last N**: Show recent GSD commits for interactive selection
|
|
18
|
+
- **--phase NN**: Revert all commits for a phase (manifest + git log fallback)
|
|
19
|
+
- **--plan NN-MM**: Revert all commits for a specific plan
|
|
20
|
+
</objective>
|
|
21
|
+
|
|
22
|
+
<execution_context>
|
|
23
|
+
@$HOME/.config/opencode/get-shit-done/workflows/undo.md
|
|
24
|
+
@$HOME/.config/opencode/get-shit-done/references/ui-brand.md
|
|
25
|
+
@$HOME/.config/opencode/get-shit-done/references/gate-prompts.md
|
|
26
|
+
</execution_context>
|
|
27
|
+
|
|
28
|
+
<context>
|
|
29
|
+
$ARGUMENTS
|
|
30
|
+
</context>
|
|
31
|
+
|
|
32
|
+
<process>
|
|
33
|
+
Execute the undo workflow from @$HOME/.config/opencode/get-shit-done/workflows/undo.md end-to-end.
|
|
34
|
+
</process>
|
|
@@ -36,30 +36,30 @@ If no subcommand given, default to `list`.
|
|
|
36
36
|
## Step 2: Execute Operation
|
|
37
37
|
|
|
38
38
|
### list
|
|
39
|
-
Run: `node "$
|
|
39
|
+
Run: `node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" workstream list --raw --cwd "$CWD"`
|
|
40
40
|
Display the workstreams in a table format showing name, status, current phase, and progress.
|
|
41
41
|
|
|
42
42
|
### create
|
|
43
|
-
Run: `node "$
|
|
43
|
+
Run: `node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" workstream create <name> --raw --cwd "$CWD"`
|
|
44
44
|
After creation, display the new workstream path and suggest next steps:
|
|
45
45
|
- `/gsd-new-milestone --ws <name>` to set up the milestone
|
|
46
46
|
|
|
47
47
|
### status
|
|
48
|
-
Run: `node "$
|
|
48
|
+
Run: `node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" workstream status <name> --raw --cwd "$CWD"`
|
|
49
49
|
Display detailed phase breakdown and state information.
|
|
50
50
|
|
|
51
51
|
### switch
|
|
52
|
-
Run: `node "$
|
|
52
|
+
Run: `node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" workstream set <name> --raw --cwd "$CWD"`
|
|
53
53
|
Also set `GSD_WORKSTREAM` for the current session when the runtime supports it.
|
|
54
54
|
If the runtime exposes a session identifier, GSD also stores the active workstream
|
|
55
55
|
session-locally so concurrent sessions do not overwrite each other.
|
|
56
56
|
|
|
57
57
|
### progress
|
|
58
|
-
Run: `node "$
|
|
58
|
+
Run: `node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" workstream progress --raw --cwd "$CWD"`
|
|
59
59
|
Display a progress overview across all workstreams.
|
|
60
60
|
|
|
61
61
|
### complete
|
|
62
|
-
Run: `node "$
|
|
62
|
+
Run: `node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" workstream complete <name> --raw --cwd "$CWD"`
|
|
63
63
|
Archive the workstream to milestones/.
|
|
64
64
|
|
|
65
65
|
### resume
|