opencode-goopspec 0.1.5 → 0.1.6
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 +7 -7
- package/agents/goop-debugger.md +2 -2
- package/agents/goop-designer.md +2 -2
- package/agents/goop-executor.md +17 -7
- package/agents/goop-explorer.md +2 -2
- package/agents/goop-librarian.md +1 -1
- package/agents/goop-orchestrator.md +47 -5
- package/agents/goop-planner.md +3 -3
- package/agents/goop-researcher.md +2 -2
- package/agents/goop-tester.md +1 -1
- package/agents/goop-verifier.md +2 -2
- package/agents/goop-writer.md +1 -1
- package/agents/memory-distiller.md +2 -2
- package/commands/goop-accept.md +27 -401
- package/commands/goop-discuss.md +29 -393
- package/commands/goop-execute.md +22 -356
- package/commands/goop-map-codebase.md +44 -478
- package/commands/goop-plan.md +23 -499
- package/commands/goop-quick.md +58 -31
- package/commands/goop-setup.md +7 -4
- package/commands/goop-specify.md +26 -291
- package/commands/goop-status.md +26 -261
- package/dist/index.js +808 -182
- package/dist/worker/index.js +1 -1
- package/package.json +2 -1
- package/references/accept-process.md +402 -0
- package/references/context-injection.md +1 -1
- package/references/discovery-interview.md +1 -1
- package/references/discuss-process.md +383 -0
- package/references/dispatch-patterns.md +46 -21
- package/references/enforcement-system.md +1 -1
- package/references/execute-process.md +358 -0
- package/references/git-workflow.md +349 -0
- package/references/handoff-protocol.md +1 -1
- package/references/map-codebase-process.md +353 -0
- package/references/model-profiles.md +16 -16
- package/references/orchestrator-philosophy.md +1 -1
- package/references/phase-gates.md +1 -1
- package/references/plan-process.md +397 -0
- package/references/plugin-architecture.md +1 -1
- package/references/quick-process.md +343 -0
- package/references/response-format.md +2 -2
- package/references/specify-process.md +251 -0
- package/references/status-process.md +253 -0
- package/references/subagent-protocol.md +2 -2
- package/references/team-coordination.md +183 -0
- package/references/xml-response-schema.md +5 -5
- package/skills/accessibility/skill.md +1 -1
- package/skills/accessibility-testing/skill.md +1 -1
- package/skills/api-docs/skill.md +1 -1
- package/skills/architecture-design/skill.md +1 -1
- package/skills/atomic-commits/skill.md +92 -15
- package/skills/code-review/skill.md +1 -1
- package/skills/codebase-mapping/skill.md +1 -1
- package/skills/convention-detection/skill.md +1 -1
- package/skills/debugging/skill.md +1 -1
- package/skills/deviation-handling/skill.md +1 -1
- package/skills/documentation/skill.md +1 -1
- package/skills/goop-core/skill.md +48 -11
- package/skills/memory-usage/skill.md +1 -1
- package/skills/parallel-planning/skill.md +1 -1
- package/skills/pattern-extraction/skill.md +1 -1
- package/skills/performance-optimization/skill.md +1 -1
- package/skills/playwright/skill.md +1 -1
- package/skills/playwright-testing/skill.md +1 -1
- package/skills/progress-tracking/skill.md +1 -1
- package/skills/readme-generation/skill.md +1 -1
- package/skills/research/skill.md +1 -1
- package/skills/responsive-design/skill.md +1 -1
- package/skills/scientific-method/skill.md +1 -1
- package/skills/security-audit/skill.md +1 -1
- package/skills/task-decomposition/skill.md +1 -1
- package/skills/task-delegation/skill.md +60 -34
- package/skills/technical-writing/skill.md +1 -1
- package/skills/testing/skill.md +1 -1
- package/skills/ui-design/skill.md +1 -1
- package/skills/ux-patterns/skill.md +1 -1
- package/skills/verification/skill.md +1 -1
- package/skills/visual-regression/skill.md +1 -1
- package/templates/blueprint.md +1 -1
- package/templates/chronicle.md +1 -1
- package/templates/handoff.md +1 -1
- package/templates/milestone.md +1 -1
- package/templates/project.md +1 -1
- package/templates/requirements.md +1 -1
- package/templates/research.md +1 -1
- package/templates/retrospective.md +1 -1
- package/templates/spec.md +1 -1
- package/templates/state.md +1 -1
- package/templates/summary.md +1 -1
package/commands/goop-execute.md
CHANGED
|
@@ -16,172 +16,41 @@ alternatives:
|
|
|
16
16
|
|
|
17
17
|
**Start the Execution Phase.** Implement the blueprint using wave-based orchestration.
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## Immediate Action
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
/goop-execute
|
|
21
|
+
**STOP. Execute this tool call NOW before reading anything else:**
|
|
23
22
|
```
|
|
24
|
-
|
|
25
|
-
## Gate Requirement
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
+================================================================+
|
|
29
|
-
| EXECUTION GATE: Specification must be locked before executing. |
|
|
30
|
-
| This ensures we build what was agreed upon. |
|
|
31
|
-
+================================================================+
|
|
23
|
+
goop_reference({ name: "execute-process" })
|
|
32
24
|
```
|
|
33
25
|
|
|
34
|
-
**
|
|
35
|
-
- `specLocked: true` (check via `goop_state({ action: "get" })`)
|
|
36
|
-
- `.goopspec/BLUEPRINT.md` exists with wave structure
|
|
26
|
+
**Then follow the process from that reference.** Do not process user messages until you have loaded and understood the protocol.
|
|
37
27
|
|
|
38
|
-
|
|
28
|
+
## Quick Summary
|
|
39
29
|
|
|
40
|
-
**
|
|
30
|
+
**Gate:** `specLocked: true` required. Check via `goop_state({ action: "get" })`.
|
|
41
31
|
|
|
42
|
-
|
|
32
|
+
### Tools Used
|
|
43
33
|
|
|
44
|
-
| Tool | Purpose
|
|
45
|
-
|
|
34
|
+
| Tool | Purpose |
|
|
35
|
+
|------|---------|
|
|
46
36
|
| `goop_status` | Check spec lock status and wave progress |
|
|
47
|
-
| `goop_state` | **ALL state operations**
|
|
37
|
+
| `goop_state` | **ALL state operations** (NEVER edit state.json directly) |
|
|
48
38
|
| `goop_spec` | Load blueprint for execution |
|
|
49
39
|
| `goop_checkpoint` | Save state at wave boundaries |
|
|
50
40
|
| `goop_delegate` | Spawn executor agents for implementation |
|
|
51
41
|
| `goop_adl` | Log deviations during execution |
|
|
52
|
-
| `
|
|
53
|
-
|
|
54
|
-
**Hook Support:** `tool.execute.after` auto-progresses to accept phase when all waves complete.
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## Process
|
|
59
|
-
|
|
60
|
-
### Phase 1: Gate Check
|
|
61
|
-
|
|
62
|
-
**Execute BEFORE anything else:**
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
goop_status()
|
|
66
|
-
goop_state({ action: "get" }) # NEVER read state.json directly
|
|
67
|
-
Read(".goopspec/BLUEPRINT.md")
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**1.1 Check specLocked:**
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
IF state.specLocked != true:
|
|
74
|
-
REFUSE with:
|
|
75
|
-
|
|
76
|
-
## 🔮 GoopSpec · Gate Blocked
|
|
77
|
-
|
|
78
|
-
✗ Specification must be locked before execution.
|
|
79
|
-
|
|
80
|
-
→ Run: `/goop-specify`
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
**1.2 Gate passed:**
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
## 🔮 GoopSpec · Execution
|
|
89
|
-
|
|
90
|
-
✓ Spec gate passed
|
|
91
|
-
|
|
92
|
-
⚡ Starting wave-based execution...
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### Phase 2: Load Context
|
|
98
|
-
|
|
99
|
-
```
|
|
100
|
-
Read(".goopspec/SPEC.md") # Must-haves
|
|
101
|
-
Read(".goopspec/BLUEPRINT.md") # Waves and tasks
|
|
102
|
-
Read(".goopspec/CHRONICLE.md") # Progress (if resuming)
|
|
103
|
-
Read(".goopspec/PROJECT_KNOWLEDGE_BASE.md") # Conventions
|
|
104
|
-
|
|
105
|
-
memory_search({ query: "[feature] implementation patterns" })
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
Identify:
|
|
109
|
-
- Current wave (from CHRONICLE or start at 1)
|
|
110
|
-
- Tasks to execute
|
|
111
|
-
- Dependencies between tasks
|
|
112
|
-
|
|
113
|
-
### Phase 3: Wave Execution Loop
|
|
114
|
-
|
|
115
|
-
**Display wave start:**
|
|
42
|
+
| `goop_reference` | Load detailed process |
|
|
116
43
|
|
|
117
|
-
|
|
118
|
-
## 🔮 GoopSpec · Wave [N] of [M]: [Wave Name]
|
|
119
|
-
|
|
120
|
-
**Tasks:** [X] | **Execution:** [Parallel/Sequential]
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
**For each task in wave:**
|
|
126
|
-
|
|
127
|
-
1. **Delegate to executor:**
|
|
128
|
-
```
|
|
129
|
-
task({
|
|
130
|
-
subagent_type: "goop-executor",
|
|
131
|
-
description: "Execute Task [N.M]",
|
|
132
|
-
prompt: `
|
|
133
|
-
## TASK
|
|
134
|
-
Wave [N], Task [M]: [Task Name]
|
|
135
|
-
|
|
136
|
-
## PROJECT CONTEXT
|
|
137
|
-
[From PROJECT_KNOWLEDGE_BASE.md]
|
|
138
|
-
|
|
139
|
-
## SPEC REQUIREMENTS
|
|
140
|
-
[Relevant must-have from SPEC.md]
|
|
141
|
-
|
|
142
|
-
## TASK DETAILS
|
|
143
|
-
[From BLUEPRINT.md]
|
|
144
|
-
|
|
145
|
-
Intent: [intent]
|
|
146
|
-
Deliverables: [list]
|
|
147
|
-
Files: [paths]
|
|
148
|
-
Verification: [command]
|
|
149
|
-
Acceptance: [criteria]
|
|
150
|
-
|
|
151
|
-
## INSTRUCTIONS
|
|
152
|
-
1. Implement following existing patterns
|
|
153
|
-
2. Commit atomically
|
|
154
|
-
3. Return XML response envelope
|
|
155
|
-
4. Include spec coverage in response
|
|
156
|
-
`
|
|
157
|
-
})
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
2. **Parse XML response:**
|
|
161
|
-
- Extract status (COMPLETE/PARTIAL/BLOCKED)
|
|
162
|
-
- Extract artifacts (files, commits)
|
|
163
|
-
- Extract handoff instructions
|
|
164
|
-
|
|
165
|
-
3. **Update CHRONICLE.md:**
|
|
166
|
-
```markdown
|
|
167
|
-
### Task [N.M]: [Name]
|
|
168
|
-
- Status: [Complete/Partial/Blocked]
|
|
169
|
-
- Commit: [sha]
|
|
170
|
-
- Files: [list]
|
|
171
|
-
- Time: [timestamp]
|
|
172
|
-
```
|
|
44
|
+
### Process Overview
|
|
173
45
|
|
|
174
|
-
|
|
46
|
+
1. **Gate Check** — Verify `specLocked` and BLUEPRINT.md exist
|
|
47
|
+
2. **Load Context** — Read SPEC, BLUEPRINT, CHRONICLE, PROJECT_KNOWLEDGE_BASE
|
|
48
|
+
3. **Wave Loop** — Execute tasks, delegate to goop-executor
|
|
49
|
+
4. **Deviation Handling** — Apply rules (auto-fix or checkpoint for decisions)
|
|
50
|
+
5. **Wave Completion** — Save checkpoint, generate HANDOFF.md
|
|
51
|
+
6. **Execution Complete** — Transition to accept phase
|
|
175
52
|
|
|
176
|
-
|
|
177
|
-
|--------|--------|
|
|
178
|
-
| COMPLETE | Continue to next task |
|
|
179
|
-
| PARTIAL | Resume with partial context |
|
|
180
|
-
| BLOCKED | Check deviation rules |
|
|
181
|
-
|
|
182
|
-
### Phase 4: Deviation Handling
|
|
183
|
-
|
|
184
|
-
**Apply deviation rules:**
|
|
53
|
+
### Deviation Rules
|
|
185
54
|
|
|
186
55
|
| Rule | Trigger | Action |
|
|
187
56
|
|------|---------|--------|
|
|
@@ -190,130 +59,6 @@ Acceptance: [criteria]
|
|
|
190
59
|
| Rule 3 | Blocking issue | Auto-fix, document |
|
|
191
60
|
| Rule 4 | Architectural | **STOP**, ask user |
|
|
192
61
|
|
|
193
|
-
**On Rule 4:**
|
|
194
|
-
```
|
|
195
|
-
## 🔮 GoopSpec · Decision Required
|
|
196
|
-
|
|
197
|
-
⚠️ **Type:** Architectural Decision
|
|
198
|
-
|
|
199
|
-
**Context:** [From executor response]
|
|
200
|
-
|
|
201
|
-
**Options:**
|
|
202
|
-
- **A)** [option] — [impact]
|
|
203
|
-
- **B)** [option] — [impact]
|
|
204
|
-
|
|
205
|
-
**Recommendation:** [If any]
|
|
206
|
-
|
|
207
|
-
Which option? (A/B/other)
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
Use `question` tool, then resume with decision.
|
|
213
|
-
|
|
214
|
-
### Phase 5: Wave Completion
|
|
215
|
-
|
|
216
|
-
**At end of each wave:**
|
|
217
|
-
|
|
218
|
-
1. **Run wave verification:**
|
|
219
|
-
```
|
|
220
|
-
Spawn goop-verifier for wave-level checks
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
2. **Update CHRONICLE.md:**
|
|
224
|
-
```markdown
|
|
225
|
-
## Wave [N]: COMPLETE
|
|
226
|
-
- Tasks: [X/X]
|
|
227
|
-
- Commits: [list]
|
|
228
|
-
- Verification: PASSED
|
|
229
|
-
- Time: [timestamp]
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
3. **Save checkpoint:**
|
|
233
|
-
```
|
|
234
|
-
goop_checkpoint({
|
|
235
|
-
action: "save",
|
|
236
|
-
context: { wave: N, phase: "execute" }
|
|
237
|
-
})
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
4. **Generate HANDOFF.md:**
|
|
241
|
-
```markdown
|
|
242
|
-
# Session Handoff
|
|
243
|
-
|
|
244
|
-
**Phase:** execute
|
|
245
|
-
**Wave:** [N] of [M] complete
|
|
246
|
-
|
|
247
|
-
## Accomplished
|
|
248
|
-
- [x] Task N.1: [description]
|
|
249
|
-
- [x] Task N.2: [description]
|
|
250
|
-
|
|
251
|
-
## Next Session
|
|
252
|
-
Run: /goop-execute
|
|
253
|
-
|
|
254
|
-
## Context
|
|
255
|
-
Wave [N] complete. Starting Wave [N+1] next.
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
5. **Suggest new session:**
|
|
259
|
-
```
|
|
260
|
-
## 🔮 GoopSpec · Wave [N] Complete
|
|
261
|
-
|
|
262
|
-
✨ Wave finished successfully
|
|
263
|
-
|
|
264
|
-
| Metric | Status |
|
|
265
|
-
|--------|--------|
|
|
266
|
-
| Tasks | ✓ [X/X] complete |
|
|
267
|
-
| Commits | [Y] |
|
|
268
|
-
| Verification | ✓ PASSED |
|
|
269
|
-
|
|
270
|
-
### Next
|
|
271
|
-
|
|
272
|
-
**Option A:** Continue to Wave [N+1] (current session)
|
|
273
|
-
**Option B:** Start new session for fresh context (Recommended)
|
|
274
|
-
|
|
275
|
-
For Option B:
|
|
276
|
-
1. Start a new session
|
|
277
|
-
2. Run: `/goop-execute`
|
|
278
|
-
|
|
279
|
-
---
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
### Phase 6: Execution Complete
|
|
283
|
-
|
|
284
|
-
**When all waves done:**
|
|
285
|
-
|
|
286
|
-
```
|
|
287
|
-
## 🔮 GoopSpec · Execution Complete
|
|
288
|
-
|
|
289
|
-
✨ All waves finished successfully
|
|
290
|
-
|
|
291
|
-
| Metric | Status |
|
|
292
|
-
|--------|--------|
|
|
293
|
-
| Waves | ✓ [M/M] complete |
|
|
294
|
-
| Tasks | ✓ [P/P] complete |
|
|
295
|
-
| Commits | [Q] |
|
|
296
|
-
|
|
297
|
-
All must-haves implemented and verified.
|
|
298
|
-
|
|
299
|
-
### Next Step
|
|
300
|
-
|
|
301
|
-
**Verify and accept** — Final verification against spec
|
|
302
|
-
|
|
303
|
-
→ `/goop-accept`
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
Start a new session for fresh context.
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
Update state using goop_state:
|
|
311
|
-
```
|
|
312
|
-
goop_state({ action: "transition", phase: "accept" })
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
This atomically updates the workflow state. **NEVER edit state.json directly.**
|
|
316
|
-
|
|
317
62
|
## Output
|
|
318
63
|
|
|
319
64
|
| File | Purpose |
|
|
@@ -323,98 +68,19 @@ This atomically updates the workflow state. **NEVER edit state.json directly.**
|
|
|
323
68
|
| `.goopspec/CHRONICLE.md` | Progress log |
|
|
324
69
|
| `.goopspec/HANDOFF.md` | Session handoff |
|
|
325
70
|
|
|
326
|
-
## Transitions
|
|
327
|
-
|
|
328
|
-
| Outcome | Next Step |
|
|
329
|
-
|---------|-----------|
|
|
330
|
-
| All waves complete | `/goop-accept` for verification |
|
|
331
|
-
| Checkpoint reached | `/goop-pause` to save, resume later |
|
|
332
|
-
| Wave complete | Continue or new session |
|
|
333
|
-
| Gate blocked | `/goop-specify` to lock spec |
|
|
334
|
-
|
|
335
|
-
## Examples
|
|
336
|
-
|
|
337
|
-
**Starting Execution:**
|
|
338
|
-
```
|
|
339
|
-
User: /goop-execute
|
|
340
|
-
|
|
341
|
-
Orchestrator:
|
|
342
|
-
+--------------------------------------------------------+
|
|
343
|
-
| GOOPSPEC > EXECUTION |
|
|
344
|
-
+--------------------------------------------------------+
|
|
345
|
-
| Spec gate: PASSED |
|
|
346
|
-
| Starting wave-based execution... |
|
|
347
|
-
+--------------------------------------------------------+
|
|
348
|
-
|
|
349
|
-
+--------------------------------------------------------+
|
|
350
|
-
| GOOPSPEC > WAVE 1 of 3: Foundation |
|
|
351
|
-
+--------------------------------------------------------+
|
|
352
|
-
|
|
353
|
-
[Delegating Task 1.1...]
|
|
354
|
-
|
|
355
|
-
goop-executor: Task 1.1 COMPLETE (commit: abc123)
|
|
356
|
-
|
|
357
|
-
[Delegating Task 1.2...]
|
|
358
|
-
|
|
359
|
-
goop-executor: Task 1.2 COMPLETE (commit: def456)
|
|
360
|
-
|
|
361
|
-
+--------------------------------------------------------+
|
|
362
|
-
| GOOPSPEC > WAVE 1 COMPLETE |
|
|
363
|
-
+--------------------------------------------------------+
|
|
364
|
-
|
|
365
|
-
**Recommend:** Start new session for Wave 2
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
**Checkpoint Reached:**
|
|
369
|
-
```
|
|
370
|
-
goop-executor: BLOCKED - Rule 4 deviation
|
|
371
|
-
|
|
372
|
-
+--------------------------------------------------------+
|
|
373
|
-
| GOOPSPEC > CHECKPOINT: Decision Required |
|
|
374
|
-
+--------------------------------------------------------+
|
|
375
|
-
|
|
376
|
-
**Context:** Database schema change needed
|
|
377
|
-
|
|
378
|
-
**Options:**
|
|
379
|
-
| A | Add index | Better performance |
|
|
380
|
-
| B | Skip index | Faster deployment |
|
|
381
|
-
|
|
382
|
-
Which option?
|
|
383
|
-
|
|
384
|
-
User: A
|
|
385
|
-
|
|
386
|
-
Orchestrator: Resuming with Option A...
|
|
387
|
-
```
|
|
388
|
-
|
|
389
71
|
## Success Criteria
|
|
390
72
|
|
|
391
73
|
- [ ] Gate check performed (spec_locked)
|
|
392
|
-
- [ ] Project context loaded (KNOWLEDGE_BASE, memory)
|
|
393
74
|
- [ ] Each task delegated with full context
|
|
394
|
-
- [ ] XML responses parsed correctly
|
|
395
75
|
- [ ] CHRONICLE.md updated after each task
|
|
396
|
-
- [ ] Deviation rules applied (auto-fix or checkpoint)
|
|
397
76
|
- [ ] Checkpoints saved at wave boundaries
|
|
398
77
|
- [ ] HANDOFF.md generated at natural pauses
|
|
399
|
-
- [ ] User informed of progress throughout
|
|
400
78
|
|
|
401
79
|
## Anti-Patterns
|
|
402
80
|
|
|
403
|
-
**DON'T:**
|
|
404
|
-
|
|
405
|
-
- Delegate without full context
|
|
406
|
-
- Ignore XML response status
|
|
407
|
-
- Skip wave-boundary checkpoints
|
|
408
|
-
- Continue indefinitely without handoffs
|
|
409
|
-
|
|
410
|
-
**DO:**
|
|
411
|
-
- Enforce the gate strictly
|
|
412
|
-
- Include PROJECT_KNOWLEDGE_BASE in delegations
|
|
413
|
-
- Parse and act on XML responses
|
|
414
|
-
- Save checkpoints at wave boundaries
|
|
415
|
-
- Suggest new sessions for fresh context
|
|
81
|
+
**DON'T:** Skip gate, delegate without context, ignore XML status, skip checkpoints
|
|
82
|
+
**DO:** Enforce gate, include PROJECT_KNOWLEDGE_BASE, save checkpoints, suggest new sessions
|
|
416
83
|
|
|
417
84
|
---
|
|
418
85
|
|
|
419
|
-
*
|
|
420
|
-
*"Execute in waves. Checkpoint often. Handoff clean."*
|
|
86
|
+
*Load `goop_reference({ name: "execute-process" })` for full process details.*
|