opencode-goopspec 0.1.4 → 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 -8
- 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 -433
- package/commands/goop-quick.md +58 -31
- package/commands/goop-setup.md +35 -278
- package/commands/goop-specify.md +26 -291
- package/commands/goop-status.md +26 -261
- package/dist/index.js +34981 -239
- package/dist/worker/index.js +35883 -0
- package/package.json +5 -2
- 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 +155 -223
- 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-knowledge-base.md +93 -0
- 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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-goopspec",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "A spec-driven development plugin for OpenCode with user-guided planning, wave execution, and verification",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -21,11 +21,13 @@
|
|
|
21
21
|
"README.md"
|
|
22
22
|
],
|
|
23
23
|
"scripts": {
|
|
24
|
-
"build": "bun build ./src/index.ts --outdir ./dist --target bun",
|
|
24
|
+
"build": "bun build ./src/index.ts --outdir ./dist --target bun && bun build ./src/features/memory/worker/index.ts --outdir ./dist/worker --target bun",
|
|
25
25
|
"dev": "bun build ./src/index.ts --outdir ./dist --target bun --watch",
|
|
26
|
+
"build:worker": "bun build ./src/features/memory/worker/index.ts --outdir ./dist/worker --target bun",
|
|
26
27
|
"typecheck": "bunx tsc --noEmit",
|
|
27
28
|
"clean": "rm -rf dist",
|
|
28
29
|
"test": "bun test",
|
|
30
|
+
"version:bump": "bun scripts/version-bump.ts",
|
|
29
31
|
"prepublishOnly": "bun run build"
|
|
30
32
|
},
|
|
31
33
|
"keywords": [
|
|
@@ -49,6 +51,7 @@
|
|
|
49
51
|
"hono": "^4.11.7",
|
|
50
52
|
"picocolors": "^1.1.1",
|
|
51
53
|
"sqlite-vec": "^0.1.7-alpha.2",
|
|
54
|
+
"sqlite-vec-linux-x64": "^0.1.7-alpha.2",
|
|
52
55
|
"zod": "^4.1.8"
|
|
53
56
|
},
|
|
54
57
|
"devDependencies": {
|
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
# Acceptance Process
|
|
2
|
+
|
|
3
|
+
Detailed process for `/goop-accept` - verification and acceptance of completed work.
|
|
4
|
+
|
|
5
|
+
## Phase 1: Gate Check
|
|
6
|
+
|
|
7
|
+
**Execute BEFORE anything else:**
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
goop_status()
|
|
11
|
+
Read(".goopspec/CHRONICLE.md")
|
|
12
|
+
Read(".goopspec/SPEC.md")
|
|
13
|
+
Read(".goopspec/BLUEPRINT.md")
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### 1.1 Check execution complete
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
IF CHRONICLE shows incomplete waves:
|
|
20
|
+
REFUSE with:
|
|
21
|
+
|
|
22
|
+
## 🔮 GoopSpec · Gate Blocked
|
|
23
|
+
|
|
24
|
+
✗ Execution incomplete.
|
|
25
|
+
|
|
26
|
+
**Remaining:**
|
|
27
|
+
- Wave [N]: [X] tasks pending
|
|
28
|
+
|
|
29
|
+
→ Run: `/goop-execute`
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 1.2 Check for blockers
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
IF unresolved blockers exist:
|
|
38
|
+
REFUSE with:
|
|
39
|
+
|
|
40
|
+
## 🔮 GoopSpec · Blockers Unresolved
|
|
41
|
+
|
|
42
|
+
✗ Cannot accept with active blockers:
|
|
43
|
+
|
|
44
|
+
- [Blocker 1]
|
|
45
|
+
- [Blocker 2]
|
|
46
|
+
|
|
47
|
+
Resolve blockers, then retry.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 1.3 Gate passed
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
## 🔮 GoopSpec · Acceptance
|
|
56
|
+
|
|
57
|
+
✓ Execution gate passed
|
|
58
|
+
|
|
59
|
+
⏳ Running verification...
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Phase 2: Run Verification
|
|
67
|
+
|
|
68
|
+
**Spawn goop-verifier:**
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
task({
|
|
72
|
+
subagent_type: "goop-verifier",
|
|
73
|
+
description: "Verify against specification",
|
|
74
|
+
prompt: `
|
|
75
|
+
## TASK
|
|
76
|
+
Verify implementation against SPEC.md
|
|
77
|
+
|
|
78
|
+
## REQUIREMENTS
|
|
79
|
+
[Full SPEC.md content]
|
|
80
|
+
|
|
81
|
+
## BLUEPRINT
|
|
82
|
+
[Full BLUEPRINT.md content - for traceability]
|
|
83
|
+
|
|
84
|
+
## CHRONICLE
|
|
85
|
+
[Progress log - what was built]
|
|
86
|
+
|
|
87
|
+
## INSTRUCTIONS
|
|
88
|
+
1. Verify every must-have has:
|
|
89
|
+
- Implementation (code exists)
|
|
90
|
+
- Tests (coverage)
|
|
91
|
+
- Acceptance criteria met
|
|
92
|
+
|
|
93
|
+
2. Build requirement matrix:
|
|
94
|
+
| Must-Have | Status | Evidence |
|
|
95
|
+
|
|
96
|
+
3. Run security checklist
|
|
97
|
+
|
|
98
|
+
4. Check for regressions
|
|
99
|
+
|
|
100
|
+
5. Return XML with VERIFICATION PASSED/FAILED
|
|
101
|
+
`
|
|
102
|
+
})
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Spawn goop-tester (parallel):**
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
task({
|
|
109
|
+
subagent_type: "goop-tester",
|
|
110
|
+
description: "Run test suite",
|
|
111
|
+
prompt: `
|
|
112
|
+
## TASK
|
|
113
|
+
Run complete test suite and report results
|
|
114
|
+
|
|
115
|
+
## INSTRUCTIONS
|
|
116
|
+
1. Run: bun test
|
|
117
|
+
2. Run: bun run typecheck
|
|
118
|
+
3. Report coverage
|
|
119
|
+
4. Flag any failures
|
|
120
|
+
5. Return XML with test results
|
|
121
|
+
`
|
|
122
|
+
})
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Phase 3: Present Verification Report
|
|
128
|
+
|
|
129
|
+
**Parse XML responses and present:**
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
## 🔮 GoopSpec · Verification Report
|
|
133
|
+
|
|
134
|
+
### Requirement Matrix
|
|
135
|
+
|
|
136
|
+
| Must-Have | Status | Evidence |
|
|
137
|
+
|-----------|--------|----------|
|
|
138
|
+
| MH1: [Title] | PASS | Tests: 5/5, Commit: abc123 |
|
|
139
|
+
| MH2: [Title] | PASS | Tests: 3/3, Commit: def456 |
|
|
140
|
+
| MH3: [Title] | PASS | Manual: UI verified |
|
|
141
|
+
|
|
142
|
+
### Test Results
|
|
143
|
+
|
|
144
|
+
| Suite | Passed | Failed | Coverage |
|
|
145
|
+
|-------|--------|--------|----------|
|
|
146
|
+
| Unit | 42 | 0 | 87% |
|
|
147
|
+
| Integration | 8 | 0 | 92% |
|
|
148
|
+
|
|
149
|
+
### Security Check
|
|
150
|
+
|
|
151
|
+
| Check | Status |
|
|
152
|
+
|-------|--------|
|
|
153
|
+
| No hardcoded secrets | PASS |
|
|
154
|
+
| Input validation | PASS |
|
|
155
|
+
| Auth on protected routes | PASS |
|
|
156
|
+
|
|
157
|
+
### Overall: [PASSED/FAILED]
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**If FAILED:**
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
## 🔮 GoopSpec · Verification Failed
|
|
166
|
+
|
|
167
|
+
**Failures:**
|
|
168
|
+
|
|
169
|
+
| Must-Have | Issue | Resolution |
|
|
170
|
+
|-----------|-------|------------|
|
|
171
|
+
| MH2 | Test failing | Fix auth edge case |
|
|
172
|
+
| MH3 | Missing feature | Implement retry logic |
|
|
173
|
+
|
|
174
|
+
**Options:**
|
|
175
|
+
1. Fix issues → /goop-execute to continue
|
|
176
|
+
2. Amend spec → /goop-amend to change requirements
|
|
177
|
+
3. Accept anyway → Type "accept-with-issues"
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Phase 4: Request Acceptance
|
|
185
|
+
|
|
186
|
+
**If PASSED:**
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
## 🔮 GoopSpec · Acceptance Gate
|
|
190
|
+
|
|
191
|
+
**Verification:** PASSED
|
|
192
|
+
**Must-Haves:** [N/N] complete
|
|
193
|
+
**Tests:** [X] passing
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
Type **"accept"** to complete this milestone.
|
|
198
|
+
Type **"issues"** to report problems.
|
|
199
|
+
Type **"cancel"** to return to execution.
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Phase 5: Handle Response
|
|
207
|
+
|
|
208
|
+
**On "accept":**
|
|
209
|
+
|
|
210
|
+
1. Update state:
|
|
211
|
+
```
|
|
212
|
+
goop_state({ action: "confirm-acceptance" })
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
2. Save to memory:
|
|
216
|
+
```
|
|
217
|
+
memory_save({
|
|
218
|
+
type: "decision",
|
|
219
|
+
title: "Accepted: [Feature]",
|
|
220
|
+
content: "User accepted [feature] with [N] must-haves verified",
|
|
221
|
+
importance: 0.8
|
|
222
|
+
})
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
3. Generate HANDOFF.md:
|
|
226
|
+
```markdown
|
|
227
|
+
# Session Handoff
|
|
228
|
+
|
|
229
|
+
**Phase:** accept
|
|
230
|
+
|
|
231
|
+
## Accomplished
|
|
232
|
+
- All must-haves verified
|
|
233
|
+
- Tests passing
|
|
234
|
+
- User accepted
|
|
235
|
+
|
|
236
|
+
## Next Session
|
|
237
|
+
Run: /goop-complete
|
|
238
|
+
|
|
239
|
+
## Context
|
|
240
|
+
Verification passed. Ready to archive.
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
4. Display completion and offer PR creation:
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
## 🔮 GoopSpec · Accepted
|
|
247
|
+
|
|
248
|
+
**Feature:** [Name]
|
|
249
|
+
**Status:** Accepted
|
|
250
|
+
**Verified:** [timestamp]
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
5. Offer to create Pull Request:
|
|
256
|
+
|
|
257
|
+
Use `question` tool:
|
|
258
|
+
- header: "Pull Request"
|
|
259
|
+
- question: "Work is complete and verified. Would you like to create a pull request?"
|
|
260
|
+
- options:
|
|
261
|
+
- "Create PR (Recommended)" — Create a well-formatted pull request
|
|
262
|
+
- "Skip PR" — Continue to milestone completion
|
|
263
|
+
- "Create draft PR" — Create as draft for further review
|
|
264
|
+
|
|
265
|
+
**On "Create PR" or "Create draft PR":**
|
|
266
|
+
|
|
267
|
+
Check branch status:
|
|
268
|
+
```bash
|
|
269
|
+
git branch --show-current
|
|
270
|
+
git log main..HEAD --oneline
|
|
271
|
+
git diff main...HEAD --stat
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Generate PR title and description following the git-workflow reference:
|
|
275
|
+
|
|
276
|
+
**PR Title:** `type(scope): Descriptive summary of the change`
|
|
277
|
+
|
|
278
|
+
**PR Description:**
|
|
279
|
+
```markdown
|
|
280
|
+
## Summary
|
|
281
|
+
|
|
282
|
+
[2-4 sentences explaining WHAT and WHY based on the feature.]
|
|
283
|
+
|
|
284
|
+
## Changes
|
|
285
|
+
|
|
286
|
+
[Bullet list from commits and CHRONICLE.md]
|
|
287
|
+
|
|
288
|
+
## Testing
|
|
289
|
+
|
|
290
|
+
[From verification report - tests passed, coverage, manual checks]
|
|
291
|
+
|
|
292
|
+
## Notes
|
|
293
|
+
|
|
294
|
+
[Any breaking changes, migration steps, or follow-up work]
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
**CRITICAL:** PR title and description must be universal - no GoopSpec terminology.
|
|
298
|
+
|
|
299
|
+
Create PR:
|
|
300
|
+
```bash
|
|
301
|
+
gh pr create --title "type(scope): Title" --body "..." [--draft]
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
Display PR URL to user.
|
|
305
|
+
|
|
306
|
+
6. Display next steps:
|
|
307
|
+
```
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
### Next Step
|
|
311
|
+
|
|
312
|
+
**Complete the milestone** — Archive and extract learnings
|
|
313
|
+
|
|
314
|
+
→ `/goop-complete`
|
|
315
|
+
|
|
316
|
+
Start a new session for clean archive.
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
**On "issues":**
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
What issues did you find?
|
|
325
|
+
|
|
326
|
+
[Use question tool or text input]
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
Then:
|
|
330
|
+
1. Log issues in CHRONICLE.md
|
|
331
|
+
2. Return to execution phase
|
|
332
|
+
3. Suggest `/goop-execute` to fix
|
|
333
|
+
|
|
334
|
+
**On "accept-with-issues":**
|
|
335
|
+
|
|
336
|
+
1. Log that acceptance was with known issues
|
|
337
|
+
2. Document issues in CHRONICLE.md
|
|
338
|
+
3. Proceed to acceptance
|
|
339
|
+
|
|
340
|
+
```
|
|
341
|
+
## 🔮 GoopSpec · Accepted With Issues
|
|
342
|
+
|
|
343
|
+
**Known Issues:**
|
|
344
|
+
- [Issue 1]
|
|
345
|
+
- [Issue 2]
|
|
346
|
+
|
|
347
|
+
These will be documented in the retrospective.
|
|
348
|
+
|
|
349
|
+
→ Next: `/goop-complete`
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## Examples
|
|
355
|
+
|
|
356
|
+
### Successful Acceptance
|
|
357
|
+
```
|
|
358
|
+
User: /goop-accept
|
|
359
|
+
|
|
360
|
+
Orchestrator:
|
|
361
|
+
## 🔮 GoopSpec · Verification Report
|
|
362
|
+
|
|
363
|
+
| Must-Have | Status | Evidence |
|
|
364
|
+
|-----------|--------|----------|
|
|
365
|
+
| MH1: Toggle UI | PASS | Tests: 3/3 |
|
|
366
|
+
| MH2: Theme switch | PASS | Tests: 5/5 |
|
|
367
|
+
| MH3: Persist pref | PASS | Tests: 2/2 |
|
|
368
|
+
|
|
369
|
+
### Overall: PASSED
|
|
370
|
+
|
|
371
|
+
Type "accept" to complete.
|
|
372
|
+
|
|
373
|
+
User: accept
|
|
374
|
+
|
|
375
|
+
Orchestrator:
|
|
376
|
+
## 🔮 GoopSpec · Accepted
|
|
377
|
+
|
|
378
|
+
→ Next: `/goop-complete`
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
### Verification Failed
|
|
382
|
+
```
|
|
383
|
+
User: /goop-accept
|
|
384
|
+
|
|
385
|
+
Orchestrator:
|
|
386
|
+
## 🔮 GoopSpec · Verification Failed
|
|
387
|
+
|
|
388
|
+
**Failures:**
|
|
389
|
+
| MH2 | Test failing | edge case in theme switch |
|
|
390
|
+
|
|
391
|
+
**Options:**
|
|
392
|
+
1. Fix issues → /goop-execute
|
|
393
|
+
2. Accept anyway → "accept-with-issues"
|
|
394
|
+
|
|
395
|
+
User: Let's fix it
|
|
396
|
+
|
|
397
|
+
Orchestrator: Run `/goop-execute` to continue.
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
---
|
|
401
|
+
|
|
402
|
+
*Acceptance Process v0.1.6*
|