opencode-goopspec 0.1.2 → 0.1.3

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 CHANGED
@@ -1,4 +1,4 @@
1
- # GoopSpec v0.1.2
1
+ # GoopSpec v0.1.3
2
2
 
3
3
  <div align="center">
4
4
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  *The Orchestrator that turns vague ideas into shipped software*
8
8
 
9
- [![Version](https://img.shields.io/badge/version-0.1.2-blue.svg)](https://github.com/hffmnnj/opencode-goopspec)
9
+ [![Version](https://img.shields.io/badge/version-0.1.3-blue.svg)](https://github.com/hffmnnj/opencode-goopspec)
10
10
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue.svg)](https://www.typescriptlang.org/)
11
11
  [![Tests](https://img.shields.io/badge/tests-936%20passing-green.svg)](./TEST-SUMMARY.md)
12
12
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](./LICENSE)
@@ -21,73 +21,75 @@ GoopSpec is a plugin for [OpenCode](https://opencode.ai) that transforms how you
21
21
 
22
22
  **The Problem:** AI assistants are powerful but unpredictable. They start coding before understanding requirements, miss edge cases, forget context, and deliver work that doesn't match what you actually wanted.
23
23
 
24
- **The Solution:** GoopSpec introduces **contracts**, **phases**, and **verification gates** that ensure the AI understands what you want before it writes a single line of code.
24
+ **The Solution:** GoopSpec introduces **interactive questioning**, **contracts**, and **verification gates** that ensure the AI understands what you want before it writes a single line of code.
25
25
 
26
26
  ```
27
- Your Idea → Plan → Research → Specify (CONTRACT) → Execute → Accept (VERIFY)
27
+ Your Idea → Interactive Plan → Research (Opt-in) → Specify → Execute → Accept
28
28
  ```
29
29
 
30
30
  ---
31
31
 
32
32
  ## Core Philosophy
33
33
 
34
+ ### "Ask, Don't Assume"
35
+ GoopSpec is interactive by default. It interviews you to uncover hidden requirements and ambiguities. If something is unclear, it asks clarifying questions rather than guessing.
36
+
34
37
  ### "Spec as Contract"
35
38
  The specification is a binding agreement. Once locked, both you and the AI know exactly what will be delivered. No scope creep. No surprises.
36
39
 
37
- ### "Orchestrator as Conductor"
38
- The GoopSpec Orchestrator never writes code itself. It coordinates specialized sub-agents, maintains clean context, and ensures quality. Like a conductor leading an orchestra - directing, not playing.
39
-
40
40
  ### "Memory-First"
41
41
  Every agent searches memory before starting work, saves decisions during work, and persists learnings after. GoopSpec gets smarter with every project you complete.
42
42
 
43
+ ### "Unified Experience"
44
+ A consistent, rich terminal UI (powered by Clack) keeps you informed with clear status indicators, spinners for long tasks, and human-friendly prompts.
45
+
43
46
  ### "Scale to the Task"
44
- Quick bug fix? Use Quick Mode. Major feature? Use Standard Mode. Full system overhaul? Use Comprehensive Mode. GoopSpec adapts to your task size.
47
+ Quick bug fix? GoopSpec routes to a lightweight path. Major feature? Full 5-phase workflow. The system detects task complexity and adapts.
45
48
 
46
49
  ---
47
50
 
48
- ## The 5-Phase Workflow
51
+ ## The Workflow
49
52
 
50
53
  ```
51
- ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
52
- │ PLAN │ ──▶ │ RESEARCH │ ──▶ │ SPECIFY │
53
- │ (Intent) │ │ (Explore) │ │ (CONTRACT) │
54
- └─────────────┘ └─────────────┘ └─────────────┘
55
-
56
- ┌──────────────────────────────────────┘
57
-
58
54
  ┌─────────────┐ ┌─────────────┐
59
- EXECUTE ──▶ACCEPT
60
- (Build) │ │ (VERIFY) │
55
+ PLAN ◀──▶ RESEARCH
56
+ (Interview) │ │ (Opt-in) │
61
57
  └─────────────┘ └─────────────┘
58
+
59
+
60
+ ┌─────────────┐ ┌─────────────┐
61
+ │ SPECIFY │ ──▶ │ EXECUTE │ ──▶ │ ACCEPT │
62
+ │ (Contract) │ │ (Build) │ │ (Verify) │
63
+ └─────────────┘ └─────────────┘ └─────────────┘
62
64
  ```
63
65
 
64
- ### Phase 1: Plan
65
- Capture your intent. What do you want to build and why? GoopSpec asks clarifying questions, identifies requirements, and ensures nothing is ambiguous before moving forward.
66
+ ### Phase 1: Plan (Interactive)
67
+ Capture your intent. GoopSpec acts as a product manager, conducting an interview to:
68
+ - Clarify ambiguous requirements
69
+ - Identify edge cases
70
+ - Suggest technical approaches
71
+ - confirm the "Definition of Done"
66
72
 
67
- ### Phase 2: Research
68
- Multiple agents explore in parallel:
69
- - **Researcher** - Deep domain knowledge, technology options, best practices
70
- - **Explorer** - Existing codebase patterns, conventions, integration points
71
- - **Librarian** - Documentation, API references, code examples
73
+ ### Phase 2: Research (Opt-in)
74
+ Triggered only when needed or requested. Specialized agents explore:
75
+ - **Researcher** - Deep domain knowledge & options
76
+ - **Explorer** - Existing codebase patterns
77
+ - **Librarian** - Documentation & APIs
72
78
 
73
79
  ### Phase 3: Specify (CONTRACT GATE)
74
- Lock the specification. This is the contract between you and the AI:
75
- - **Must-Haves** - Non-negotiable requirements (guaranteed delivery)
76
- - **Nice-to-Haves** - Best effort if time permits
77
- - **Out of Scope** - Explicitly excluded items
78
-
79
- **You must confirm before execution begins.**
80
+ Lock the specification. This is the contract:
81
+ - **Must-Haves** - Non-negotiable requirements
82
+ - **Out of Scope** - Explicit exclusions
83
+ - **You must confirm before execution begins.**
80
84
 
81
85
  ### Phase 4: Execute
82
86
  Wave-based implementation with atomic commits:
83
87
  - Tasks grouped into sequential waves
84
- - Each task = one commit
85
- - Progress tracked in real-time
88
+ - Real-time progress tracking via Unified UI
86
89
  - Checkpoints for pausing/resuming
87
90
 
88
91
  ### Phase 5: Accept (ACCEPTANCE GATE)
89
92
  Verify the implementation:
90
- - All must-haves checked against spec
91
93
  - Automated tests run
92
94
  - Security audit performed
93
95
  - **You must confirm completion**
@@ -207,20 +207,98 @@ task({
207
207
  - ❌ `goop_delegate` without following up with `task` (it only composes prompts)
208
208
  - ❌ Direct code writing (you're the Conductor, not a player)
209
209
 
210
+ ## Proactive Delegation Triggers (AUTO-DISPATCH)
211
+
212
+ **You MUST delegate automatically when these patterns are detected.** Do NOT wait for the user to ask. Act on recognition.
213
+
214
+ ### Immediate Dispatch Triggers
215
+
216
+ | Pattern Detected | Auto-Action | Agent |
217
+ |-----------------|-------------|-------|
218
+ | User says "implement", "create", "build", "add feature" | Spawn executor after gathering requirements | `goop-executor` |
219
+ | User says "find", "where is", "show me", "search" | Spawn explorer immediately | `goop-explorer` |
220
+ | User says "how does X work", "trace", "understand" | Spawn explorer or librarian | `goop-explorer` |
221
+ | User says "research", "compare", "evaluate options" | Spawn researcher immediately | `goop-researcher` |
222
+ | User says "fix bug", "debug", "not working" | Spawn debugger immediately | `goop-debugger` |
223
+ | User says "write tests", "add tests", "test coverage" | Spawn tester immediately | `goop-tester` |
224
+ | User says "document", "write docs", "README" | Spawn writer immediately | `goop-writer` |
225
+ | User shares code with error/issue | Spawn debugger to investigate | `goop-debugger` |
226
+ | Complex implementation task identified | Spawn planner first, then executor | `goop-planner` → `goop-executor` |
227
+
228
+ ### Phase-Based Auto-Dispatch
229
+
230
+ | Current Phase | Auto-Dispatch When |
231
+ |--------------|-------------------|
232
+ | **plan** | Requirements clear → spawn `goop-planner` to create SPEC.md and BLUEPRINT.md |
233
+ | **research** | Topic identified → spawn `goop-researcher` + `goop-explorer` in parallel |
234
+ | **execute** | Task assigned → spawn `goop-executor` for each BLUEPRINT task |
235
+ | **accept** | Verification needed → spawn `goop-verifier` to check against SPEC.md |
236
+
237
+ ### Parallel Dispatch Opportunities
238
+
239
+ Spawn multiple agents simultaneously when:
240
+ - **Research phase**: Explorer (codebase) + Researcher (docs) + Librarian (search)
241
+ - **Execution phase**: Multiple independent tasks in same wave
242
+ - **Verification**: Verifier (spec) + Tester (tests) simultaneously
243
+
244
+ ### Example: User Asks to Build a Feature
245
+
246
+ **User says:** "I want to add a dark mode toggle"
247
+
248
+ **Your response (in order):**
249
+ 1. Ask 2-3 clarifying questions (you do this directly)
250
+ 2. Once clear, spawn `goop-planner` to create SPEC.md and BLUEPRINT.md
251
+ 3. After documents created, offer to proceed to `/goop-specify`
252
+
253
+ **WRONG:** Asking if they want you to delegate, or waiting for them to say "go ahead"
254
+ **RIGHT:** Automatically spawning the planner once you have enough context
255
+
256
+ ### Example: User Asks How Something Works
257
+
258
+ **User says:** "How does the authentication flow work in this codebase?"
259
+
260
+ **Your response:**
261
+ 1. Immediately spawn `goop-explorer` to trace the auth flow
262
+ 2. Wait for response
263
+ 3. Synthesize and present findings
264
+
265
+ **WRONG:** Explaining you could spawn an agent, then asking if they want you to
266
+ **RIGHT:** Spawning immediately because "how does X work" = exploration task
267
+
268
+ ### The Golden Rule
269
+
270
+ ```
271
+ ╔════════════════════════════════════════════════════════════════╗
272
+ ║ When you RECOGNIZE a task type, DISPATCH immediately. ║
273
+ ║ Don't describe what you COULD do. DO it. ║
274
+ ║ The user asked for help, not a menu of options. ║
275
+ ╚════════════════════════════════════════════════════════════════╝
276
+ ```
277
+
210
278
  ## Workflow Phases
211
279
 
212
280
  ### Plan Phase
213
- 1. Capture user intent through conversation
214
- 2. Ask clarifying questions (use `question` tool)
215
- 3. Save intent to memory
216
- 4. Transition: "Ready for Research?"
281
+ **You conduct the interview directly. Only spawn agents for document creation.**
282
+
283
+ 1. Check for existing documents → offer archive if found
284
+ 2. Search memory for relevant context
285
+ 3. Ask clarifying questions directly (use `question` tool)
286
+ 4. Gather: goal, constraints, success criteria, scope
287
+ 5. **Once requirements clear** → spawn `goop-planner` to create SPEC.md + BLUEPRINT.md
288
+ 6. Present documents → suggest `/goop-specify`
217
289
 
218
290
  ### Research Phase
219
- 1. Spawn parallel research agents
220
- 2. Delegate to researcher, explorer, librarian
221
- 3. Consolidate into RESEARCH.md
222
- 4. Persist findings to memory
223
- 5. Transition: "Ready to lock the Spec?"
291
+ **Spawn agents immediately when research topic is identified.**
292
+
293
+ 1. Identify what needs researching
294
+ 2. Spawn parallel agents:
295
+ - `goop-researcher` for deep domain analysis
296
+ - `goop-explorer` for codebase patterns
297
+ - `goop-librarian` for documentation search
298
+ 3. Wait for all to return
299
+ 4. Consolidate findings into RESEARCH.md
300
+ 5. Persist key learnings to memory
301
+ 6. Suggest returning to `/goop-plan` with findings
224
302
 
225
303
  ### Specify Phase (CONTRACT GATE)
226
304
  1. Generate SPEC.md from gathered requirements
@@ -230,19 +308,27 @@ task({
230
308
  5. Log to memory: "Spec locked"
231
309
 
232
310
  ### Execute Phase
233
- 1. Generate BLUEPRINT.md with waves and tasks
234
- 2. Execute wave by wave
235
- 3. Delegate each task to appropriate agent
236
- 4. Track in CHRONICLE.md
237
- 5. Save at wave boundaries
238
- 6. Continue until all waves complete
311
+ **Auto-dispatch executors for each task. Don't wait for permission.**
312
+
313
+ 1. Read BLUEPRINT.md for wave structure
314
+ 2. For each wave:
315
+ - Spawn `goop-executor` for each task (parallel if independent)
316
+ - Wait for all tasks in wave to complete
317
+ - Update CHRONICLE.md with progress
318
+ - Save checkpoint at wave boundary
319
+ 3. On task failure: Apply deviation rules (Rule 1-3 auto-fix, Rule 4 ask user)
320
+ 4. Continue until all waves complete
321
+ 5. Auto-spawn `goop-verifier` when done
239
322
 
240
323
  ### Accept Phase (ACCEPTANCE GATE)
241
- 1. Verify all must-haves from SPEC.md
242
- 2. Run verification commands
243
- 3. Present results to user
244
- 4. **MUST GET USER APPROVAL**
245
- 5. Archive if milestone complete
324
+ **Auto-spawn verifier, present results, get user approval.**
325
+
326
+ 1. Spawn `goop-verifier` to check against SPEC.md must-haves
327
+ 2. Spawn `goop-tester` to run test suite (parallel)
328
+ 3. Wait for both to return
329
+ 4. Present verification results to user
330
+ 5. **MUST GET USER APPROVAL** to complete
331
+ 6. On approval: Archive milestone, extract learnings to memory
246
332
 
247
333
  ## Deviation Rules (Apply Automatically)
248
334
 
@@ -1,183 +1,63 @@
1
1
  ---
2
2
  name: goop-accept
3
- description: Verify and accept completion - the ACCEPTANCE GATE
3
+ description: Verify work and request acceptance
4
+ phase: accept
5
+ next-step: "Once accepted, the workflow is complete and returns to idle"
6
+ next-command: /goop-complete
7
+ alternatives:
8
+ - command: /goop-execute
9
+ when: "If issues are found that need to be fixed"
10
+ - command: /goop-milestone
11
+ when: "To start a new milestone for the next phase of work"
4
12
  ---
5
13
 
6
- # GoopSpec Accept
14
+ # /goop-accept
7
15
 
8
- Verify the implementation against the specification and obtain user sign-off.
16
+ **Verify and accept work.** The final gate before completion.
9
17
 
10
18
  ## Usage
11
19
 
12
- ```
20
+ ```bash
13
21
  /goop-accept
14
22
  ```
15
23
 
16
- ## Workflow Position
17
-
18
- ```
19
- ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
20
- │ PLAN │ ──▶ │ RESEARCH │ ──▶ │ SPECIFY │
21
- │ (Intent) │ │ (Explore) │ │ (Contract) │
22
- └─────────────┘ └─────────────┘ └─────────────┘
23
-
24
- ┌──────────────────────────────────────┘
25
-
26
- ┌─────────────┐ ┌─────────────┐
27
- │ EXECUTE │ ──▶ │ ACCEPT │
28
- │ (Build) │ │ (Verify) │
29
- └─────────────┘ └─────────────┘
30
-
31
- (You are here)
32
-
33
- ╔══════════════════════════════════════════════╗
34
- ║ ACCEPTANCE GATE ║
35
- ║ User MUST confirm completion ║
36
- ╚══════════════════════════════════════════════╝
37
- ```
38
-
39
- The Accept phase answers: **Did we deliver what we promised?**
40
-
41
- ## What Happens
42
-
43
- 1. **Spec Compliance Check** - Verify each must-have from SPEC.md:
44
- - Check observable behaviors
45
- - Confirm acceptance criteria met
46
- - Document evidence (tests, manual verification)
47
-
48
- 2. **Automated Verification** - Run all quality gates:
49
- - Type checking (`npm run typecheck`)
50
- - Linting (`npm run lint`)
51
- - Tests (`npm test`)
52
- - Build (`npm run build`)
53
-
54
- 3. **Manual Verification** - For behaviors that can't be automated:
55
- - End-to-end flows
56
- - UI/UX checks
57
- - Accessibility verification
58
- - Mobile responsiveness
59
-
60
- 4. **Security Audit** - For security-sensitive features:
61
- - Input validation present
62
- - No hardcoded secrets
63
- - Auth/authz properly enforced
64
- - No obvious vulnerabilities
65
-
66
- 5. **Verifier Agent** - Delegate comprehensive verification to goop-verifier
67
-
68
- 6. **Present Results** - Show verification report with must-haves status
69
-
70
- 7. **Wait for Acceptance** - User MUST type "accept" to confirm
71
-
72
- ## Acceptance Prompt
73
-
74
- ```
75
- ╭─ ⬢ GoopSpec ───────────────────────────────────────╮
76
- │ │
77
- │ ✓ ACCEPTANCE GATE │
78
- │ │
79
- │ Implementation complete. Verification results: │
80
- │ │
81
- │ MUST HAVES: │
82
- │ ☑ User can log in - VERIFIED │
83
- │ ☑ Session persists - VERIFIED │
84
- │ ☑ Errors displayed - VERIFIED │
85
- │ │
86
- │ AUTOMATED CHECKS: │
87
- │ ✓ TypeScript: No errors │
88
- │ ✓ Lint: No issues │
89
- │ ✓ Tests: 24/24 passing │
90
- │ ✓ Build: Successful │
91
- │ │
92
- │ NICE TO HAVES COMPLETED: │
93
- │ ☑ Remember me option │
94
- │ │
95
- │ ───────────────────────────────────────────── │
96
- │ Type "accept" to confirm completion. │
97
- │ Type "issues: [description]" to request fixes. │
98
- │ │
99
- ╰────────────────────────────────────────────────────╯
100
- ```
101
-
102
- ## User Responses
103
-
104
- | Response | Effect |
105
- |----------|--------|
106
- | `accept` | Work marked complete, proceed to archive |
107
- | `issues: [desc]` | Return to Execute phase for fixes |
108
- | `amend: [change]` | Modify spec, reassess what's needed |
109
-
110
- ## Post-Acceptance
111
-
112
- After user accepts:
113
-
114
- 1. **Generate Summary** - Create completion summary with:
115
- - Delivered features
116
- - Key decisions made
117
- - Files modified
118
- - Duration and task count
24
+ ## How It Works
119
25
 
120
- 2. **Archive (Milestones)** - For milestone completion:
121
- - Move to archive/
122
- - Generate RETROSPECTIVE.md
123
- - Extract LEARNINGS.md
124
- - Persist learnings to memory
125
- - Tag git with version
26
+ This command triggers the **Verification Protocol** to ensure the implemented work matches the locked specification.
126
27
 
127
- 3. **Clean Up** - Clear active workflow state, ready for next task
28
+ ### 1. Verification
29
+ The `goop-verifier` agent runs:
30
+ - **Automated Checks:** `bun test`, `bun run build`.
31
+ - **Spec Compliance:** Verifies "Must Haves" against evidence.
32
+ - **Security Scan:** Checks for common vulnerabilities.
128
33
 
129
- ## Handling Issues
34
+ ### 2. The Acceptance Gate
35
+ The agent presents a report:
36
+ - **Pass:** All checks green.
37
+ - **Fail:** Gaps found (lists specifics).
130
38
 
131
- ### Minor Issues
132
- Issues that don't fundamentally change the spec:
133
- - Note as fix task
134
- - Delegate quick fix
135
- - Re-verify affected area
136
- - Present for re-acceptance
39
+ ### 3. User Decision
40
+ The user **MUST** type "accept" to close the task.
41
+ - If issues are found, user types "issues: [details]" to send it back to Execute phase.
137
42
 
138
- ### Major Issues
139
- Issues that reveal missing requirements:
140
- - Note as spec change
141
- - Prompt for `/goop-amend`
142
- - Update SPEC.md
143
- - Re-plan affected tasks
144
- - Execute additions
145
- - Re-verify
43
+ ## Output
146
44
 
147
- ## Artifacts Created
148
-
149
- - Verification report in CHRONICLE.md
150
- - Summary document
151
- - RETROSPECTIVE.md (for milestones)
152
- - LEARNINGS.md (for milestones)
153
- - Memory entries for patterns and decisions
45
+ - Verification Report (Pass/Fail).
46
+ - If accepted: Archives the plan and updates history.
47
+ - **State Transition:** `execute` -> `idle` (or `milestone` if part of one).
154
48
 
155
49
  ## Example
156
50
 
157
- After execution of authentication feature:
158
-
159
- ```
160
- /goop-accept
161
- ```
162
-
163
- Verifier checks all must-haves, runs tests, presents results.
164
- User types "accept" to confirm completion.
165
-
166
- ## Next Steps
167
-
168
- After acceptance:
169
- - `/goop-complete` - Complete and archive milestone
170
- - `/goop-plan [next]` - Start next feature
171
- - `/goop-quick` - Handle quick task
172
-
173
- ## Quick Mode Accept
174
-
175
- For Quick tasks:
176
- - Abbreviated verification
177
- - No formal report
178
- - Quick confirmation prompt
179
- - Direct archive to quick/
180
-
181
- ---
182
-
183
- **GoopSpec**: Verify rigorously, accept confidently.
51
+ > **User:** `/goop-accept`
52
+ > **Agent:**
53
+ > ```
54
+ > ✓ VERIFICATION PASSED
55
+ >
56
+ > Must Haves:
57
+ > [x] Login works
58
+ > [x] Tests pass (24/24)
59
+ >
60
+ > Type "accept" to complete.
61
+ > ```
62
+ > **User:** `accept`
63
+ > **Agent:** "Accepted. Task archived."