opencode-goopspec 0.1.3 → 0.1.4
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 +253 -331
- package/agents/goop-debugger.md +175 -172
- package/agents/goop-designer.md +232 -160
- package/agents/goop-executor.md +197 -127
- package/agents/goop-explorer.md +148 -150
- package/agents/goop-librarian.md +218 -164
- package/agents/goop-orchestrator.md +364 -338
- package/agents/goop-planner.md +331 -153
- package/agents/goop-researcher.md +198 -126
- package/agents/goop-tester.md +277 -202
- package/agents/goop-verifier.md +191 -201
- package/agents/goop-writer.md +241 -133
- package/agents/memory-distiller.md +228 -136
- package/commands/goop-accept.md +430 -36
- package/commands/goop-amend.md +13 -0
- package/commands/goop-complete.md +13 -0
- package/commands/goop-debug.md +13 -0
- package/commands/goop-discuss.md +419 -7
- package/commands/goop-execute.md +386 -37
- package/commands/goop-help.md +11 -0
- package/commands/goop-map-codebase.md +13 -0
- package/commands/goop-memory.md +11 -0
- package/commands/goop-milestone.md +13 -0
- package/commands/goop-pause.md +12 -0
- package/commands/goop-plan.md +320 -266
- package/commands/goop-quick.md +12 -0
- package/commands/goop-recall.md +11 -0
- package/commands/goop-remember.md +12 -0
- package/commands/goop-research.md +13 -0
- package/commands/goop-resume.md +12 -0
- package/commands/goop-setup.md +18 -8
- package/commands/goop-specify.md +315 -39
- package/commands/goop-status.md +276 -28
- package/dist/index.js +328 -15
- package/package.json +1 -1
- package/references/context-injection.md +307 -0
- package/references/discovery-interview.md +278 -0
- package/references/enforcement-system.md +213 -0
- package/references/handoff-protocol.md +290 -0
- package/references/model-profiles.md +1 -1
- package/references/phase-gates.md +360 -0
- package/references/plugin-architecture.md +212 -0
- package/references/response-format.md +41 -9
- package/references/subagent-protocol.md +83 -33
- package/references/visual-style.md +199 -0
- package/references/xml-response-schema.md +236 -0
- package/templates/blueprint.md +88 -41
- package/templates/chronicle.md +130 -16
- package/templates/handoff.md +140 -0
- package/templates/project.md +114 -0
- package/templates/requirements.md +121 -0
- package/templates/spec.md +85 -20
- package/templates/state.md +103 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# REQUIREMENTS: {{feature_name}}
|
|
2
|
+
|
|
3
|
+
**Generated:** {{generated_date}}
|
|
4
|
+
**Interview Status:** {{interview_status}}
|
|
5
|
+
**Ready for Planning:** {{ready_for_planning}}
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Vision
|
|
10
|
+
|
|
11
|
+
{{vision_statement}}
|
|
12
|
+
|
|
13
|
+
**Problem Solved:** {{problem_solved}}
|
|
14
|
+
|
|
15
|
+
**Why Now:** {{why_now}}
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Must-Haves (The Contract)
|
|
20
|
+
|
|
21
|
+
These are non-negotiable. The feature is incomplete without ALL of these:
|
|
22
|
+
|
|
23
|
+
{{#must_haves}}
|
|
24
|
+
- [ ] **{{id}}**: {{title}}
|
|
25
|
+
- {{description}}
|
|
26
|
+
- **Acceptance:** {{acceptance_criteria}}
|
|
27
|
+
{{/must_haves}}
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Nice-to-Haves
|
|
32
|
+
|
|
33
|
+
These enhance the deliverable but are not required for acceptance:
|
|
34
|
+
|
|
35
|
+
{{#nice_to_haves}}
|
|
36
|
+
- [ ] **{{id}}**: {{title}}
|
|
37
|
+
- {{description}}
|
|
38
|
+
- **Defer if:** {{defer_condition}}
|
|
39
|
+
{{/nice_to_haves}}
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Out of Scope
|
|
44
|
+
|
|
45
|
+
Explicitly excluded from this work:
|
|
46
|
+
|
|
47
|
+
{{#out_of_scope}}
|
|
48
|
+
- **{{item}}**: {{reason}}
|
|
49
|
+
{{/out_of_scope}}
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Constraints
|
|
54
|
+
|
|
55
|
+
### Technical Constraints
|
|
56
|
+
{{#technical_constraints}}
|
|
57
|
+
- {{.}}
|
|
58
|
+
{{/technical_constraints}}
|
|
59
|
+
|
|
60
|
+
### Practical Constraints
|
|
61
|
+
{{#practical_constraints}}
|
|
62
|
+
- {{.}}
|
|
63
|
+
{{/practical_constraints}}
|
|
64
|
+
|
|
65
|
+
### Integration Constraints
|
|
66
|
+
{{#integration_constraints}}
|
|
67
|
+
- **{{system}}:** {{constraint}}
|
|
68
|
+
{{/integration_constraints}}
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Assumptions
|
|
73
|
+
|
|
74
|
+
We are assuming the following to be true:
|
|
75
|
+
|
|
76
|
+
{{#assumptions}}
|
|
77
|
+
- **{{assumption}}**
|
|
78
|
+
- If false: {{impact}}
|
|
79
|
+
{{/assumptions}}
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Risks & Mitigations
|
|
84
|
+
|
|
85
|
+
| Risk | Impact | Likelihood | Mitigation |
|
|
86
|
+
|------|--------|------------|------------|
|
|
87
|
+
{{#risks}}
|
|
88
|
+
| {{risk}} | {{impact}} | {{likelihood}} | {{mitigation}} |
|
|
89
|
+
{{/risks}}
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Open Questions
|
|
94
|
+
|
|
95
|
+
Questions that need answers before or during planning:
|
|
96
|
+
|
|
97
|
+
{{#open_questions}}
|
|
98
|
+
- [ ] **Q{{number}}:** {{question}}
|
|
99
|
+
- Status: {{status}}
|
|
100
|
+
- Answer: {{answer}}
|
|
101
|
+
{{/open_questions}}
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Interview Checklist
|
|
106
|
+
|
|
107
|
+
| Question | Answered |
|
|
108
|
+
|----------|----------|
|
|
109
|
+
| Vision defined | {{vision_answered}} |
|
|
110
|
+
| Must-haves listed | {{must_haves_answered}} |
|
|
111
|
+
| Constraints documented | {{constraints_answered}} |
|
|
112
|
+
| Out of scope defined | {{out_of_scope_answered}} |
|
|
113
|
+
| Assumptions listed | {{assumptions_answered}} |
|
|
114
|
+
| Risks identified | {{risks_answered}} |
|
|
115
|
+
|
|
116
|
+
**Interview Complete:** {{interview_complete}}
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
*Discovery interview output - GoopSpec v0.1.4*
|
|
121
|
+
*Run `/goop-plan` when ready for planning.*
|
package/templates/spec.md
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
**Created:** {{created_date}}
|
|
5
5
|
**Last Updated:** {{updated_date}}
|
|
6
6
|
**Status:** {{status}}
|
|
7
|
+
**Locked:** {{locked}}
|
|
8
|
+
{{#locked_at}}**Locked At:** {{locked_at}}{{/locked_at}}
|
|
7
9
|
|
|
8
10
|
---
|
|
9
11
|
|
|
@@ -13,6 +15,8 @@
|
|
|
13
15
|
|
|
14
16
|
**Why this matters:** {{why}}
|
|
15
17
|
|
|
18
|
+
**Target Users:** {{target_users}}
|
|
19
|
+
|
|
16
20
|
---
|
|
17
21
|
|
|
18
22
|
## Must-Haves (The Contract)
|
|
@@ -20,17 +24,27 @@
|
|
|
20
24
|
These are non-negotiable. The spec is not complete until ALL must-haves are delivered.
|
|
21
25
|
|
|
22
26
|
{{#must_haves}}
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
### MH{{number}}: {{title}}
|
|
28
|
+
|
|
29
|
+
{{description}}
|
|
30
|
+
|
|
31
|
+
**Acceptance Criteria:**
|
|
32
|
+
{{#acceptance_criteria}}
|
|
33
|
+
- [ ] {{.}}
|
|
34
|
+
{{/acceptance_criteria}}
|
|
35
|
+
|
|
36
|
+
**Traced To:** {{#traced_to}}Wave {{wave}}, Task {{task}}{{/traced_to}}{{^traced_to}}*Not yet mapped*{{/traced_to}}
|
|
25
37
|
|
|
26
38
|
---
|
|
39
|
+
{{/must_haves}}
|
|
27
40
|
|
|
28
41
|
## Nice-to-Haves
|
|
29
42
|
|
|
30
43
|
These enhance the deliverable but are not required for acceptance.
|
|
31
44
|
|
|
32
45
|
{{#nice_to_haves}}
|
|
33
|
-
- [ ] **{{title}}**: {{description}}
|
|
46
|
+
- [ ] **NH{{number}}: {{title}}**: {{description}}
|
|
47
|
+
- Defer if: {{defer_condition}}
|
|
34
48
|
{{/nice_to_haves}}
|
|
35
49
|
|
|
36
50
|
---
|
|
@@ -40,7 +54,7 @@ These enhance the deliverable but are not required for acceptance.
|
|
|
40
54
|
Explicitly excluded to prevent scope creep.
|
|
41
55
|
|
|
42
56
|
{{#out_of_scope}}
|
|
43
|
-
- {{item}}
|
|
57
|
+
- **{{item}}** — {{reason}}
|
|
44
58
|
{{/out_of_scope}}
|
|
45
59
|
|
|
46
60
|
---
|
|
@@ -48,17 +62,21 @@ Explicitly excluded to prevent scope creep.
|
|
|
48
62
|
## Technical Constraints
|
|
49
63
|
|
|
50
64
|
### Stack (Non-Negotiable)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
65
|
+
| Component | Technology | Version |
|
|
66
|
+
|-----------|------------|---------|
|
|
67
|
+
| Runtime | {{runtime}} | {{runtime_version}} |
|
|
68
|
+
| Language | {{language}} | {{language_version}} |
|
|
69
|
+
| Framework | {{framework}} | {{framework_version}} |
|
|
70
|
+
| Database | {{database}} | {{database_version}} |
|
|
71
|
+
| Testing | {{testing}} | {{testing_version}} |
|
|
56
72
|
|
|
57
73
|
### Conventions
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
74
|
+
| Aspect | Standard |
|
|
75
|
+
|--------|----------|
|
|
76
|
+
| Files | {{file_naming}} |
|
|
77
|
+
| Components | {{component_naming}} |
|
|
78
|
+
| Functions | {{function_naming}} |
|
|
79
|
+
| Commits | {{commit_format}} |
|
|
62
80
|
|
|
63
81
|
### Boundaries
|
|
64
82
|
|
|
@@ -79,25 +97,72 @@ Explicitly excluded to prevent scope creep.
|
|
|
79
97
|
|
|
80
98
|
---
|
|
81
99
|
|
|
100
|
+
## Assumptions
|
|
101
|
+
|
|
102
|
+
We are assuming:
|
|
103
|
+
|
|
104
|
+
{{#assumptions}}
|
|
105
|
+
- **{{assumption}}**
|
|
106
|
+
- If false: {{impact}}
|
|
107
|
+
{{/assumptions}}
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Risks & Mitigations
|
|
112
|
+
|
|
113
|
+
| Risk | Impact | Likelihood | Mitigation |
|
|
114
|
+
|------|--------|------------|------------|
|
|
115
|
+
{{#risks}}
|
|
116
|
+
| {{risk}} | {{impact}} | {{likelihood}} | {{mitigation}} |
|
|
117
|
+
{{/risks}}
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Traceability Matrix
|
|
122
|
+
|
|
123
|
+
Every must-have maps to specific blueprint tasks:
|
|
124
|
+
|
|
125
|
+
| Must-Have | Covered By | Status |
|
|
126
|
+
|-----------|------------|--------|
|
|
127
|
+
{{#traceability}}
|
|
128
|
+
| MH{{mh_number}}: {{mh_title}} | Wave {{wave}}, Task {{task}} | {{status}} |
|
|
129
|
+
{{/traceability}}
|
|
130
|
+
|
|
131
|
+
**Coverage:** {{coverage_percentage}}% of must-haves mapped
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
82
135
|
## Acceptance Criteria
|
|
83
136
|
|
|
84
137
|
The spec is complete when:
|
|
85
138
|
|
|
86
|
-
{{#
|
|
139
|
+
{{#final_acceptance}}
|
|
87
140
|
1. {{.}}
|
|
88
|
-
{{/
|
|
141
|
+
{{/final_acceptance}}
|
|
89
142
|
|
|
90
143
|
---
|
|
91
144
|
|
|
92
145
|
## Amendment History
|
|
93
146
|
|
|
94
|
-
| Version | Date | Change | Approved By |
|
|
95
|
-
|
|
147
|
+
| Version | Date | Change | Impact | Approved By |
|
|
148
|
+
|---------|------|--------|--------|-------------|
|
|
96
149
|
{{#amendments}}
|
|
97
|
-
| {{version}} | {{date}} | {{change}} | {{approved_by}} |
|
|
150
|
+
| {{version}} | {{date}} | {{change}} | {{impact}} | {{approved_by}} |
|
|
98
151
|
{{/amendments}}
|
|
99
152
|
|
|
100
153
|
---
|
|
101
154
|
|
|
102
|
-
|
|
103
|
-
|
|
155
|
+
## Verification Protocol
|
|
156
|
+
|
|
157
|
+
Before acceptance, verify:
|
|
158
|
+
|
|
159
|
+
- [ ] All must-haves pass acceptance criteria
|
|
160
|
+
- [ ] All tests pass
|
|
161
|
+
- [ ] No type errors
|
|
162
|
+
- [ ] Security checklist reviewed
|
|
163
|
+
- [ ] Documentation updated
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
*This specification is a CONTRACT. Changes require explicit amendment via `/goop-amend`.*
|
|
168
|
+
*GoopSpec v0.1.4*
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Current State
|
|
2
|
+
|
|
3
|
+
**Last Updated:** {{last_updated}}
|
|
4
|
+
**Session:** {{session_id}}
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Workflow Position
|
|
9
|
+
|
|
10
|
+
| Attribute | Value |
|
|
11
|
+
|-----------|-------|
|
|
12
|
+
| **Phase** | {{phase}} |
|
|
13
|
+
| **Interview Complete** | {{interview_complete}} |
|
|
14
|
+
| **Spec Locked** | {{spec_locked}} |
|
|
15
|
+
| **Wave** | {{current_wave}} of {{total_waves}} |
|
|
16
|
+
| **Task** | {{current_task}} of {{total_tasks}} |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Quick Resume
|
|
21
|
+
|
|
22
|
+
### Command to Run
|
|
23
|
+
```
|
|
24
|
+
{{next_command}}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### What's Next
|
|
28
|
+
{{next_task_description}}
|
|
29
|
+
|
|
30
|
+
### Files to Read
|
|
31
|
+
{{#files_to_read}}
|
|
32
|
+
1. `{{.}}`
|
|
33
|
+
{{/files_to_read}}
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Progress Summary
|
|
38
|
+
|
|
39
|
+
### Completed
|
|
40
|
+
{{#completed_items}}
|
|
41
|
+
- [x] {{.}}
|
|
42
|
+
{{/completed_items}}
|
|
43
|
+
|
|
44
|
+
### In Progress
|
|
45
|
+
{{#in_progress_items}}
|
|
46
|
+
- [ ] {{.}} ← **Current**
|
|
47
|
+
{{/in_progress_items}}
|
|
48
|
+
|
|
49
|
+
### Remaining
|
|
50
|
+
{{#remaining_items}}
|
|
51
|
+
- [ ] {{.}}
|
|
52
|
+
{{/remaining_items}}
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Active Blockers
|
|
57
|
+
|
|
58
|
+
{{#blockers}}
|
|
59
|
+
### {{title}}
|
|
60
|
+
- **Type:** {{type}}
|
|
61
|
+
- **Impact:** {{impact}}
|
|
62
|
+
- **Resolution:** {{resolution}}
|
|
63
|
+
{{/blockers}}
|
|
64
|
+
|
|
65
|
+
{{^blockers}}
|
|
66
|
+
No active blockers.
|
|
67
|
+
{{/blockers}}
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Pending Decisions
|
|
72
|
+
|
|
73
|
+
{{#pending_decisions}}
|
|
74
|
+
### {{title}}
|
|
75
|
+
- **Context:** {{context}}
|
|
76
|
+
- **Options:** {{options}}
|
|
77
|
+
- **Recommendation:** {{recommendation}}
|
|
78
|
+
{{/pending_decisions}}
|
|
79
|
+
|
|
80
|
+
{{^pending_decisions}}
|
|
81
|
+
No pending decisions.
|
|
82
|
+
{{/pending_decisions}}
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Recent Activity
|
|
87
|
+
|
|
88
|
+
| Time | Action | Agent |
|
|
89
|
+
|------|--------|-------|
|
|
90
|
+
{{#recent_activity}}
|
|
91
|
+
| {{time}} | {{action}} | {{agent}} |
|
|
92
|
+
{{/recent_activity}}
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Session Context
|
|
97
|
+
|
|
98
|
+
{{session_context}}
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
*Human-readable state mirror - GoopSpec v0.1.4*
|
|
103
|
+
*See also: state.json for machine-readable state*
|