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/commands/goop-setup.md
CHANGED
|
@@ -3,307 +3,64 @@ name: goop-setup
|
|
|
3
3
|
description: GoopSpec setup wizard - first-time init, configuration, and verification
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# /goop-setup
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
**GoopSpec setup wizard.** First-time init, configuration, and verification.
|
|
9
9
|
|
|
10
|
-
##
|
|
11
|
-
|
|
12
|
-
| Action | Purpose | When to Use |
|
|
13
|
-
|--------|---------|-------------|
|
|
14
|
-
| `init` | Full first-time initialization | New projects, creates all directories and files |
|
|
15
|
-
| `detect` | Show current environment | Understand what's already configured |
|
|
16
|
-
| `plan` | Preview changes | Before applying, see what will change |
|
|
17
|
-
| `apply` | Write configuration | Apply configuration changes |
|
|
18
|
-
| `verify` | Check setup health | Ensure everything is working |
|
|
19
|
-
| `reset` | Reset to defaults | Start over or fix broken config |
|
|
20
|
-
| `models` | Show model suggestions | Help choosing agent models |
|
|
21
|
-
| `status` | Show current config | Quick overview of current state |
|
|
22
|
-
|
|
23
|
-
## Tools Used
|
|
24
|
-
|
|
25
|
-
| Tool | Purpose in This Command |
|
|
26
|
-
|------|------------------------|
|
|
27
|
-
| `goop_setup` | Primary tool - all setup actions |
|
|
28
|
-
|
|
29
|
-
**Hook Support:** None specific - configuration tool.
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## First-Time Setup Flow
|
|
34
|
-
|
|
35
|
-
For users who haven't set up GoopSpec yet, use the `init` action.
|
|
36
|
-
|
|
37
|
-
### Step 1: Detect Current State
|
|
10
|
+
## Immediate Action
|
|
38
11
|
|
|
12
|
+
**STOP. Execute this tool call NOW before reading anything else:**
|
|
39
13
|
```
|
|
40
|
-
goop_setup(action: "detect")
|
|
14
|
+
goop_setup({ action: "detect" })
|
|
41
15
|
```
|
|
42
16
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
### Step 2: Ask for Project Name
|
|
46
|
-
|
|
47
|
-
Ask the user: "What's your project name?"
|
|
48
|
-
|
|
49
|
-
This will be stored in the configuration for context.
|
|
50
|
-
|
|
51
|
-
### Step 3: Configuration Scope
|
|
52
|
-
|
|
53
|
-
Ask: "Where should GoopSpec be configured?"
|
|
54
|
-
|
|
55
|
-
Use the question tool:
|
|
56
|
-
- **both** (Recommended) - Both global and project-specific settings
|
|
57
|
-
- **global** - Only system-wide settings
|
|
58
|
-
- **project** - Only this project
|
|
59
|
-
|
|
60
|
-
### Step 4: MCP Preset
|
|
61
|
-
|
|
62
|
-
Ask: "Which MCPs should be installed?"
|
|
63
|
-
|
|
64
|
-
- **recommended** - Context7 + Exa + Playwright (full workflow support)
|
|
65
|
-
- **core** - Context7 + Exa only (minimal)
|
|
66
|
-
- **none** - Skip MCP installation
|
|
67
|
-
|
|
68
|
-
### Step 5: Memory System
|
|
69
|
-
|
|
70
|
-
Ask: "Would you like to enable the memory system?"
|
|
71
|
-
|
|
72
|
-
The memory system allows GoopSpec to remember decisions, patterns, and context across sessions.
|
|
73
|
-
|
|
74
|
-
If yes, ask about embedding provider:
|
|
75
|
-
- **local** (Recommended) - Uses local embeddings, no API needed
|
|
76
|
-
- **openai** - Uses OpenAI embeddings (requires API key)
|
|
77
|
-
- **ollama** - Uses local Ollama server
|
|
17
|
+
**Then follow the workflow below based on the result.** Do not process user messages until you have run detection.
|
|
78
18
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
Ask: "Would you like to configure models for each agent?"
|
|
82
|
-
|
|
83
|
-
- **Quick setup** - Use recommended defaults
|
|
84
|
-
- **Custom setup** - Choose models individually
|
|
19
|
+
---
|
|
85
20
|
|
|
86
|
-
|
|
21
|
+
## Workflow
|
|
87
22
|
|
|
88
|
-
###
|
|
23
|
+
### If .goopspec directory NOT found โ First-Time Setup
|
|
89
24
|
|
|
90
|
-
|
|
25
|
+
1. **Ask project name** using `question` tool (allow custom input)
|
|
26
|
+
2. **Ask scope** โ "Both (Recommended)", "Project only", or "Global only"
|
|
27
|
+
3. **Ask MCP preset** โ "Recommended", "Core", or "None"
|
|
28
|
+
4. **Ask memory** โ "Yes, local embeddings (Recommended)", "Yes, OpenAI", "Yes, Ollama", or "No"
|
|
29
|
+
5. **Ask models** โ "Use defaults (Recommended)" or "Custom configuration"
|
|
91
30
|
|
|
31
|
+
Then apply:
|
|
92
32
|
```
|
|
93
33
|
goop_setup(
|
|
94
34
|
action: "init",
|
|
95
|
-
scope: "<
|
|
96
|
-
projectName: "<
|
|
97
|
-
mcpPreset: "<
|
|
98
|
-
memoryEnabled: true
|
|
99
|
-
memoryProvider: "local"
|
|
100
|
-
agentModels: { ... }
|
|
35
|
+
scope: "<from step 2: both/project/global>",
|
|
36
|
+
projectName: "<from step 1>",
|
|
37
|
+
mcpPreset: "<from step 3: recommended/core/none>",
|
|
38
|
+
memoryEnabled: <from step 4: true/false>,
|
|
39
|
+
memoryProvider: "<from step 4: local/openai/ollama>"
|
|
101
40
|
)
|
|
102
41
|
```
|
|
103
42
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
After init completes, verify everything is working:
|
|
107
|
-
|
|
108
|
-
```
|
|
109
|
-
goop_setup(action: "verify")
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
Report any issues and suggest fixes.
|
|
113
|
-
|
|
114
|
-
## Modifying Existing Setup
|
|
115
|
-
|
|
116
|
-
For users who already have GoopSpec configured:
|
|
117
|
-
|
|
118
|
-
### Check Current Status
|
|
119
|
-
|
|
120
|
-
```
|
|
121
|
-
goop_setup(action: "status")
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Shows what's currently configured.
|
|
125
|
-
|
|
126
|
-
### Update Configuration
|
|
127
|
-
|
|
128
|
-
```
|
|
129
|
-
goop_setup(
|
|
130
|
-
action: "apply",
|
|
131
|
-
scope: "project",
|
|
132
|
-
// Only include what you want to change
|
|
133
|
-
memoryEnabled: true,
|
|
134
|
-
agentModels: {
|
|
135
|
-
"goop-executor": "anthropic/claude-sonnet-4-5"
|
|
136
|
-
}
|
|
137
|
-
)
|
|
138
|
-
```
|
|
43
|
+
Finally verify: `goop_setup(action: "verify")`
|
|
139
44
|
|
|
140
|
-
###
|
|
45
|
+
### If .goopspec directory FOUND โ Ask what to do
|
|
141
46
|
|
|
142
|
-
|
|
47
|
+
Use `question` tool:
|
|
48
|
+
- **Header:** "Existing Setup"
|
|
49
|
+
- **Question:** "GoopSpec is already configured. What would you like to do?"
|
|
50
|
+
- **Options:**
|
|
51
|
+
- "Verify setup" โ Run `goop_setup(action: "verify")`
|
|
52
|
+
- "Modify configuration" โ Ask what to change, then `goop_setup(action: "apply", ...)`
|
|
53
|
+
- "Reset and start fresh" โ `goop_setup(action: "reset", scope: "project", preserveData: true, confirmed: true)` then do First-Time Setup
|
|
54
|
+
- "View current status" โ Run `goop_setup(action: "status")`
|
|
143
55
|
|
|
144
|
-
|
|
145
|
-
goop_setup(
|
|
146
|
-
action: "reset",
|
|
147
|
-
scope: "project",
|
|
148
|
-
preserveData: true, // Keep memories, history, checkpoints
|
|
149
|
-
confirmed: true
|
|
150
|
-
)
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
## Agent Model Options
|
|
154
|
-
|
|
155
|
-
### goop-debugger
|
|
156
|
-
*Systematic debugging with hypothesis testing*
|
|
157
|
-
1. openai/gpt-5.2-codex
|
|
158
|
-
2. anthropic/claude-opus-4-5
|
|
159
|
-
3. kimi-for-coding/k2p5
|
|
160
|
-
|
|
161
|
-
### goop-designer
|
|
162
|
-
*Visual design planning and UI/UX reasoning*
|
|
163
|
-
1. anthropic/claude-opus-4-5
|
|
164
|
-
2. kimi-for-coding/k2p5
|
|
165
|
-
3. google/antigravity-gemini-3-pro-high
|
|
166
|
-
|
|
167
|
-
### goop-executor
|
|
168
|
-
*Task execution with checkpoints and verification*
|
|
169
|
-
1. openai/gpt-5.2-codex
|
|
170
|
-
2. anthropic/claude-opus-4-5
|
|
171
|
-
3. anthropic/claude-sonnet-4-5
|
|
172
|
-
4. kimi-for-coding/k2p5
|
|
173
|
-
5. google/antigravity-gemini-3-pro-high
|
|
174
|
-
6. opencode/glm-4.7-free
|
|
175
|
-
|
|
176
|
-
### goop-explorer
|
|
177
|
-
*Fast codebase exploration and pattern extraction*
|
|
178
|
-
1. google/antigravity-gemini-3-flash
|
|
179
|
-
2. anthropic/claude-haiku-4-5
|
|
180
|
-
3. opencode/minimax-m2.1-free
|
|
181
|
-
|
|
182
|
-
### goop-librarian
|
|
183
|
-
*Codebase search and documentation retrieval*
|
|
184
|
-
1. openai/gpt-5.2
|
|
185
|
-
2. google/antigravity-gemini-3-flash
|
|
186
|
-
3. anthropic/claude-sonnet-4-5
|
|
187
|
-
|
|
188
|
-
### goop-orchestrator
|
|
189
|
-
*Primary orchestrator - spec clarity and wave execution*
|
|
190
|
-
1. anthropic/claude-opus-4-5
|
|
191
|
-
2. openai/gpt-5.2-codex
|
|
192
|
-
3. kimi-for-coding/k2p5
|
|
193
|
-
4. anthropic/claude-sonnet-4-5
|
|
194
|
-
|
|
195
|
-
### goop-planner
|
|
196
|
-
*Detailed execution plans with architectural precision*
|
|
197
|
-
1. anthropic/claude-opus-4-5
|
|
198
|
-
2. openai/gpt-5.2-codex
|
|
199
|
-
3. kimi-for-coding/k2p5
|
|
200
|
-
4. anthropic/claude-sonnet-4-5
|
|
201
|
-
|
|
202
|
-
### goop-researcher
|
|
203
|
-
*Comprehensive ecosystem research*
|
|
204
|
-
1. openai/gpt-5.2
|
|
205
|
-
2. anthropic/claude-sonnet-4-5
|
|
206
|
-
3. kimi-for-coding/k2p5
|
|
207
|
-
4. opencode/glm-4.7-free
|
|
208
|
-
|
|
209
|
-
### goop-tester
|
|
210
|
-
*Web frontend testing with Playwright*
|
|
211
|
-
1. kimi-for-coding/k2p5
|
|
212
|
-
2. anthropic/claude-sonnet-4-5
|
|
213
|
-
3. google/antigravity-gemini-3-flash
|
|
214
|
-
|
|
215
|
-
### goop-verifier
|
|
216
|
-
*Post-execution verification with security focus*
|
|
217
|
-
1. openai/gpt-5.2-codex
|
|
218
|
-
2. anthropic/claude-opus-4-5
|
|
219
|
-
|
|
220
|
-
### goop-writer
|
|
221
|
-
*Comprehensive documentation generation*
|
|
222
|
-
1. google/antigravity-gemini-3-pro-high
|
|
223
|
-
2. kimi-for-coding/k2p5
|
|
224
|
-
3. anthropic/claude-sonnet-4-5
|
|
225
|
-
|
|
226
|
-
## Memory System Configuration
|
|
227
|
-
|
|
228
|
-
The memory system allows GoopSpec to:
|
|
229
|
-
- Remember decisions and their reasoning
|
|
230
|
-
- Recall patterns from past work
|
|
231
|
-
- Build context across sessions
|
|
232
|
-
|
|
233
|
-
### Configuration Options
|
|
234
|
-
|
|
235
|
-
| Option | Type | Default | Description |
|
|
236
|
-
|--------|------|---------|-------------|
|
|
237
|
-
| `memoryEnabled` | boolean | true | Enable/disable memory |
|
|
238
|
-
| `memoryProvider` | string | "local" | Embedding provider |
|
|
239
|
-
| `memoryWorkerPort` | number | 37777 | Worker process port |
|
|
240
|
-
|
|
241
|
-
### Embedding Providers
|
|
242
|
-
|
|
243
|
-
- **local** - Uses `Xenova/all-MiniLM-L6-v2`, runs locally, free
|
|
244
|
-
- **openai** - Uses OpenAI's embedding API, requires API key
|
|
245
|
-
- **ollama** - Uses local Ollama server
|
|
246
|
-
|
|
247
|
-
## Troubleshooting
|
|
248
|
-
|
|
249
|
-
### "Memory worker not responding"
|
|
250
|
-
|
|
251
|
-
1. Check if port 37777 is in use: `lsof -i :37777`
|
|
252
|
-
2. Try a different port: `memoryWorkerPort: 37778`
|
|
253
|
-
3. Check memory directory exists: `.goopspec/memory/`
|
|
254
|
-
|
|
255
|
-
### "Configuration not loading"
|
|
256
|
-
|
|
257
|
-
1. Run `goop_setup(action: "verify")` to diagnose
|
|
258
|
-
2. Check for JSON syntax errors in config files
|
|
259
|
-
3. Try `goop_setup(action: "reset", scope: "project", confirmed: true)`
|
|
260
|
-
|
|
261
|
-
### "MCPs not installing"
|
|
262
|
-
|
|
263
|
-
MCPs require OpenCode configuration. Check:
|
|
264
|
-
1. OpenCode is installed and configured
|
|
265
|
-
2. You have write permissions to ~/.config/opencode/
|
|
266
|
-
|
|
267
|
-
## Tips
|
|
268
|
-
|
|
269
|
-
1. **Start with detect** - Always check what's already configured
|
|
270
|
-
2. **Use verify after changes** - Ensures everything works
|
|
271
|
-
3. **Preserve data on reset** - Don't lose memories unless needed
|
|
272
|
-
4. **Quick setup is fine** - Model defaults work well for most users
|
|
273
|
-
5. **Local memory is best** - No API costs, runs offline
|
|
274
|
-
|
|
275
|
-
## Complete Example
|
|
276
|
-
|
|
277
|
-
First-time setup:
|
|
56
|
+
---
|
|
278
57
|
|
|
279
|
-
|
|
280
|
-
// 1. Check current state
|
|
281
|
-
goop_setup(action: "detect")
|
|
58
|
+
## Completion
|
|
282
59
|
|
|
283
|
-
|
|
284
|
-
goop_setup(
|
|
285
|
-
action: "init",
|
|
286
|
-
scope: "both",
|
|
287
|
-
projectName: "my-project",
|
|
288
|
-
mcpPreset: "recommended",
|
|
289
|
-
memoryEnabled: true,
|
|
290
|
-
memoryProvider: "local",
|
|
291
|
-
enableOrchestrator: true
|
|
292
|
-
)
|
|
60
|
+
After setup completes, show:
|
|
293
61
|
|
|
294
|
-
// 3. Verify
|
|
295
|
-
goop_setup(action: "verify")
|
|
296
62
|
```
|
|
63
|
+
## GoopSpec Setup Complete
|
|
297
64
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
```
|
|
301
|
-
// Update just the executor model
|
|
302
|
-
goop_setup(
|
|
303
|
-
action: "apply",
|
|
304
|
-
scope: "project",
|
|
305
|
-
agentModels: {
|
|
306
|
-
"goop-executor": "anthropic/claude-opus-4-5"
|
|
307
|
-
}
|
|
308
|
-
)
|
|
65
|
+
Next: Run `/goop-discuss` to start your first feature.
|
|
309
66
|
```
|
package/commands/goop-specify.md
CHANGED
|
@@ -16,217 +16,43 @@ alternatives:
|
|
|
16
16
|
|
|
17
17
|
**Lock the specification.** Create a binding contract between user and agent.
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## Immediate Action
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
/goop-specify
|
|
21
|
+
**STOP. Execute this tool call NOW before reading anything else:**
|
|
23
22
|
```
|
|
24
|
-
|
|
25
|
-
## Gate Requirement
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
+================================================================+
|
|
29
|
-
| SPEC GATE: Planning must be complete before locking. |
|
|
30
|
-
| SPEC.md and BLUEPRINT.md must exist with full traceability. |
|
|
31
|
-
+================================================================+
|
|
23
|
+
goop_reference({ name: "specify-process" })
|
|
32
24
|
```
|
|
33
25
|
|
|
34
|
-
**
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
- Traceability matrix shows 100% coverage
|
|
26
|
+
**Then follow the process from that reference.** Do not process user messages until you have loaded and understood the protocol.
|
|
27
|
+
|
|
28
|
+
## Quick Summary
|
|
38
29
|
|
|
39
|
-
**
|
|
30
|
+
**Gate:** SPEC.md and BLUEPRINT.md must exist with 100% traceability.
|
|
40
31
|
|
|
41
|
-
|
|
32
|
+
### Tools Used
|
|
42
33
|
|
|
43
|
-
| Tool | Purpose
|
|
44
|
-
|
|
34
|
+
| Tool | Purpose |
|
|
35
|
+
|------|---------|
|
|
45
36
|
| `goop_status` | Check current phase and readiness |
|
|
46
|
-
| `goop_state` | **Lock the specification**
|
|
37
|
+
| `goop_state` | **Lock the specification** (NEVER edit state.json directly) |
|
|
47
38
|
| `goop_spec` | Validate spec structure |
|
|
48
39
|
| `memory_search` | Find relevant prior context |
|
|
49
40
|
| `goop_adl` | Log the spec lock decision |
|
|
41
|
+
| `goop_reference` | Load detailed process |
|
|
50
42
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## Process
|
|
56
|
-
|
|
57
|
-
### Phase 1: Gate Check
|
|
58
|
-
|
|
59
|
-
**Execute BEFORE anything else:**
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
goop_status()
|
|
63
|
-
Read(".goopspec/SPEC.md")
|
|
64
|
-
Read(".goopspec/BLUEPRINT.md")
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
**1.1 Check documents exist:**
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
IF .goopspec/SPEC.md does not exist:
|
|
71
|
-
REFUSE with:
|
|
72
|
-
|
|
73
|
-
## ๐ฎ GoopSpec ยท Gate Blocked
|
|
74
|
-
|
|
75
|
-
โ No specification found.
|
|
76
|
-
|
|
77
|
-
โ Run: `/goop-plan`
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
**1.2 Check traceability:**
|
|
83
|
-
|
|
84
|
-
```
|
|
85
|
-
IF traceability matrix shows < 100%:
|
|
86
|
-
REFUSE with:
|
|
87
|
-
|
|
88
|
-
## ๐ฎ GoopSpec ยท Traceability Incomplete
|
|
89
|
-
|
|
90
|
-
โ Not all must-haves have mapped tasks.
|
|
91
|
-
|
|
92
|
-
โ Update BLUEPRINT.md or re-run `/goop-plan`
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### Phase 2: Present Contract
|
|
98
|
-
|
|
99
|
-
**Display the contract for confirmation:**
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
## ๐ฎ GoopSpec ยท Contract Gate
|
|
103
|
-
|
|
104
|
-
๐ Review and confirm the specification
|
|
105
|
-
|
|
106
|
-
### SPECIFICATION: [Name]
|
|
43
|
+
### Process Overview
|
|
107
44
|
|
|
108
|
-
|
|
45
|
+
1. **Gate Check** โ Verify SPEC.md, BLUEPRINT.md, 100% traceability
|
|
46
|
+
2. **Present Contract** โ Show must-haves, out-of-scope, execution plan
|
|
47
|
+
3. **Handle Response** โ "confirm" locks, "amend" modifies, "cancel" returns
|
|
109
48
|
|
|
110
|
-
|
|
111
|
-
|----|-------------|------------|
|
|
112
|
-
| MH1 | [Title] | Wave X, Tasks Y |
|
|
113
|
-
| MH2 | [Title] | Wave X, Tasks Y |
|
|
49
|
+
### Confirmation Keywords
|
|
114
50
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
#### Execution Plan
|
|
121
|
-
|
|
122
|
-
| Wave | Focus | Tasks |
|
|
123
|
-
|------|-------|-------|
|
|
124
|
-
| 1 | [Name] | [N] |
|
|
125
|
-
| 2 | [Name] | [M] |
|
|
126
|
-
|
|
127
|
-
โ Traceability: 100%
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
โ ๏ธ **Action Required:**
|
|
132
|
-
- Type **"confirm"** to lock the specification
|
|
133
|
-
- Type **"amend"** to modify requirements
|
|
134
|
-
- Type **"cancel"** to return to planning
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### Phase 3: Handle Response
|
|
138
|
-
|
|
139
|
-
**On "confirm":**
|
|
140
|
-
|
|
141
|
-
1. Lock the spec using goop_state:
|
|
142
|
-
```
|
|
143
|
-
goop_state({ action: "lock-spec" })
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
This atomically updates the workflow state. **NEVER edit state.json directly.**
|
|
147
|
-
|
|
148
|
-
2. Update SPEC.md:
|
|
149
|
-
```markdown
|
|
150
|
-
**Status:** Locked
|
|
151
|
-
**Locked At:** [timestamp]
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
3. Save to memory:
|
|
155
|
-
```
|
|
156
|
-
memory_decision({
|
|
157
|
-
decision: "Spec locked for [feature]",
|
|
158
|
-
reasoning: "User confirmed requirements after review",
|
|
159
|
-
impact: "high"
|
|
160
|
-
})
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
4. Generate HANDOFF.md:
|
|
164
|
-
```
|
|
165
|
-
# Session Handoff
|
|
166
|
-
|
|
167
|
-
**Phase:** specify
|
|
168
|
-
|
|
169
|
-
## Accomplished
|
|
170
|
-
- Spec locked with [N] must-haves
|
|
171
|
-
- Traceability verified at 100%
|
|
172
|
-
|
|
173
|
-
## Next Session
|
|
174
|
-
Run: /goop-execute
|
|
175
|
-
|
|
176
|
-
## Context
|
|
177
|
-
Specification locked. Ready for execution.
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
5. Display completion:
|
|
181
|
-
```
|
|
182
|
-
## ๐ฎ GoopSpec ยท Specification Locked
|
|
183
|
-
|
|
184
|
-
๐ The spec is now a binding contract
|
|
185
|
-
|
|
186
|
-
| Status | Value |
|
|
187
|
-
|--------|-------|
|
|
188
|
-
| Locked | โ Yes |
|
|
189
|
-
| Must-Haves | [N] |
|
|
190
|
-
| Waves | [M] |
|
|
191
|
-
| Tasks | [P] |
|
|
192
|
-
|
|
193
|
-
Changes now require `/goop-amend` with impact analysis.
|
|
194
|
-
|
|
195
|
-
### Next Step
|
|
196
|
-
|
|
197
|
-
**Begin execution** โ Implement the blueprint
|
|
198
|
-
|
|
199
|
-
โ `/goop-execute`
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
Start a **new session** for fresh context, then run the command.
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
**On "amend":**
|
|
207
|
-
|
|
208
|
-
```
|
|
209
|
-
## ๐ฎ GoopSpec ยท Amendment Mode
|
|
210
|
-
|
|
211
|
-
What would you like to change?
|
|
212
|
-
|
|
213
|
-
1. Add a must-have
|
|
214
|
-
2. Remove a must-have
|
|
215
|
-
3. Modify acceptance criteria
|
|
216
|
-
4. Change out of scope
|
|
217
|
-
5. Cancel
|
|
218
|
-
|
|
219
|
-
---
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
Use `question` tool to get choice, then process amendment.
|
|
223
|
-
|
|
224
|
-
**On "cancel":**
|
|
225
|
-
|
|
226
|
-
```
|
|
227
|
-
Specification not locked. Returning to planning.
|
|
228
|
-
Run `/goop-plan` to modify or `/goop-discuss` to restart discovery.
|
|
229
|
-
```
|
|
51
|
+
| Keyword | Action |
|
|
52
|
+
|---------|--------|
|
|
53
|
+
| `confirm` | Lock specification, proceed to /goop-execute |
|
|
54
|
+
| `amend` | Enter amendment mode |
|
|
55
|
+
| `cancel` | Return to planning |
|
|
230
56
|
|
|
231
57
|
## Output
|
|
232
58
|
|
|
@@ -236,110 +62,19 @@ Run `/goop-plan` to modify or `/goop-discuss` to restart discovery.
|
|
|
236
62
|
| State (via goop_state) | `specLocked: true` |
|
|
237
63
|
| `.goopspec/HANDOFF.md` | Session handoff generated |
|
|
238
64
|
|
|
239
|
-
## Transitions
|
|
240
|
-
|
|
241
|
-
| Outcome | Next Step |
|
|
242
|
-
|---------|-----------|
|
|
243
|
-
| Spec locked | `/goop-execute` to begin implementation |
|
|
244
|
-
| Amendments requested | Process changes, re-present contract |
|
|
245
|
-
| Cancelled | `/goop-plan` to modify planning |
|
|
246
|
-
|
|
247
|
-
## Amendment Protocol (After Lock)
|
|
248
|
-
|
|
249
|
-
Once locked, changes require formal amendment:
|
|
250
|
-
|
|
251
|
-
1. **Propose change:** User describes modification
|
|
252
|
-
2. **Impact analysis:** Orchestrator assesses affected tasks
|
|
253
|
-
3. **Blueprint update:** Modify BLUEPRINT.md if needed
|
|
254
|
-
4. **Re-confirm:** User confirms amended spec
|
|
255
|
-
5. **Log amendment:** Add to SPEC.md amendment history
|
|
256
|
-
|
|
257
|
-
```markdown
|
|
258
|
-
## Amendment History
|
|
259
|
-
|
|
260
|
-
| Version | Date | Change | Impact | Approved |
|
|
261
|
-
|---------|------|--------|--------|----------|
|
|
262
|
-
| 1.1 | [date] | Added MH3 | +1 task | User |
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
## Examples
|
|
266
|
-
|
|
267
|
-
**Successful Lock:**
|
|
268
|
-
```
|
|
269
|
-
User: /goop-specify
|
|
270
|
-
|
|
271
|
-
Orchestrator:
|
|
272
|
-
+--------------------------------------------------------+
|
|
273
|
-
| GOOPSPEC > CONTRACT GATE |
|
|
274
|
-
+--------------------------------------------------------+
|
|
275
|
-
|
|
276
|
-
## SPECIFICATION: Dark Mode Toggle
|
|
277
|
-
|
|
278
|
-
### Must-Haves
|
|
279
|
-
| ID | Requirement | Covered By |
|
|
280
|
-
|----|-------------|------------|
|
|
281
|
-
| MH1 | Toggle UI | W1.T1 |
|
|
282
|
-
| MH2 | Theme switch | W1.T2, W2.T1 |
|
|
283
|
-
| MH3 | Persist preference | W2.T2 |
|
|
284
|
-
|
|
285
|
-
### Out of Scope
|
|
286
|
-
- Multiple themes (beyond light/dark)
|
|
287
|
-
- Per-component theming
|
|
288
|
-
|
|
289
|
-
### Traceability: 100%
|
|
290
|
-
|
|
291
|
-
Type "confirm" to lock.
|
|
292
|
-
|
|
293
|
-
User: confirm
|
|
294
|
-
|
|
295
|
-
Orchestrator:
|
|
296
|
-
+--------------------------------------------------------+
|
|
297
|
-
| GOOPSPEC > SPECIFICATION LOCKED |
|
|
298
|
-
+--------------------------------------------------------+
|
|
299
|
-
|
|
300
|
-
## > Next Step
|
|
301
|
-
`/goop-execute`
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
**Gate Blocked:**
|
|
305
|
-
```
|
|
306
|
-
User: /goop-specify
|
|
307
|
-
|
|
308
|
-
Orchestrator:
|
|
309
|
-
+--------------------------------------------------------+
|
|
310
|
-
| GOOPSPEC > GATE BLOCKED |
|
|
311
|
-
+--------------------------------------------------------+
|
|
312
|
-
| No specification found. |
|
|
313
|
-
| Run: /goop-plan |
|
|
314
|
-
+--------------------------------------------------------+
|
|
315
|
-
```
|
|
316
|
-
|
|
317
65
|
## Success Criteria
|
|
318
66
|
|
|
319
67
|
- [ ] Gate check performed (SPEC.md + BLUEPRINT.md exist)
|
|
320
68
|
- [ ] Traceability verified at 100%
|
|
321
|
-
- [ ] Contract presented
|
|
69
|
+
- [ ] Contract presented with must-haves and out-of-scope
|
|
322
70
|
- [ ] User explicitly confirmed with "confirm"
|
|
323
71
|
- [ ] State updated via `goop_state({ action: "lock-spec" })`
|
|
324
|
-
- [ ] SPEC.md updated with Locked status
|
|
325
|
-
- [ ] HANDOFF.md generated
|
|
326
|
-
- [ ] User knows next step is `/goop-execute`
|
|
327
72
|
|
|
328
73
|
## Anti-Patterns
|
|
329
74
|
|
|
330
|
-
**DON'T:**
|
|
331
|
-
|
|
332
|
-
- Lock without user confirmation
|
|
333
|
-
- Proceed with incomplete traceability
|
|
334
|
-
- Skip handoff generation
|
|
335
|
-
|
|
336
|
-
**DO:**
|
|
337
|
-
- Verify 100% traceability before presenting
|
|
338
|
-
- Require explicit "confirm" keyword
|
|
339
|
-
- Log the lock to memory
|
|
340
|
-
- Generate clear handoff
|
|
75
|
+
**DON'T:** Skip gate check, lock without confirmation, proceed with incomplete traceability
|
|
76
|
+
**DO:** Verify 100% traceability, require explicit "confirm", log to memory
|
|
341
77
|
|
|
342
78
|
---
|
|
343
79
|
|
|
344
|
-
*
|
|
345
|
-
*"The spec is a contract. Lock it before you build."*
|
|
80
|
+
*Load `goop_reference({ name: "specify-process" })` for full process details.*
|