opencodekit 0.15.21 → 0.16.0
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/dist/index.js +5 -7
- package/dist/template/.opencode/AGENTS.md +21 -20
- package/dist/template/.opencode/agent/build.md +88 -7
- package/dist/template/.opencode/agent/explore.md +1 -1
- package/dist/template/.opencode/agent/general.md +54 -4
- package/dist/template/.opencode/agent/looker.md +1 -1
- package/dist/template/.opencode/agent/painter.md +1 -1
- package/dist/template/.opencode/agent/plan.md +52 -0
- package/dist/template/.opencode/agent/review.md +1 -1
- package/dist/template/.opencode/agent/scout.md +3 -3
- package/dist/template/.opencode/agent/vision.md +1 -1
- package/dist/template/.opencode/command/create.md +201 -95
- package/dist/template/.opencode/command/design.md +5 -7
- package/dist/template/.opencode/command/handoff.md +7 -0
- package/dist/template/.opencode/command/init.md +25 -47
- package/dist/template/.opencode/command/plan.md +35 -16
- package/dist/template/.opencode/command/resume.md +7 -18
- package/dist/template/.opencode/command/ship.md +156 -0
- package/dist/template/.opencode/command/start.md +315 -28
- package/dist/template/.opencode/command/ui-review.md +5 -7
- package/dist/template/.opencode/command/verify.md +279 -0
- package/dist/template/.opencode/memory/_templates/README.md +57 -19
- package/dist/template/.opencode/memory/_templates/prd.md +29 -0
- package/dist/template/.opencode/memory/_templates/project/tech-stack.md +50 -0
- package/dist/template/.opencode/memory/_templates/proposal.md +38 -0
- package/dist/template/.opencode/memory/_templates/spec.md +66 -0
- package/dist/template/.opencode/memory/_templates/tasks.md +198 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-add-skills-vs-commands-to-global-agents-.md +15 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-build-agent-auto-loads-skills-contextual.md +31 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-fixed-agent-configuration-for-opencodeki.md +25 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-focused-agents-md-upgrade-for-opencode-k.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-implement-tier-1-permission-upgrades.md +15 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-instructions-config-explicit-paths-not-w.md +40 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-merged-context-into-memory-project-singl.md +42 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-oracle-tool-should-use-review-agent-not-.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-plan-agent-auto-loads-skills-contextuall.md +31 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-plan-phased-oracle-command-merge-into-ne.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-prd-workflow-uses-prd-and-prd-task-skill.md +23 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-prefer-review-agent-via-opencode-cli-ove.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-oracle-tool-add-ship-command-with.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-oracle-tool-and-add-ship-command-.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-oracle-tool-and-add-ship-command.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-skills-vs-commands-section-from-a.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-replace-oracle-tool-with-ship-command-fl.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-replace-oracle-with-ship-command-workflo.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-replace-proxypal-oracle-with-cli-review-.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-simplified-dist-template-only-tech-stack.md +50 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-simplified-templates-only-tech-stack-md.md +26 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-subagents-load-minimal-skills-stay-lean.md +29 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-user-approved-permission-upgrades-in-ope.md +15 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-discovery-verify-command-already-implemented.md +28 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-feature-openspec-phase-b-complete-template-upgra.md +43 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-build-agent-should-use-dynamic-lsp-not-f.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-kimi-k2-5-model-requires-temperature-1-0.md +22 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-opencode-context-injection-already-imple.md +27 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-opencode-context-injection-uses-instruct.md +35 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-update-build-agent-prompt-to-use-context.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-upgrade-agents-md-using-opencode-expert-.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-upgrade-agents-md-with-opencode-expert-g.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-upgrade-agents-md-with-opencode-expert-r.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-user-prefers-copilot-gpt-5-2-codex-mediu.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-user-wants-general-agent-prompt-contextu.md +15 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-user-wants-general-agent-prompt-reviewed.md +15 -0
- package/dist/template/.opencode/memory/project/command-rules.md +122 -0
- package/dist/template/.opencode/memory/project/tech-stack.md +50 -0
- package/dist/template/.opencode/memory/research/ccpm-analysis.md +334 -0
- package/dist/template/.opencode/memory/research/openspec-analysis.md +226 -0
- package/dist/template/.opencode/opencode.json +916 -803
- package/dist/template/.opencode/skill/tool-priority/SKILL.md +2 -2
- package/package.json +1 -1
- package/dist/template/.opencode/command/accessibility-check.md +0 -331
- package/dist/template/.opencode/command/agent-browser.md +0 -21
- package/dist/template/.opencode/command/analyze-mockup.md +0 -423
- package/dist/template/.opencode/command/analyze-project.md +0 -295
- package/dist/template/.opencode/command/brainstorm.md +0 -373
- package/dist/template/.opencode/command/cloudflare.md +0 -70
- package/dist/template/.opencode/command/commit.md +0 -245
- package/dist/template/.opencode/command/complete-next-task.md +0 -77
- package/dist/template/.opencode/command/design-audit.md +0 -480
- package/dist/template/.opencode/command/edit-image.md +0 -242
- package/dist/template/.opencode/command/finish.md +0 -255
- package/dist/template/.opencode/command/fix-ci.md +0 -109
- package/dist/template/.opencode/command/fix-types.md +0 -104
- package/dist/template/.opencode/command/fix-ui.md +0 -117
- package/dist/template/.opencode/command/fix.md +0 -168
- package/dist/template/.opencode/command/frontend-design.md +0 -21
- package/dist/template/.opencode/command/generate-diagram.md +0 -349
- package/dist/template/.opencode/command/generate-icon.md +0 -283
- package/dist/template/.opencode/command/generate-image.md +0 -246
- package/dist/template/.opencode/command/generate-pattern.md +0 -247
- package/dist/template/.opencode/command/generate-storyboard.md +0 -250
- package/dist/template/.opencode/command/implement.md +0 -609
- package/dist/template/.opencode/command/import-plan.md +0 -406
- package/dist/template/.opencode/command/index-knowledge.md +0 -25
- package/dist/template/.opencode/command/integration-test.md +0 -424
- package/dist/template/.opencode/command/issue.md +0 -102
- package/dist/template/.opencode/command/new-feature.md +0 -651
- package/dist/template/.opencode/command/opensrc.md +0 -58
- package/dist/template/.opencode/command/quick-build.md +0 -238
- package/dist/template/.opencode/command/ralph.md +0 -41
- package/dist/template/.opencode/command/research-and-implement.md +0 -148
- package/dist/template/.opencode/command/research-ui.md +0 -466
- package/dist/template/.opencode/command/restore-image.md +0 -424
- package/dist/template/.opencode/command/revert-feature.md +0 -386
- package/dist/template/.opencode/command/skill-create.md +0 -517
- package/dist/template/.opencode/command/skill-optimize.md +0 -556
- package/dist/template/.opencode/command/summarize.md +0 -412
- package/dist/template/.opencode/command/triage.md +0 -398
- package/dist/template/.opencode/memory/_templates/project/architecture.md +0 -60
- package/dist/template/.opencode/memory/_templates/project/commands.md +0 -72
- package/dist/template/.opencode/memory/_templates/project/conventions.md +0 -68
- package/dist/template/.opencode/memory/_templates/project/gotchas.md +0 -41
- package/dist/template/.opencode/skill/notebooklm/SKILL.md +0 -272
- package/dist/template/.opencode/skill/notebooklm/references/setup.md +0 -353
- package/dist/template/.opencode/tool/notebooklm.ts +0 -488
- package/dist/template/.opencode/tool/oracle.ts +0 -240
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Verify implementation completeness, correctness, and coherence
|
|
3
|
+
argument-hint: "<bead-id> [--quick] [--fix]"
|
|
4
|
+
agent: review
|
|
5
|
+
subtask: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Verify: $ARGUMENTS
|
|
9
|
+
|
|
10
|
+
Three-dimensional verification before claiming work complete. Inspired by OpenSpec's verify workflow.
|
|
11
|
+
|
|
12
|
+
## Load Skills
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
skill({ name: "beads" });
|
|
16
|
+
skill({ name: "verification-before-completion" });
|
|
17
|
+
skill({ name: "systematic-debugging" });
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Parse Arguments
|
|
21
|
+
|
|
22
|
+
| Argument | Default | Description |
|
|
23
|
+
| ----------- | -------- | -------------------------------- |
|
|
24
|
+
| `<bead-id>` | required | The bead to verify |
|
|
25
|
+
| `--quick` | false | Skip coherence check, gates only |
|
|
26
|
+
| `--fix` | false | Auto-fix issues where possible |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Phase 1: Gather Artifacts
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
bd show $ARGUMENTS
|
|
34
|
+
ls .beads/artifacts/$ARGUMENTS/
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Read all artifacts:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
cat .beads/artifacts/$ARGUMENTS/spec.md 2>/dev/null
|
|
41
|
+
cat .beads/artifacts/$ARGUMENTS/plan.md 2>/dev/null
|
|
42
|
+
cat .beads/artifacts/$ARGUMENTS/research.md 2>/dev/null
|
|
43
|
+
cat .beads/artifacts/$ARGUMENTS/design.md 2>/dev/null
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Phase 2: Completeness Check
|
|
49
|
+
|
|
50
|
+
**Are all required artifacts present?**
|
|
51
|
+
|
|
52
|
+
| Artifact | Required | Status |
|
|
53
|
+
| ------------- | -------- | ------ |
|
|
54
|
+
| `spec.md` | Yes | [ ] |
|
|
55
|
+
| `plan.md` | Yes | [ ] |
|
|
56
|
+
| `research.md` | No | [ ] |
|
|
57
|
+
| `design.md` | No | [ ] |
|
|
58
|
+
|
|
59
|
+
**Are all tasks in the spec addressed?**
|
|
60
|
+
|
|
61
|
+
Extract tasks/criteria from spec.md and verify each is implemented:
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
## Completeness Report
|
|
65
|
+
|
|
66
|
+
| Requirement | Status | Evidence |
|
|
67
|
+
| ----------------- | ---------- | ----------------------- |
|
|
68
|
+
| [Req 1 from spec] | ✓ Complete | `src/foo.ts:42` |
|
|
69
|
+
| [Req 2 from spec] | ✓ Complete | `src/bar.ts:15` |
|
|
70
|
+
| [Req 3 from spec] | ⚠ Partial | Missing edge case tests |
|
|
71
|
+
| [Req 4 from spec] | ✗ Missing | Not implemented |
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Completeness Score:** X/Y requirements met
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Phase 3: Correctness Check
|
|
79
|
+
|
|
80
|
+
**Do the automated gates pass?**
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Detect project type and run gates
|
|
84
|
+
ls package.json Cargo.toml pyproject.toml go.mod 2>/dev/null
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Node/TypeScript:**
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npm run build 2>&1 | tail -10
|
|
91
|
+
npm test 2>&1 | tail -20
|
|
92
|
+
npm run lint 2>&1 | tail -10
|
|
93
|
+
npm run typecheck 2>&1 | tail -10
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Rust:**
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
cargo build 2>&1 | tail -10
|
|
100
|
+
cargo test 2>&1 | tail -20
|
|
101
|
+
cargo clippy -- -D warnings 2>&1 | tail -10
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Python:**
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
pytest 2>&1 | tail -20
|
|
108
|
+
ruff check . 2>&1 | tail -10
|
|
109
|
+
mypy . 2>&1 | tail -10
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**Go:**
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
go build ./... 2>&1 | tail -10
|
|
116
|
+
go test ./... 2>&1 | tail -20
|
|
117
|
+
golangci-lint run 2>&1 | tail -10
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
## Correctness Report
|
|
122
|
+
|
|
123
|
+
| Gate | Status | Details |
|
|
124
|
+
| --------- | ------ | ------------------------- |
|
|
125
|
+
| Build | ✓ Pass | |
|
|
126
|
+
| Tests | ✓ Pass | 42 tests, 0 failures |
|
|
127
|
+
| Lint | ⚠ Warn | 2 warnings (non-blocking) |
|
|
128
|
+
| Typecheck | ✓ Pass | |
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Correctness Score:** X/Y gates passed
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Phase 4: Coherence Check (skip with --quick)
|
|
136
|
+
|
|
137
|
+
**Do artifacts agree with each other?**
|
|
138
|
+
|
|
139
|
+
Cross-reference artifacts for contradictions:
|
|
140
|
+
|
|
141
|
+
| Check | Status | Issue |
|
|
142
|
+
| ---------------------------- | ------ | ------------------------------------ |
|
|
143
|
+
| spec.md ↔ plan.md | ✓ | Plan addresses all spec requirements |
|
|
144
|
+
| plan.md ↔ implementation | ✓ | Code follows plan structure |
|
|
145
|
+
| research.md ↔ implementation | ⚠ | Didn't use recommended approach |
|
|
146
|
+
| design.md ↔ implementation | ✓ | Follows design patterns |
|
|
147
|
+
|
|
148
|
+
**Common coherence issues:**
|
|
149
|
+
|
|
150
|
+
- Plan says X, implementation does Y
|
|
151
|
+
- Research recommended approach A, used approach B (without justification)
|
|
152
|
+
- Spec says must-have, implementation treats as optional
|
|
153
|
+
- Design specifies pattern, implementation uses different pattern
|
|
154
|
+
|
|
155
|
+
```markdown
|
|
156
|
+
## Coherence Report
|
|
157
|
+
|
|
158
|
+
Contradictions found: 1
|
|
159
|
+
|
|
160
|
+
1. **Research vs Implementation**
|
|
161
|
+
- Research recommended: Use `zod` for validation
|
|
162
|
+
- Implementation uses: Manual validation
|
|
163
|
+
- Impact: Medium - works but less maintainable
|
|
164
|
+
- Action: Document decision or refactor
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Coherence Score:** X/Y checks passed
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Phase 5: Verification Summary
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
Verification: $ARGUMENTS
|
|
175
|
+
━━━━━━━━━━━━━━━━━━━━━━━
|
|
176
|
+
|
|
177
|
+
Dimension Score Status
|
|
178
|
+
───────────────────────────────
|
|
179
|
+
Completeness 4/5 ⚠ PARTIAL
|
|
180
|
+
Correctness 4/4 ✓ PASS
|
|
181
|
+
Coherence 3/4 ⚠ PARTIAL
|
|
182
|
+
|
|
183
|
+
Overall: ⚠ NEEDS ATTENTION
|
|
184
|
+
|
|
185
|
+
Issues Found:
|
|
186
|
+
─────────────
|
|
187
|
+
BLOCKING (must fix):
|
|
188
|
+
• [Req 4] Not implemented
|
|
189
|
+
|
|
190
|
+
NON-BLOCKING (should fix):
|
|
191
|
+
• [Req 3] Missing edge case tests
|
|
192
|
+
• Research recommendation not followed
|
|
193
|
+
|
|
194
|
+
Recommendations:
|
|
195
|
+
────────────────
|
|
196
|
+
1. Implement [Req 4] before closing
|
|
197
|
+
2. Add tests for edge case X
|
|
198
|
+
3. Document why zod was not used, or refactor to use it
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Phase 6: Auto-Fix (if --fix)
|
|
204
|
+
|
|
205
|
+
For fixable issues, attempt automatic resolution:
|
|
206
|
+
|
|
207
|
+
```typescript
|
|
208
|
+
// If lint issues are fixable
|
|
209
|
+
if (hasLintWarnings && canAutoFix) {
|
|
210
|
+
bash({ command: "npm run lint -- --fix" });
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// If missing tests detected
|
|
214
|
+
if (missingTests) {
|
|
215
|
+
console.log("Consider adding tests for: [list uncovered code]");
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Phase 7: Update Bead Notes
|
|
222
|
+
|
|
223
|
+
Record verification results in bead:
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
bd note $ARGUMENTS "Verification: [PASS|PARTIAL|FAIL] - [summary]"
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Output
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
Verification Complete: $ARGUMENTS
|
|
235
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
236
|
+
|
|
237
|
+
Result: ✓ READY TO SHIP | ⚠ NEEDS WORK | ✗ BLOCKED
|
|
238
|
+
|
|
239
|
+
Completeness: [score] - [status]
|
|
240
|
+
Correctness: [score] - [status]
|
|
241
|
+
Coherence: [score] - [status]
|
|
242
|
+
|
|
243
|
+
[If READY TO SHIP]
|
|
244
|
+
Next: /ship $ARGUMENTS
|
|
245
|
+
|
|
246
|
+
[If NEEDS WORK]
|
|
247
|
+
Fix these before shipping:
|
|
248
|
+
• [issue 1]
|
|
249
|
+
• [issue 2]
|
|
250
|
+
|
|
251
|
+
[If BLOCKED]
|
|
252
|
+
Cannot proceed until:
|
|
253
|
+
• [blocker 1]
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Examples
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
# Full verification
|
|
262
|
+
/verify bd-feature-auth
|
|
263
|
+
|
|
264
|
+
# Quick check (gates only)
|
|
265
|
+
/verify bd-feature-auth --quick
|
|
266
|
+
|
|
267
|
+
# Verify and auto-fix where possible
|
|
268
|
+
/verify bd-feature-auth --fix
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## Related Commands
|
|
274
|
+
|
|
275
|
+
| Need | Command |
|
|
276
|
+
| ----------------- | ------------------ |
|
|
277
|
+
| Ship after verify | `/ship $ARGUMENTS` |
|
|
278
|
+
| Review code | `/review-codebase` |
|
|
279
|
+
| Check status | `/status` |
|
|
@@ -1,35 +1,73 @@
|
|
|
1
1
|
---
|
|
2
2
|
purpose: Index of available memory templates
|
|
3
|
-
updated: 2026-01
|
|
3
|
+
updated: 2026-02-01
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Memory Templates
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Templates for structured artifacts. Copy to `.beads/artifacts/<bead-id>/` when working on a bead.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Artifact Templates (OpenSpec-aligned)
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
12
|
+
These follow the OpenSpec artifact flow: proposal → spec → design → tasks.
|
|
13
|
+
|
|
14
|
+
| Template | Purpose | When to Use |
|
|
15
|
+
| ------------- | ---------------------------------- | --------------------------------------------- |
|
|
16
|
+
| `proposal.md` | Capture WHY a change is needed | Starting a new feature or significant change |
|
|
17
|
+
| `spec.md` | Define WHAT with WHEN/THEN format | After proposal, before design |
|
|
18
|
+
| `tasks.md` | Implementation checklist | After design, before coding |
|
|
19
|
+
| `prd.md` | Combined PRD (proposal+spec+tasks) | Quick features that don't need full breakdown |
|
|
20
|
+
| `design.md` | Architecture decisions | Complex features needing design exploration |
|
|
21
|
+
|
|
22
|
+
## Context Injection
|
|
23
|
+
|
|
24
|
+
The file `.opencode/memory/project/tech-stack.md` is auto-injected into all AI prompts via `opencode.json` instructions[].
|
|
25
|
+
|
|
26
|
+
| File | Purpose |
|
|
27
|
+
| --------------- | ----------------------------------- |
|
|
28
|
+
| `tech-stack.md` | Framework, DB, styling, constraints |
|
|
29
|
+
|
|
30
|
+
**Additional context is captured organically:**
|
|
31
|
+
|
|
32
|
+
- AI discovers commands by reading package.json and running them
|
|
33
|
+
- AI captures conventions via `observation` tool as it works
|
|
34
|
+
- AI captures gotchas via `observation` tool when encountering issues
|
|
35
|
+
- Architecture learnings are saved to `.opencode/memory/observations/`
|
|
18
36
|
|
|
19
37
|
## Usage
|
|
20
38
|
|
|
39
|
+
### For Beads Work
|
|
40
|
+
|
|
21
41
|
```bash
|
|
22
|
-
# Copy
|
|
23
|
-
cp _templates/
|
|
24
|
-
|
|
42
|
+
# Copy artifact templates to bead folder
|
|
43
|
+
cp .opencode/memory/_templates/proposal.md .beads/artifacts/<bead-id>/
|
|
44
|
+
cp .opencode/memory/_templates/spec.md .beads/artifacts/<bead-id>/
|
|
45
|
+
```
|
|
25
46
|
|
|
26
|
-
|
|
27
|
-
|
|
47
|
+
### For Project Documentation
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Fill in tech-stack.md when starting a new project
|
|
51
|
+
# Other project knowledge is captured via observation tool
|
|
28
52
|
```
|
|
29
53
|
|
|
30
|
-
##
|
|
54
|
+
## Template Philosophy
|
|
55
|
+
|
|
56
|
+
**Minimal scaffolds, not rigid forms.**
|
|
57
|
+
|
|
58
|
+
- Templates are starting points, not constraints
|
|
59
|
+
- Fill in what's relevant, delete what's not
|
|
60
|
+
- WHEN/THEN format in specs enables testable requirements
|
|
61
|
+
- Numbered tasks in `tasks.md` are machine-parseable
|
|
62
|
+
- Let AI learn organically rather than pre-filling empty templates
|
|
63
|
+
|
|
64
|
+
## OpenSpec Alignment
|
|
65
|
+
|
|
66
|
+
Our templates are inspired by [OpenSpec](https://github.com/Fission-AI/OpenSpec) patterns:
|
|
67
|
+
|
|
68
|
+
- **Proposal** → Captures motivation and impact
|
|
69
|
+
- **Spec** → Behavioral requirements with scenarios
|
|
70
|
+
- **Tasks** → Numbered, checkboxed implementation steps
|
|
71
|
+
- **Context injection** → Project info in all prompts
|
|
31
72
|
|
|
32
|
-
-
|
|
33
|
-
- Update as you discover new patterns or issues
|
|
34
|
-
- Use `observation` tool for quick notes during work
|
|
35
|
-
- Use `memory-search` to find relevant context later
|
|
73
|
+
Key difference: We're AI-native (no CLI), so templates are simpler and commands provide the detailed guidance that OpenSpec puts in `schema.yaml` instructions.
|
|
@@ -60,11 +60,21 @@ Rules:
|
|
|
60
60
|
- Each task is a `### <Title> [category]` heading.
|
|
61
61
|
- Provide one sentence describing the end state.
|
|
62
62
|
- Include `**Verification:**` with bullet steps proving it works.
|
|
63
|
+
- Include `**Metadata:**` with dependency and parallelization info.
|
|
63
64
|
|
|
64
65
|
### <Task Title> [category]
|
|
65
66
|
|
|
66
67
|
<One sentence describing the end state>
|
|
67
68
|
|
|
69
|
+
**Metadata:**
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
depends_on: [] # Task titles that must complete first
|
|
73
|
+
parallel: true # Can run with other parallel tasks
|
|
74
|
+
conflicts_with: [] # Task titles modifying same files
|
|
75
|
+
files: [] # Files this task will modify
|
|
76
|
+
```
|
|
77
|
+
|
|
68
78
|
**Verification:**
|
|
69
79
|
|
|
70
80
|
- [Command or check]
|
|
@@ -74,6 +84,25 @@ Rules:
|
|
|
74
84
|
|
|
75
85
|
<One sentence describing the end state>
|
|
76
86
|
|
|
87
|
+
**Metadata:**
|
|
88
|
+
|
|
89
|
+
```yaml
|
|
90
|
+
depends_on: ["<Previous Task Title>"]
|
|
91
|
+
parallel: false
|
|
92
|
+
files: []
|
|
93
|
+
```
|
|
94
|
+
|
|
77
95
|
**Verification:**
|
|
78
96
|
|
|
79
97
|
- [Command or check]
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Dependency Legend
|
|
102
|
+
|
|
103
|
+
| Field | Purpose | Example |
|
|
104
|
+
| ---------------- | ------------------------------------------------- | ------------------------------------------ |
|
|
105
|
+
| `depends_on` | Must complete before this task starts | `["Setup database", "Create schema"]` |
|
|
106
|
+
| `parallel` | Can run concurrently with other parallel tasks | `true` / `false` |
|
|
107
|
+
| `conflicts_with` | Cannot run in parallel (same files) | `["Update config"]` |
|
|
108
|
+
| `files` | Files this task modifies (for conflict detection) | `["src/db/schema.ts", "src/db/client.ts"]` |
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Tech stack, constraints, and integrations for AI context injection
|
|
3
|
+
updated: 2026-02-01
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Tech Stack
|
|
7
|
+
|
|
8
|
+
This file is automatically injected into ALL AI prompts via `opencode.json` instructions[].
|
|
9
|
+
|
|
10
|
+
## Framework & Language
|
|
11
|
+
|
|
12
|
+
- **Framework:** [e.g., Next.js 15, React 19]
|
|
13
|
+
- **Language:** TypeScript (strict mode)
|
|
14
|
+
- **Runtime:** [e.g., Node.js 22, Bun 1.x]
|
|
15
|
+
|
|
16
|
+
## Styling & UI
|
|
17
|
+
|
|
18
|
+
- **CSS:** [e.g., Tailwind CSS v4]
|
|
19
|
+
- **Components:** [e.g., shadcn/ui, Radix Primitives]
|
|
20
|
+
- **Design System:** [e.g., Custom tokens in tailwind.config.ts]
|
|
21
|
+
|
|
22
|
+
## Data & State
|
|
23
|
+
|
|
24
|
+
- **Database:** [e.g., PostgreSQL via Supabase]
|
|
25
|
+
- **ORM:** [e.g., Drizzle, Prisma]
|
|
26
|
+
- **State Management:** [e.g., Zustand, React Query]
|
|
27
|
+
- **API Style:** [e.g., REST, tRPC, GraphQL]
|
|
28
|
+
|
|
29
|
+
## Testing
|
|
30
|
+
|
|
31
|
+
- **Unit Tests:** [e.g., Vitest]
|
|
32
|
+
- **E2E Tests:** [e.g., Playwright]
|
|
33
|
+
- **Coverage Target:** [e.g., 80%]
|
|
34
|
+
|
|
35
|
+
## Key Constraints
|
|
36
|
+
|
|
37
|
+
- [Constraint 1: e.g., Must work offline]
|
|
38
|
+
- [Constraint 2: e.g., WCAG 2.1 AA compliance required]
|
|
39
|
+
- [Constraint 3: e.g., Bundle size < 500KB]
|
|
40
|
+
|
|
41
|
+
## Active Integrations
|
|
42
|
+
|
|
43
|
+
- [Service 1: e.g., Stripe for payments]
|
|
44
|
+
- [Service 2: e.g., Resend for email]
|
|
45
|
+
- [Service 3: e.g., Sentry for error tracking]
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
_Update this file when tech stack or constraints change._
|
|
50
|
+
_AI will capture architecture, conventions, and gotchas via the `observation` tool as it works._
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Proposal
|
|
2
|
+
|
|
3
|
+
**Bead:** [bead-id]
|
|
4
|
+
**Author:** [author]
|
|
5
|
+
**Date:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Why
|
|
8
|
+
|
|
9
|
+
<!-- What problem does this solve? Why now? -->
|
|
10
|
+
|
|
11
|
+
## What Changes
|
|
12
|
+
|
|
13
|
+
<!-- High-level description of the proposed changes -->
|
|
14
|
+
|
|
15
|
+
## Capabilities
|
|
16
|
+
|
|
17
|
+
### New Capabilities
|
|
18
|
+
|
|
19
|
+
- `capability-name`: Brief description of what it enables
|
|
20
|
+
|
|
21
|
+
### Modified Capabilities
|
|
22
|
+
|
|
23
|
+
- `capability-name`: How existing behavior changes
|
|
24
|
+
|
|
25
|
+
## Impact
|
|
26
|
+
|
|
27
|
+
### Users Affected
|
|
28
|
+
|
|
29
|
+
- [User type or system]
|
|
30
|
+
|
|
31
|
+
### Migration Required
|
|
32
|
+
|
|
33
|
+
- [ ] Yes / No
|
|
34
|
+
- If yes: [brief migration notes]
|
|
35
|
+
|
|
36
|
+
## Open Questions
|
|
37
|
+
|
|
38
|
+
- [ ] [Question that needs answering before proceeding]
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Specification
|
|
2
|
+
|
|
3
|
+
**Bead:** [bead-id]
|
|
4
|
+
**Proposal:** [link to proposal]
|
|
5
|
+
**Date:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Bead Metadata
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
depends_on: [] # Bead IDs that must complete before this one
|
|
11
|
+
parallel: true # Can run concurrently with other parallel beads
|
|
12
|
+
conflicts_with: [] # Bead IDs that modify same files (cannot parallelize)
|
|
13
|
+
blocks: [] # Bead IDs that are waiting on this one
|
|
14
|
+
estimated_hours: 2 # Time estimate for planning
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Requirements
|
|
20
|
+
|
|
21
|
+
### [Requirement Name]
|
|
22
|
+
|
|
23
|
+
Brief description of what must be true.
|
|
24
|
+
|
|
25
|
+
#### Scenarios
|
|
26
|
+
|
|
27
|
+
**WHEN** [precondition or trigger]
|
|
28
|
+
**THEN** [expected outcome]
|
|
29
|
+
|
|
30
|
+
**WHEN** [edge case condition]
|
|
31
|
+
**THEN** [expected behavior]
|
|
32
|
+
|
|
33
|
+
### [Requirement Name]
|
|
34
|
+
|
|
35
|
+
Brief description.
|
|
36
|
+
|
|
37
|
+
#### Scenarios
|
|
38
|
+
|
|
39
|
+
**WHEN** [condition]
|
|
40
|
+
**THEN** [outcome]
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Non-Functional Requirements
|
|
45
|
+
|
|
46
|
+
- **Performance:** [constraint if applicable]
|
|
47
|
+
- **Security:** [constraint if applicable]
|
|
48
|
+
- **Compatibility:** [constraint if applicable]
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Affected Files
|
|
53
|
+
|
|
54
|
+
List files this bead will modify (for conflict detection with other beads):
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
files:
|
|
58
|
+
- src/path/to/file.ts # Why
|
|
59
|
+
- src/path/to/other.ts # Why
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Out of Scope
|
|
65
|
+
|
|
66
|
+
- [Explicitly excluded capability]
|