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 +36 -34
- package/agents/goop-orchestrator.md +106 -20
- package/commands/goop-accept.md +43 -163
- package/commands/goop-amend.md +26 -155
- package/commands/goop-complete.md +30 -187
- package/commands/goop-debug.md +25 -303
- package/commands/goop-discuss.md +9 -125
- package/commands/goop-execute.md +49 -115
- package/commands/goop-map-codebase.md +3 -3
- package/commands/goop-milestone.md +20 -196
- package/commands/goop-pause.md +22 -43
- package/commands/goop-plan.md +404 -46
- package/commands/goop-quick.md +29 -145
- package/commands/goop-research.md +43 -77
- package/commands/goop-resume.md +19 -40
- package/commands/goop-setup.md +207 -116
- package/commands/goop-specify.md +58 -134
- package/commands/goop-status.md +32 -134
- package/dist/index.js +5952 -2796
- package/package.json +1 -1
- package/references/interactive-questioning.md +122 -0
- package/references/ui-interaction-patterns.md +133 -0
- package/references/workflow-accept.md +60 -273
- package/references/workflow-execute.md +63 -274
- package/references/workflow-plan.md +86 -133
- package/references/workflow-research.md +78 -186
- package/references/workflow-specify.md +64 -221
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
# Workflow: Execute Phase
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**GoopSpec Voice:** Industrial, Atomic, Transparent.
|
|
4
|
+
|
|
5
|
+
The Execute phase answers: **Build exactly what the spec says.** Implementation happens in **Waves**.
|
|
4
6
|
|
|
5
7
|
## Position in Workflow
|
|
6
8
|
|
|
7
9
|
```
|
|
8
|
-
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
9
|
-
│ PLAN │ ──▶ │ RESEARCH │ ──▶ │ SPECIFY │
|
|
10
|
-
│ (Intent) │ │ (Explore) │ │ (Contract) │
|
|
11
|
-
└─────────────┘ └─────────────┘ └─────────────┘
|
|
12
|
-
│
|
|
13
|
-
┌──────────────────────────────────────┘
|
|
14
|
-
▼
|
|
15
10
|
┌─────────────┐ ┌─────────────┐
|
|
16
11
|
│ EXECUTE │ ──▶ │ ACCEPT │
|
|
17
12
|
│ (Build) │ │ (Verify) │
|
|
@@ -20,296 +15,90 @@ The Execute phase implements the specification through wave-based task execution
|
|
|
20
15
|
(You are here)
|
|
21
16
|
```
|
|
22
17
|
|
|
23
|
-
##
|
|
24
|
-
|
|
25
|
-
The Execute phase answers: **Build exactly what the spec says.**
|
|
26
|
-
|
|
27
|
-
Implementation happens in waves, with the orchestrator coordinating specialized subagents. Progress is tracked in CHRONICLE.md.
|
|
28
|
-
|
|
29
|
-
## Entry Criteria
|
|
30
|
-
|
|
31
|
-
- Specify phase complete
|
|
32
|
-
- SPEC.md locked and confirmed
|
|
33
|
-
- BLUEPRINT.md ready with waves and tasks
|
|
18
|
+
## Core Protocol: The Wave Cycle
|
|
34
19
|
|
|
35
|
-
|
|
20
|
+
Execution is not a monolith. It is a series of controlled loops.
|
|
36
21
|
|
|
37
|
-
|
|
22
|
+
**1. The Wave:** A logical grouping of tasks (e.g., "Foundation", "Core", "Polish").
|
|
23
|
+
**2. The Task:** A single, atomic unit of work (one commit).
|
|
24
|
+
**3. The Checkpoint:** A mandatory pause for verification or decision.
|
|
38
25
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
Wave 2: Core
|
|
46
|
-
├── Task 2.1: Main feature
|
|
47
|
-
├── Task 2.2: Business logic
|
|
48
|
-
└── Task 2.3: Data handling
|
|
49
|
-
|
|
50
|
-
Wave 3: Integration
|
|
51
|
-
├── Task 3.1: Connect components
|
|
52
|
-
└── Task 3.2: Wire to existing system
|
|
53
|
-
|
|
54
|
-
Wave 4: Polish
|
|
55
|
-
├── Task 4.1: Error handling
|
|
56
|
-
├── Task 4.2: Edge cases
|
|
57
|
-
└── Task 4.3: Documentation
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Wave Principles
|
|
61
|
-
|
|
62
|
-
1. **Sequential waves** - Wave N completes before Wave N+1 starts
|
|
63
|
-
2. **Vertical slices** - Each wave delivers working functionality
|
|
64
|
-
3. **Atomic commits** - Each task = one commit
|
|
65
|
-
4. **Verification gates** - Tests must pass between waves
|
|
66
|
-
|
|
67
|
-
## Orchestrator Role
|
|
68
|
-
|
|
69
|
-
The orchestrator is a CONDUCTOR - it coordinates but NEVER writes code.
|
|
70
|
-
|
|
71
|
-
### Orchestrator Does
|
|
72
|
-
- Delegate tasks to subagents
|
|
73
|
-
- Track progress in CHRONICLE.md
|
|
74
|
-
- Apply deviation rules
|
|
75
|
-
- Coordinate between waves
|
|
76
|
-
- Handle blockers
|
|
77
|
-
|
|
78
|
-
### Orchestrator Does NOT
|
|
79
|
-
- Write implementation code
|
|
80
|
-
- Make architectural decisions alone
|
|
81
|
-
- Modify files directly
|
|
82
|
-
- "Quickly fix" things itself
|
|
83
|
-
|
|
84
|
-
### Delegation Pattern
|
|
85
|
-
|
|
86
|
-
```
|
|
87
|
-
task({
|
|
88
|
-
subagent_type: "general",
|
|
89
|
-
description: "Execute auth task",
|
|
90
|
-
prompt: `
|
|
91
|
-
Execute Task 2.1: Implement user authentication
|
|
92
|
-
|
|
93
|
-
SPEC Reference: .goopspec/SPEC.md
|
|
94
|
-
BLUEPRINT: .goopspec/BLUEPRINT.md
|
|
95
|
-
|
|
96
|
-
Files to modify:
|
|
97
|
-
- src/auth/login.ts
|
|
98
|
-
- src/auth/session.ts
|
|
99
|
-
|
|
100
|
-
Acceptance criteria:
|
|
101
|
-
- User can log in with email/password
|
|
102
|
-
- Session persists across refresh
|
|
103
|
-
|
|
104
|
-
Constraints:
|
|
105
|
-
- Follow existing patterns in src/auth/
|
|
106
|
-
- Use jose library (per RESEARCH.md)
|
|
107
|
-
`
|
|
108
|
-
})
|
|
109
|
-
```
|
|
26
|
+
### Orchestrator's Role (The Conductor)
|
|
27
|
+
* **Delegate:** Hand tasks to `goop-executor` (Subagent).
|
|
28
|
+
* **Track:** Update `CHRONICLE.md`.
|
|
29
|
+
* **Verify:** Ensure tests pass between tasks.
|
|
30
|
+
* **Correct:** Apply Deviation Rules (Auto-fix vs. Ask).
|
|
110
31
|
|
|
111
|
-
##
|
|
32
|
+
## Interaction Patterns
|
|
112
33
|
|
|
113
|
-
|
|
34
|
+
### 1. Progress Updates
|
|
35
|
+
Keep the user informed without spamming. Use "Inline Notices".
|
|
114
36
|
|
|
37
|
+
```text
|
|
38
|
+
⬢ Wave 1: Foundation
|
|
39
|
+
├─ ⚡ Task 1.1: Setup Provider... [DONE] (abc1234)
|
|
40
|
+
└─ ⚡ Task 1.2: Login Component... [IN PROGRESS]
|
|
115
41
|
```
|
|
116
|
-
1. Read task from BLUEPRINT.md
|
|
117
|
-
2. Check deviation rules (can auto-fix?)
|
|
118
|
-
3. Delegate to appropriate agent
|
|
119
|
-
4. Agent implements with memory protocol
|
|
120
|
-
5. Agent commits atomically
|
|
121
|
-
6. Update CHRONICLE.md
|
|
122
|
-
7. Verify (tests pass?)
|
|
123
|
-
8. Move to next task or wave
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
### Task Types
|
|
127
|
-
|
|
128
|
-
| Type | Behavior |
|
|
129
|
-
|------|----------|
|
|
130
|
-
| `auto` | Execute automatically via delegation |
|
|
131
|
-
| `checkpoint:verify` | Pause for user verification |
|
|
132
|
-
| `checkpoint:decision` | Pause for user decision |
|
|
133
|
-
| `checkpoint:action` | Pause for user action |
|
|
134
42
|
|
|
135
|
-
### Checkpoint
|
|
43
|
+
### 2. The Checkpoint Gate
|
|
44
|
+
When the blueprint calls for a pause, or a **Rule 4 (Architectural Decision)** is triggered.
|
|
136
45
|
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
46
|
+
```text
|
|
47
|
+
╭─ ⬢ GoopSpec ───────────────────────────────────────╮
|
|
48
|
+
│ │
|
|
49
|
+
│ 🚧 CHECKPOINT REACHED │
|
|
50
|
+
│ │
|
|
51
|
+
│ Task: Configure OAuth Callbacks │
|
|
52
|
+
│ │
|
|
53
|
+
│ I need a callback URL for the production env. │
|
|
54
|
+
│ Currently using: localhost:3000 │
|
|
55
|
+
│ │
|
|
56
|
+
│ ► Please provide the Production URL: │
|
|
57
|
+
│ │
|
|
58
|
+
╰────────────────────────────────────────────────────╯
|
|
147
59
|
```
|
|
148
60
|
|
|
149
|
-
|
|
150
|
-
1
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
4. Resume or address issues
|
|
61
|
+
### 3. Deviation Handling
|
|
62
|
+
* **Rule 1-3 (Minor):** Auto-fix and log.
|
|
63
|
+
* `⬢ Notice: Auto-fixed missing import in auth.ts`
|
|
64
|
+
* **Rule 4 (Major):** Stop and Ask (Checkpoint Gate).
|
|
154
65
|
|
|
155
|
-
## CHRONICLE.md
|
|
66
|
+
## Output: CHRONICLE.md
|
|
156
67
|
|
|
157
|
-
|
|
68
|
+
The living history of execution.
|
|
158
69
|
|
|
159
70
|
```markdown
|
|
160
|
-
# Chronicle
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
-
|
|
164
|
-
- Wave: 2 of 4
|
|
165
|
-
- Task: 2.3 of 3
|
|
166
|
-
- Status: In Progress
|
|
167
|
-
|
|
168
|
-
## Wave History
|
|
71
|
+
# Chronicle
|
|
72
|
+
## Wave 1 [COMPLETE]
|
|
73
|
+
- [x] Task 1.1 (commit: 7f8a9d)
|
|
74
|
+
- [x] Task 1.2 (commit: 3b2c1a)
|
|
169
75
|
|
|
170
|
-
|
|
171
|
-
- [
|
|
172
|
-
- [x] Task 1.2: Config (commit: def456)
|
|
173
|
-
- [x] Task 1.3: Base (commit: ghi789)
|
|
174
|
-
|
|
175
|
-
### Wave 2: Core [IN PROGRESS]
|
|
176
|
-
- [x] Task 2.1: Auth (commit: jkl012)
|
|
177
|
-
- [x] Task 2.2: Logic (commit: mno345)
|
|
178
|
-
- [ ] Task 2.3: Data [WORKING]
|
|
179
|
-
|
|
180
|
-
### Wave 3: Integration [PENDING]
|
|
181
|
-
...
|
|
182
|
-
|
|
183
|
-
## Deviations
|
|
184
|
-
- DEV-001: Fixed missing validation (Rule 2)
|
|
185
|
-
- DEV-002: Added error handler (Rule 2)
|
|
186
|
-
|
|
187
|
-
## Blockers
|
|
188
|
-
- (none currently)
|
|
76
|
+
## Wave 2 [IN PROGRESS]
|
|
77
|
+
- [ ] Task 2.1
|
|
189
78
|
```
|
|
190
79
|
|
|
191
|
-
## Deviation Handling
|
|
192
|
-
|
|
193
|
-
Apply deviation rules during execution:
|
|
194
|
-
|
|
195
|
-
| Rule | Trigger | Action |
|
|
196
|
-
|------|---------|--------|
|
|
197
|
-
| Rule 1 | Bug found | Auto-fix |
|
|
198
|
-
| Rule 2 | Missing critical functionality | Auto-add |
|
|
199
|
-
| Rule 3 | Blocking issue | Auto-fix |
|
|
200
|
-
| Rule 4 | Architectural decision | STOP and ask |
|
|
201
|
-
|
|
202
|
-
All deviations logged to CHRONICLE.md.
|
|
203
|
-
|
|
204
80
|
## Commit Protocol
|
|
205
81
|
|
|
206
|
-
|
|
82
|
+
* **Atomic:** One task = One commit.
|
|
83
|
+
* **Conventional:** `feat(auth): add login form`.
|
|
84
|
+
* **Verified:** Tests MUST pass (or be skipped with reason) before commit.
|
|
207
85
|
|
|
208
|
-
|
|
209
|
-
type(wave-task): description
|
|
210
|
-
|
|
211
|
-
- Change 1
|
|
212
|
-
- Change 2
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
### Commit Timing
|
|
216
|
-
|
|
217
|
-
- One commit per completed task
|
|
218
|
-
- NEVER batch multiple tasks
|
|
219
|
-
- NEVER commit incomplete work (except checkpoints)
|
|
220
|
-
|
|
221
|
-
### Pre-Commit Checks
|
|
222
|
-
|
|
223
|
-
Before each commit:
|
|
224
|
-
1. Run linter
|
|
225
|
-
2. Run type checker
|
|
226
|
-
3. Run relevant tests
|
|
227
|
-
4. Verify changes match task
|
|
228
|
-
|
|
229
|
-
## Error Recovery
|
|
230
|
-
|
|
231
|
-
### On Task Failure
|
|
232
|
-
|
|
233
|
-
1. Log error to CHRONICLE.md
|
|
234
|
-
2. Attempt auto-recovery (deviation rules)
|
|
235
|
-
3. If 3 failures: pause and notify user
|
|
236
|
-
|
|
237
|
-
### On Agent Context Overflow
|
|
238
|
-
|
|
239
|
-
1. Save checkpoint
|
|
240
|
-
2. Spawn fresh agent with handoff:
|
|
241
|
-
- Current spec reference
|
|
242
|
-
- Incomplete tasks
|
|
243
|
-
- Recent decisions
|
|
244
|
-
3. Resume from checkpoint
|
|
245
|
-
|
|
246
|
-
## Continuation Enforcement
|
|
247
|
-
|
|
248
|
-
The agent CANNOT stop with incomplete tasks:
|
|
249
|
-
|
|
250
|
-
- Incomplete todos = forced continuation
|
|
251
|
-
- Only checkpoints allow pause
|
|
252
|
-
- User must explicitly confirm completion
|
|
253
|
-
- Max continuation prompts before escalation
|
|
254
|
-
|
|
255
|
-
## Transition to Accept Phase
|
|
256
|
-
|
|
257
|
-
Execute phase is complete when:
|
|
258
|
-
|
|
259
|
-
- [ ] All waves executed
|
|
260
|
-
- [ ] All tasks completed
|
|
261
|
-
- [ ] All tests passing
|
|
262
|
-
- [ ] All deviations logged
|
|
263
|
-
- [ ] CHRONICLE.md up to date
|
|
264
|
-
|
|
265
|
-
**Transition:**
|
|
266
|
-
```
|
|
267
|
-
"Execution complete.
|
|
268
|
-
|
|
269
|
-
Tasks: 12/12 completed
|
|
270
|
-
Commits: 12 atomic commits
|
|
271
|
-
Tests: All passing
|
|
272
|
-
|
|
273
|
-
Ready for acceptance verification?"
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
## Memory Protocol
|
|
86
|
+
## Commands
|
|
277
87
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
```
|
|
88
|
+
| Command | Effect |
|
|
89
|
+
| :--- | :--- |
|
|
90
|
+
| `/goop-execute` | Start or resume execution. |
|
|
91
|
+
| `/goop-pause` | Pause at next safe checkpoint. |
|
|
92
|
+
| `/goop-status` | Show current Wave/Task progress. |
|
|
93
|
+
| `/goop-checkpoint` | Force a checkpoint save. |
|
|
285
94
|
|
|
286
|
-
|
|
287
|
-
```
|
|
288
|
-
memory_note({
|
|
289
|
-
note: "Pattern discovered: [description]"
|
|
290
|
-
})
|
|
95
|
+
## Memory Triggers
|
|
291
96
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
reasoning: "[rationale]"
|
|
295
|
-
})
|
|
296
|
-
```
|
|
97
|
+
* **Note:** Implementation details ("Used X library version Y").
|
|
98
|
+
* **Observation:** Issues encountered and how they were fixed.
|
|
297
99
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
type: "observation",
|
|
302
|
-
title: "Execution: [feature] complete",
|
|
303
|
-
content: "[summary of approach taken]",
|
|
304
|
-
concepts: ["patterns-used"]
|
|
100
|
+
```javascript
|
|
101
|
+
memory_note({
|
|
102
|
+
note: "Fixed build error in Task 1.2 by upgrading dependency Z."
|
|
305
103
|
})
|
|
306
104
|
```
|
|
307
|
-
|
|
308
|
-
## Commands
|
|
309
|
-
|
|
310
|
-
| Command | Effect |
|
|
311
|
-
|---------|--------|
|
|
312
|
-
| `/goop-execute` | Start/resume execution |
|
|
313
|
-
| `/goop-status` | Check execution progress |
|
|
314
|
-
| `/goop-checkpoint` | Save progress manually |
|
|
315
|
-
| `/goop-pause` | Pause execution |
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Workflow: Plan Phase
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**GoopSpec Voice:** Direct, Purposeful, Memory-First.
|
|
4
|
+
|
|
5
|
+
The Plan phase captures user intent and establishes the foundation for all subsequent work. It answers: **What does the user want and why?**
|
|
4
6
|
|
|
5
7
|
## Position in Workflow
|
|
6
8
|
|
|
@@ -13,167 +15,118 @@ The Plan phase captures user intent and establishes the foundation for all subse
|
|
|
13
15
|
(You are here)
|
|
14
16
|
```
|
|
15
17
|
|
|
16
|
-
##
|
|
17
|
-
|
|
18
|
-
The Plan phase answers: **What does the user want and why?**
|
|
19
|
-
|
|
20
|
-
This is NOT about HOW to build it - that comes later. The Plan phase focuses purely on understanding intent, constraints, and success criteria.
|
|
21
|
-
|
|
22
|
-
## Entry Criteria
|
|
23
|
-
|
|
24
|
-
- User has expressed a need or request
|
|
25
|
-
- Orchestrator has classified the work (Quick, Standard, Comprehensive, Milestone)
|
|
26
|
-
|
|
27
|
-
## Activities
|
|
18
|
+
## Core Protocol
|
|
28
19
|
|
|
29
|
-
### 1.
|
|
20
|
+
### 1. Memory-First Context Loading
|
|
21
|
+
**Before** asking the user anything, the agent **MUST** search memory.
|
|
30
22
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## Intent
|
|
35
|
-
|
|
36
|
-
**User wants to:** [Action] [Target] [Context]
|
|
37
|
-
**Because:** [Motivation/Problem being solved]
|
|
38
|
-
**Success looks like:** [Observable outcome]
|
|
23
|
+
```javascript
|
|
24
|
+
// Search for similar past requests, preferences, and project context
|
|
25
|
+
memory_search({ query: "intent similar requests [project_name]" })
|
|
39
26
|
```
|
|
40
27
|
|
|
41
|
-
### 2.
|
|
42
|
-
|
|
43
|
-
Ask questions to resolve ambiguity:
|
|
28
|
+
### 2. Intent Capture
|
|
29
|
+
Extract the core intent using the **Interactive Questioning Protocol**.
|
|
44
30
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
- **Constraint questions:** "Are there performance/security requirements?"
|
|
48
|
-
- **Integration questions:** "How should this work with existing feature Z?"
|
|
31
|
+
* **Goal:** Move from "vague request" to "structured intent".
|
|
32
|
+
* **Method:** Progressive Disclosure.
|
|
49
33
|
|
|
50
|
-
**
|
|
34
|
+
**Example Interaction:**
|
|
35
|
+
```text
|
|
36
|
+
⬢ User Request: "I need a login page."
|
|
51
37
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
Categorize requirements:
|
|
55
|
-
|
|
56
|
-
```markdown
|
|
57
|
-
## Requirements
|
|
58
|
-
|
|
59
|
-
### Must Have (Non-negotiable)
|
|
60
|
-
- Requirement 1
|
|
61
|
-
- Requirement 2
|
|
62
|
-
|
|
63
|
-
### Should Have (Important)
|
|
64
|
-
- Requirement 3
|
|
65
|
-
- Requirement 4
|
|
66
|
-
|
|
67
|
-
### Could Have (Nice to have)
|
|
68
|
-
- Requirement 5
|
|
69
|
-
|
|
70
|
-
### Won't Have (Explicitly excluded)
|
|
71
|
-
- Out of scope item 1
|
|
38
|
+
⬢ Memory Recall: You prefer **Auth0** for authentication (Confidence: High).
|
|
39
|
+
Proceed with Auth0? [Y/n]
|
|
72
40
|
```
|
|
73
41
|
|
|
74
|
-
###
|
|
42
|
+
### 3. The "Why" and "Success"
|
|
43
|
+
Every plan must have a defined outcome.
|
|
75
44
|
|
|
76
|
-
|
|
45
|
+
* **Intent:** Action + Target + Context.
|
|
46
|
+
* **Motivation:** Why now? What problem does this solve?
|
|
47
|
+
* **Success Criteria:** Observable outcomes (e.g., "User can log in", "Response time < 200ms").
|
|
77
48
|
|
|
78
|
-
|
|
79
|
-
- Time constraints (deadlines, urgency)
|
|
80
|
-
- Resource constraints (budget, team)
|
|
81
|
-
- Business constraints (compliance, brand)
|
|
49
|
+
## Clarifying Questions Protocol
|
|
82
50
|
|
|
83
|
-
|
|
51
|
+
**Rule:** Only ask if it resolves ambiguity that changes effort by 2x+.
|
|
84
52
|
|
|
85
|
-
|
|
53
|
+
1. **Search:** Do I already know this?
|
|
54
|
+
2. **Skill:** Can I deduce this? (e.g., "Standard practice for React is...")
|
|
55
|
+
3. **Ask:** If neither, ask a **Structured Prompt**.
|
|
86
56
|
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
1.
|
|
91
|
-
2.
|
|
92
|
-
|
|
57
|
+
```text
|
|
58
|
+
⬢ Decision Required: UI Framework
|
|
59
|
+
|
|
60
|
+
1. Tailwind CSS (Consistent with project)
|
|
61
|
+
2. CSS Modules (Used in legacy components)
|
|
62
|
+
|
|
63
|
+
► Select [1-2]:
|
|
93
64
|
```
|
|
94
65
|
|
|
95
|
-
##
|
|
66
|
+
## Output: PLAN.md
|
|
96
67
|
|
|
97
|
-
|
|
98
|
-
|----------|---------|
|
|
99
|
-
| Intent statement | Clear understanding of what and why |
|
|
100
|
-
| Requirements list | Categorized list of needs |
|
|
101
|
-
| Constraints | Known limitations |
|
|
102
|
-
| Success criteria | Acceptance conditions |
|
|
68
|
+
The result of this phase is a clear `PLAN.md` (internal state) or simple structured context.
|
|
103
69
|
|
|
104
|
-
|
|
70
|
+
```markdown
|
|
71
|
+
# Plan: [Feature Name]
|
|
105
72
|
|
|
106
|
-
|
|
73
|
+
## Intent
|
|
74
|
+
**User wants to:** Create a login page
|
|
75
|
+
**Because:** Users need to access private dashboards
|
|
76
|
+
**Success:** Successful login redirects to /dashboard
|
|
107
77
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
- [ ] User confirms understanding is correct
|
|
78
|
+
## Requirements
|
|
79
|
+
### Must Have
|
|
80
|
+
- Email/Password form
|
|
81
|
+
- "Forgot Password" link
|
|
113
82
|
|
|
114
|
-
|
|
83
|
+
### Constraints
|
|
84
|
+
- Must use existing Auth0 tenant
|
|
85
|
+
- Mobile responsive
|
|
115
86
|
```
|
|
116
|
-
"I understand you want to [intent summary].
|
|
117
|
-
|
|
118
|
-
Must haves:
|
|
119
|
-
- [list]
|
|
120
87
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
88
|
+
## The Research Gate
|
|
89
|
+
|
|
90
|
+
The transition to Research is a formal **Decision Gate**.
|
|
91
|
+
|
|
92
|
+
```text
|
|
93
|
+
╭─ ⬢ GoopSpec ───────────────────────────────────────╮
|
|
94
|
+
│ │
|
|
95
|
+
│ 🚩 RESEARCH GATE │
|
|
96
|
+
│ │
|
|
97
|
+
│ I understand the intent. How should we proceed? │
|
|
98
|
+
│ │
|
|
99
|
+
│ 1. ⚡ Quick Mode │
|
|
100
|
+
│ Skip research. Use standard patterns. │
|
|
101
|
+
│ Best for: Simple fixes, standard features. │
|
|
102
|
+
│ │
|
|
103
|
+
│ 2. 🔍 Deep Research │
|
|
104
|
+
│ Explore options, read docs, map codebase. │
|
|
105
|
+
│ Best for: New tech, complex feats, unknown. │
|
|
106
|
+
│ │
|
|
107
|
+
│ ► Select [1-2]: │
|
|
108
|
+
│ │
|
|
109
|
+
╰────────────────────────────────────────────────────╯
|
|
125
110
|
```
|
|
126
111
|
|
|
127
|
-
##
|
|
128
|
-
|
|
129
|
-
For Quick tasks, Plan phase is abbreviated:
|
|
130
|
-
- Capture intent in 1-2 sentences
|
|
131
|
-
- Skip detailed requirements (scope is small)
|
|
132
|
-
- Define one clear success criterion
|
|
133
|
-
- Proceed directly to Execute
|
|
134
|
-
|
|
135
|
-
## Common Pitfalls
|
|
136
|
-
|
|
137
|
-
### Over-planning
|
|
138
|
-
**Symptom:** Spending hours documenting a 30-minute fix
|
|
139
|
-
**Fix:** Match planning depth to task complexity
|
|
140
|
-
|
|
141
|
-
### Under-planning
|
|
142
|
-
**Symptom:** Starting work without clear success criteria
|
|
143
|
-
**Fix:** Always define at least one observable success criterion
|
|
144
|
-
|
|
145
|
-
### Assumption accumulation
|
|
146
|
-
**Symptom:** Making multiple assumptions without noting them
|
|
147
|
-
**Fix:** Document assumptions explicitly, validate critical ones
|
|
148
|
-
|
|
149
|
-
### Scope creep during planning
|
|
150
|
-
**Symptom:** Requirements keep growing
|
|
151
|
-
**Fix:** Establish must-haves first, push additions to could-have
|
|
112
|
+
## Commands
|
|
152
113
|
|
|
153
|
-
|
|
114
|
+
| Command | Effect |
|
|
115
|
+
| :--- | :--- |
|
|
116
|
+
| `/goop-plan [intent]` | Start Plan phase with initial intent. |
|
|
117
|
+
| `/goop-discuss` | Open-ended discussion to clarify vague intent. |
|
|
118
|
+
| `/goop-status` | Check current phase status. |
|
|
154
119
|
|
|
155
|
-
|
|
156
|
-
```
|
|
157
|
-
memory_search({ query: "similar features, past requirements" })
|
|
158
|
-
```
|
|
120
|
+
## Memory Triggers
|
|
159
121
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
memory_note({ note: "User prefers X approach over Y" })
|
|
163
|
-
```
|
|
122
|
+
* **Save:** User preferences discovered during questioning.
|
|
123
|
+
* **Save:** The finalized "Project Intent" for future reference.
|
|
164
124
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
memory_save({
|
|
125
|
+
```javascript
|
|
126
|
+
memory_save({
|
|
168
127
|
type: "note",
|
|
169
|
-
title: "Project Intent: [
|
|
170
|
-
content: "[
|
|
128
|
+
title: "Project Intent: [Name]",
|
|
129
|
+
content: "User wants to... [Summary]",
|
|
130
|
+
concepts: ["intent", "scope"]
|
|
171
131
|
})
|
|
172
132
|
```
|
|
173
|
-
|
|
174
|
-
## Commands
|
|
175
|
-
|
|
176
|
-
| Command | Effect |
|
|
177
|
-
|---------|--------|
|
|
178
|
-
| `/goop-plan [intent]` | Start Plan phase with initial intent |
|
|
179
|
-
| `/goop-status` | Check current phase status |
|