@tudeorangbiasa/sdd-multiagent-opencode 0.1.4 → 0.2.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/.opencode/agents/sdd-explorer.md +1 -2
- package/.opencode/agents/sdd-implementer.md +4 -5
- package/.opencode/agents/sdd-orchestrator.md +17 -127
- package/.opencode/agents/sdd-planner.md +5 -6
- package/.opencode/agents/sdd-reviewer.md +0 -1
- package/.opencode/agents/sdd-verifier.md +3 -4
- package/.opencode/commands/sdd-apply.md +83 -0
- package/.opencode/commands/sdd-explore.md +63 -0
- package/.opencode/commands/sdd-propose.md +116 -0
- package/.opencode/commands/sdd-ship.md +71 -0
- package/.opencode/plugins/sdd-register.js +22 -0
- package/.opencode/skills/sdd-audit/SKILL.md +5 -5
- package/.opencode/skills/sdd-implementation/SKILL.md +10 -12
- package/.opencode/skills/sdd-planning/SKILL.md +20 -29
- package/.opencode/skills/sdd-research/SKILL.md +5 -5
- package/.sdd/config.json +10 -10
- package/.sdd/templates/design-template.md +21 -0
- package/.sdd/templates/model-profile-template.json +35 -3
- package/.sdd/templates/progress-template.md +23 -0
- package/.sdd/templates/project-profile-template.json +2 -2
- package/.sdd/templates/proposal-template.md +22 -0
- package/.sdd/templates/reasoning-profile-template.json +4 -8
- package/.sdd/templates/spec-template.md +19 -0
- package/.sdd/templates/tasks-template.md +8 -0
- package/.sdd/templates/verification-template.md +17 -0
- package/GUIDE.md +128 -0
- package/README.md +164 -154
- package/bin/sdd-opencode.js +7 -9
- package/opencode.json +6 -14
- package/package.json +6 -4
- package/.opencode/commands/audit.md +0 -75
- package/.opencode/commands/brief.md +0 -190
- package/.opencode/commands/evolve.md +0 -87
- package/.opencode/commands/execute-parallel.md +0 -116
- package/.opencode/commands/execute-task.md +0 -81
- package/.opencode/commands/generate-prd.md +0 -82
- package/.opencode/commands/generate-rules.md +0 -67
- package/.opencode/commands/grill-me.md +0 -99
- package/.opencode/commands/implement.md +0 -149
- package/.opencode/commands/init-sdd.md +0 -141
- package/.opencode/commands/plan.md +0 -96
- package/.opencode/commands/refine.md +0 -115
- package/.opencode/commands/research.md +0 -194
- package/.opencode/commands/sdd-full-plan.md +0 -91
- package/.opencode/commands/specify.md +0 -124
- package/.opencode/commands/tasks.md +0 -110
- package/.opencode/commands/upgrade.md +0 -107
- package/.opencode/skills/sdd-evolve/SKILL.md +0 -95
- package/.sdd/templates/feature-brief-v2.md +0 -65
- package/.sdd/templates/plan-compact.md +0 -50
- package/.sdd/templates/research-compact.md +0 -114
- package/.sdd/templates/roadmap-template.json +0 -29
- package/.sdd/templates/roadmap-template.md +0 -66
- package/.sdd/templates/spec-compact.md +0 -71
- package/.sdd/templates/tasks-compact.md +0 -48
- package/.sdd/templates/todo-compact.md +0 -30
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# SDD Multi-Agent OpenCode
|
|
2
2
|
|
|
3
|
-
Spec-Driven Development
|
|
3
|
+
Spec-Driven Development workflow kit for OpenCode with four core commands, multi-agent support, and configurable model routing.
|
|
4
4
|
|
|
5
5
|
Inspired by [spec-kit-command-cursor](https://github.com/madebyaris/spec-kit-command-cursor), rebuilt from scratch for OpenCode's multi-agent architecture.
|
|
6
6
|
|
|
@@ -20,38 +20,65 @@ external UI skills # impeccable, taste, nothing-design, etc.
|
|
|
20
20
|
|
|
21
21
|
| Aspect | Original (Cursor) | This (OpenCode) |
|
|
22
22
|
|--------|-------------------|-----------------|
|
|
23
|
-
| **Models** | Single `inherit` model |
|
|
24
|
-
| **Parallel Execution** | Cursor `is_background: true` |
|
|
23
|
+
| **Models** | Single `inherit` model | Configurable per-agent routing |
|
|
24
|
+
| **Parallel Execution** | Cursor `is_background: true` | Safe subagent spawning with file conflict detection |
|
|
25
25
|
| **Codebase Search** | grep/glob | `codebase-memory-mcp` graph queries |
|
|
26
26
|
| **Web Research** | Cursor web search | `exa_web_search_exa` |
|
|
27
27
|
| **Visual Verification** | N/A | Chrome DevTools + Qwen (image-capable) |
|
|
28
28
|
| **Hooks** | `hooks.json` | Plugin JS/TS with event system |
|
|
29
|
-
| **
|
|
29
|
+
| **Commands** | 15+ slash commands | 4 core commands: explore, propose, apply, ship |
|
|
30
|
+
| **Cost** | Per-token billing | Free-tier optimized with paid model routing |
|
|
30
31
|
|
|
31
32
|
## Multi-Agent Architecture
|
|
32
33
|
|
|
33
|
-
| Agent | Model | Role |
|
|
34
|
-
|
|
35
|
-
| **sdd-orchestrator** |
|
|
36
|
-
| **sdd-planner** |
|
|
37
|
-
| **sdd-explorer** |
|
|
38
|
-
| **sdd-implementer** |
|
|
39
|
-
| **sdd-verifier** |
|
|
40
|
-
| **sdd-reviewer** |
|
|
34
|
+
| Agent | Default Model | Role |
|
|
35
|
+
|-------|--------------|------|
|
|
36
|
+
| **sdd-orchestrator** | configurable | DAG scheduling, conflict detection, deadlock handling |
|
|
37
|
+
| **sdd-planner** | configurable | Architecture design, technical planning |
|
|
38
|
+
| **sdd-explorer** | configurable | Codebase discovery (readonly) |
|
|
39
|
+
| **sdd-implementer** | configurable | Code generation (high token usage) |
|
|
40
|
+
| **sdd-verifier** | configurable | Completeness check + visual/UI verification (Chrome DevTools) |
|
|
41
|
+
| **sdd-reviewer** | configurable | Code review (security, performance, spec compliance) |
|
|
42
|
+
|
|
43
|
+
**All models are configurable** via `.sdd/model-profile.json`. Edit this file to change which model each agent uses. See [Model Settings](#model-settings) below.
|
|
41
44
|
|
|
42
45
|
## Quick Start
|
|
43
46
|
|
|
44
|
-
###
|
|
47
|
+
### Plugin Install (Recommended)
|
|
48
|
+
|
|
49
|
+
Add to your `opencode.json` (global or project-level):
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"plugin": [
|
|
54
|
+
"@tudeorangbiasa/sdd-multiagent-opencode@git+https://github.com/TudeOrangBiasa/sdd-multiagent-opencode.git"
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Restart OpenCode. The plugin auto-registers skills, agents, commands, and internal plugins (model router, auto reasoning).
|
|
60
|
+
|
|
61
|
+
To pin a version:
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"plugin": [
|
|
66
|
+
"@tudeorangbiasa/sdd-multiagent-opencode@git+https://github.com/TudeOrangBiasa/sdd-multiagent-opencode.git#v0.2.0"
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Verify by asking: "What SDD commands do you have?"
|
|
72
|
+
|
|
73
|
+
### npx Install (Fallback)
|
|
74
|
+
|
|
75
|
+
For projects that prefer local files instead of a plugin:
|
|
45
76
|
|
|
46
77
|
```bash
|
|
47
78
|
cd your-project
|
|
48
79
|
npx -y -p @tudeorangbiasa/sdd-multiagent-opencode sdd-opencode init
|
|
49
80
|
```
|
|
50
81
|
|
|
51
|
-
This installs both:
|
|
52
|
-
- Base OpenCode agent rules (verification, CLI-first, context budget)
|
|
53
|
-
- SDD multi-agent workflow (commands, agents, skills, templates)
|
|
54
|
-
|
|
55
82
|
**Flags:**
|
|
56
83
|
```bash
|
|
57
84
|
npx -y -p @tudeorangbiasa/sdd-multiagent-opencode sdd-opencode init # Install everything
|
|
@@ -61,19 +88,72 @@ npx -y -p @tudeorangbiasa/sdd-multiagent-opencode sdd-opencode init --force
|
|
|
61
88
|
npx -y -p @tudeorangbiasa/sdd-multiagent-opencode sdd-opencode init --dry-run # Preview only
|
|
62
89
|
```
|
|
63
90
|
|
|
91
|
+
### Updating
|
|
92
|
+
|
|
93
|
+
Plugin installs update automatically when OpenCode restarts and fetches the latest git commit. To pin a stable version, use a tag:
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
"@tudeorangbiasa/sdd-multiagent-opencode@git+https://github.com/TudeOrangBiasa/sdd-multiagent-opencode.git#v0.2.0"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
For npx installs, run the installer again with `--force` to overwrite existing files.
|
|
100
|
+
|
|
101
|
+
## Command Flow Guide
|
|
102
|
+
|
|
103
|
+
See [GUIDE.md](GUIDE.md) for the practical command flow.
|
|
104
|
+
|
|
105
|
+
Default workflow:
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
/sdd-explore # investigate unclear ideas, bugs, or code areas; no code changes
|
|
109
|
+
/sdd-propose # create proposal.md, spec.md, design.md, tasks.md; no code changes
|
|
110
|
+
/sdd-apply # implement an approved change
|
|
111
|
+
/sdd-ship # final verification and readiness review
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Most work starts with `/sdd-propose`, then `/sdd-apply`, then `/sdd-ship`. Use `/sdd-explore` first only when the problem is unclear.
|
|
115
|
+
|
|
64
116
|
### Model Settings
|
|
65
117
|
|
|
66
118
|
The installer creates `.sdd/model-profile.json`. Edit this file to change which model each OpenCode agent uses.
|
|
67
119
|
|
|
68
|
-
|
|
120
|
+
**⚠️ Requirement:** SDD works best with at least **ONE paid/subscription model** for orchestrator and planner. These roles need strong reasoning + multimodal capabilities that free models lack.
|
|
121
|
+
|
|
122
|
+
**Subscription options:**
|
|
123
|
+
- **OpenCode Go** ($10/month) — GLM 5.1, Kimi K2.5, MiniMax M2.5/M2.7
|
|
124
|
+
- **Kimi Moderato** — Kimi K2.6 with vision support
|
|
125
|
+
- **OpenAI Plus** — GPT 5.5 with reasoning and multimodal
|
|
126
|
+
- **GLM Lite** — GLM 5.1 with strong reasoning
|
|
127
|
+
- **OpenRouter** — Access to frontier reasoning models
|
|
128
|
+
|
|
129
|
+
**Recommended paid models for SDD:**
|
|
130
|
+
|
|
131
|
+
| Model | Best For | Notes |
|
|
132
|
+
|-------|----------|-------|
|
|
133
|
+
| `opencode/gpt-5.5` | Orchestrator, Planner | Strongest reasoning + multimodal |
|
|
134
|
+
| `opencode/claude-sonnet-4-5` | Planner, Reviewer | Excellent code understanding |
|
|
135
|
+
| `opencode/claude-opus-4-5` | Planner (complex) | Maximum capability for architecture |
|
|
136
|
+
| `opencode/kimi-k2.6` | Verifier, Planner | Strong reasoning + vision support |
|
|
137
|
+
| `opencode/glm-5.1` | Orchestrator, Planner | Strong reasoning alternative |
|
|
138
|
+
|
|
139
|
+
**Free-tier fallback** (limited capability — not recommended for production):
|
|
140
|
+
|
|
141
|
+
| Model | Best For | Limitations |
|
|
142
|
+
|-------|----------|-------------|
|
|
143
|
+
| `opencode/qwen3.6-plus-free` | General fallback | Limited multimodal |
|
|
144
|
+
| `opencode/deepseek-v4-flash-free` | Explorer, Implementer | Code gen only, no reasoning |
|
|
145
|
+
| `opencode/minimax-m2.5-free` | Reviewer, Orchestrator | Basic coordination |
|
|
146
|
+
| `opencode/big-pickle` | Explorer | Limited-time free |
|
|
147
|
+
|
|
148
|
+
**Default profile** (orchestrator/planner require paid, others use free):
|
|
69
149
|
|
|
70
150
|
```json
|
|
71
151
|
{
|
|
72
|
-
"defaultPrimary": "opencode/
|
|
152
|
+
"defaultPrimary": "opencode/gpt-5.5",
|
|
73
153
|
"small": "opencode/deepseek-v4-flash-free",
|
|
74
154
|
"agents": {
|
|
75
|
-
"sdd-orchestrator": "opencode/
|
|
76
|
-
"sdd-planner": "opencode/
|
|
155
|
+
"sdd-orchestrator": "opencode/gpt-5.5",
|
|
156
|
+
"sdd-planner": "opencode/gpt-5.5",
|
|
77
157
|
"sdd-explorer": "opencode/deepseek-v4-flash-free",
|
|
78
158
|
"sdd-implementer": "opencode/deepseek-v4-flash-free",
|
|
79
159
|
"sdd-verifier": "opencode/qwen3.6-plus-free",
|
|
@@ -82,7 +162,17 @@ Default profile avoids paid GPT models:
|
|
|
82
162
|
}
|
|
83
163
|
```
|
|
84
164
|
|
|
85
|
-
|
|
165
|
+
**Model routing rationale:**
|
|
166
|
+
- **Orchestrator** → GPT 5.5 (paid): needs strongest reasoning for DAG coordination, deadlock detection
|
|
167
|
+
- **Planner** → GPT 5.5 (paid): needs maximum reasoning for architecture design, risk assessment
|
|
168
|
+
- **Explorer** → DeepSeek free: fast readonly exploration, token-efficient
|
|
169
|
+
- **Implementer** → DeepSeek free: code generation, handles high token usage
|
|
170
|
+
- **Verifier** → Qwen free: multimodal for Chrome DevTools screenshots
|
|
171
|
+
- **Reviewer** → MiniMax free: structured code review output
|
|
172
|
+
|
|
173
|
+
`.opencode/plugins/sdd-model-router.js` reads this file at OpenCode startup and applies the model settings. **Restart OpenCode after editing it.**
|
|
174
|
+
|
|
175
|
+
**Important:** Do NOT set models in `opencode.json` — they will be ignored. All model routing goes through `model-profile.json`.
|
|
86
176
|
|
|
87
177
|
### Auto Reasoning
|
|
88
178
|
|
|
@@ -109,27 +199,14 @@ Default routing:
|
|
|
109
199
|
|
|
110
200
|
Restart OpenCode after editing `.sdd/reasoning-profile.json`.
|
|
111
201
|
|
|
112
|
-
###
|
|
113
|
-
|
|
114
|
-
#### Option A: Using Commands (Recommended)
|
|
202
|
+
### Manual Install
|
|
115
203
|
|
|
116
|
-
If you
|
|
117
|
-
|
|
118
|
-
```
|
|
119
|
-
/init-rules # Install base agent rules first
|
|
120
|
-
/init-sdd # Install SDD workflow layer
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
#### Option B: Manual Copy
|
|
204
|
+
If you prefer local files over a plugin:
|
|
124
205
|
|
|
125
206
|
```bash
|
|
126
|
-
# Recommended: install base agent rules first
|
|
127
207
|
git clone https://github.com/TudeOrangBiasa/opencode-agent-rules.git
|
|
128
|
-
|
|
129
|
-
# Clone into your project
|
|
130
208
|
git clone https://github.com/TudeOrangBiasa/sdd-multiagent-opencode.git
|
|
131
209
|
|
|
132
|
-
# Or copy the .opencode/ and .sdd/ directories into your project
|
|
133
210
|
cp opencode-agent-rules/AGENTS.md /your-project/
|
|
134
211
|
cp -r opencode-agent-rules/.opencode/rules /your-project/.opencode/
|
|
135
212
|
cp -r opencode-agent-rules/.opencode/plugins /your-project/.opencode/
|
|
@@ -138,158 +215,92 @@ cp -r sdd-multiagent-opencode/.sdd /your-project/
|
|
|
138
215
|
cp sdd-multiagent-opencode/opencode.json /your-project/
|
|
139
216
|
```
|
|
140
217
|
|
|
141
|
-
### 2. Configure
|
|
142
|
-
|
|
143
218
|
Merge the `agent` and `permission` sections from `opencode.json` into your project's `opencode.json`.
|
|
144
219
|
|
|
145
|
-
|
|
220
|
+
## Usage
|
|
221
|
+
|
|
222
|
+
See [GUIDE.md](GUIDE.md) for the practical flow.
|
|
146
223
|
|
|
147
|
-
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
|
|
224
|
+
```text
|
|
225
|
+
/sdd-propose auth-reset "add secure password reset by email"
|
|
226
|
+
/sdd-apply auth-reset
|
|
227
|
+
/sdd-ship auth-reset
|
|
228
|
+
```
|
|
152
229
|
|
|
153
|
-
|
|
230
|
+
If the problem is unclear, start with exploration:
|
|
154
231
|
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
/brief user-auth JWT authentication with login/logout
|
|
158
|
-
|
|
159
|
-
# Full planning (complex features)
|
|
160
|
-
/research database-engine Best database for our use case --deep
|
|
161
|
-
/specify user-auth User authentication with login, logout, password reset
|
|
162
|
-
/plan user-auth
|
|
163
|
-
/tasks user-auth
|
|
164
|
-
/implement user-auth
|
|
165
|
-
|
|
166
|
-
# TDD workflow (test-driven development)
|
|
167
|
-
/tasks user-auth --tdd
|
|
168
|
-
/implement user-auth --tdd
|
|
169
|
-
|
|
170
|
-
# Full project roadmap
|
|
171
|
-
/sdd-full-plan blog-platform Full-featured blog with CMS and analytics
|
|
172
|
-
/execute-parallel blog-platform --until-finish
|
|
173
|
-
|
|
174
|
-
# Audit
|
|
175
|
-
/audit user-auth
|
|
232
|
+
```text
|
|
233
|
+
/sdd-explore "admin UI feels messy, find reusable component opportunities"
|
|
176
234
|
```
|
|
177
235
|
|
|
178
236
|
## Commands
|
|
179
237
|
|
|
180
|
-
| Command | Purpose |
|
|
181
|
-
|
|
182
|
-
| `/
|
|
183
|
-
| `/
|
|
184
|
-
| `/
|
|
185
|
-
| `/
|
|
186
|
-
| `/specify` | Detailed requirements | `spec.md` |
|
|
187
|
-
| `/plan` | Technical architecture | `plan.md` |
|
|
188
|
-
| `/tasks` | Task breakdown | `tasks.md` |
|
|
189
|
-
| `/implement` | Execute implementation with todo tracking | Code + `todo-list.md` |
|
|
190
|
-
| `/sdd-full-plan` | Complete project roadmap | `roadmap.json` + tasks |
|
|
191
|
-
| `/execute-parallel` | Parallel DAG execution | Updated roadmap |
|
|
192
|
-
| `/execute-task` | Single task execution | Updated roadmap |
|
|
193
|
-
| `/evolve` | Update specs with discoveries | Updated specs |
|
|
194
|
-
| `/refine` | Iterate on specs through discussion | Updated docs |
|
|
195
|
-
| `/upgrade` | Brief → Full SDD planning | Full SDD docs |
|
|
196
|
-
| `/audit` | Compare implementation against specs | Audit report |
|
|
197
|
-
| `/generate-prd` | PRD via Socratic questions | `full-prd.md` |
|
|
198
|
-
| `/generate-rules` | Auto-generate coding rules | Rule files |
|
|
199
|
-
| `/grill-me` | Clarify product requirements | Clarified brief |
|
|
238
|
+
| Command | Purpose | Writes Code? |
|
|
239
|
+
|---------|---------|--------------|
|
|
240
|
+
| `/sdd-explore` | Investigate unclear ideas, bugs, or code areas | No |
|
|
241
|
+
| `/sdd-propose` | Create one focused change plan | No |
|
|
242
|
+
| `/sdd-apply` | Implement an approved change | Yes |
|
|
243
|
+
| `/sdd-ship` | Final verification and readiness review | No, unless explicitly asked |
|
|
200
244
|
|
|
201
245
|
## Project Structure
|
|
202
246
|
|
|
203
247
|
```
|
|
204
248
|
.opencode/
|
|
205
|
-
├── opencode.json # Agent configs, permissions, model assignments
|
|
206
249
|
├── agents/
|
|
207
|
-
│ ├── sdd-orchestrator.md #
|
|
208
|
-
│ ├── sdd-planner.md #
|
|
209
|
-
│ ├── sdd-explorer.md #
|
|
210
|
-
│ ├── sdd-implementer.md #
|
|
211
|
-
│ ├── sdd-verifier.md # Completeness
|
|
212
|
-
│ └── sdd-reviewer.md #
|
|
250
|
+
│ ├── sdd-orchestrator.md # Multi-agent coordination internals
|
|
251
|
+
│ ├── sdd-planner.md # Proposal/spec/design/tasks planning
|
|
252
|
+
│ ├── sdd-explorer.md # Readonly codebase investigation
|
|
253
|
+
│ ├── sdd-implementer.md # Approved implementation work
|
|
254
|
+
│ ├── sdd-verifier.md # Completeness and UI verification
|
|
255
|
+
│ └── sdd-reviewer.md # Final review and readiness checks
|
|
213
256
|
├── commands/
|
|
214
|
-
│ ├──
|
|
215
|
-
│ ├──
|
|
216
|
-
│ ├──
|
|
217
|
-
│
|
|
218
|
-
│ ├── tasks.md # /tasks
|
|
219
|
-
│ ├── implement.md # /implement
|
|
220
|
-
│ ├── sdd-full-plan.md # /sdd-full-plan
|
|
221
|
-
│ ├── execute-parallel.md # /execute-parallel
|
|
222
|
-
│ ├── execute-task.md # /execute-task
|
|
223
|
-
│ ├── evolve.md # /evolve
|
|
224
|
-
│ ├── refine.md # /refine
|
|
225
|
-
│ ├── upgrade.md # /upgrade
|
|
226
|
-
│ ├── audit.md # /audit
|
|
227
|
-
│ ├── generate-prd.md # /generate-prd
|
|
228
|
-
│ └── generate-rules.md # /generate-rules
|
|
257
|
+
│ ├── sdd-explore.md # /sdd-explore
|
|
258
|
+
│ ├── sdd-propose.md # /sdd-propose
|
|
259
|
+
│ ├── sdd-apply.md # /sdd-apply
|
|
260
|
+
│ └── sdd-ship.md # /sdd-ship
|
|
229
261
|
└── skills/
|
|
230
262
|
├── sdd-research/SKILL.md
|
|
231
263
|
├── sdd-planning/SKILL.md
|
|
232
264
|
├── sdd-implementation/SKILL.md
|
|
233
|
-
|
|
234
|
-
└── sdd-evolve/SKILL.md
|
|
265
|
+
└── sdd-audit/SKILL.md
|
|
235
266
|
|
|
236
267
|
.sdd/
|
|
237
268
|
├── config.json # Project configuration
|
|
238
269
|
├── project-profile.json # Stack and skill routing config
|
|
239
270
|
└── templates/ # Document templates
|
|
240
|
-
├──
|
|
241
|
-
├── spec-
|
|
242
|
-
├──
|
|
243
|
-
├── tasks-
|
|
244
|
-
├──
|
|
245
|
-
|
|
246
|
-
├── roadmap-template.json
|
|
247
|
-
└── roadmap-template.md
|
|
271
|
+
├── proposal-template.md
|
|
272
|
+
├── spec-template.md
|
|
273
|
+
├── design-template.md
|
|
274
|
+
├── tasks-template.md
|
|
275
|
+
├── progress-template.md
|
|
276
|
+
└── verification-template.md
|
|
248
277
|
|
|
249
278
|
specs/
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
├──
|
|
253
|
-
|
|
279
|
+
└── active/
|
|
280
|
+
└── <change-id>/
|
|
281
|
+
├── proposal.md
|
|
282
|
+
├── spec.md
|
|
283
|
+
├── design.md
|
|
284
|
+
├── tasks.md
|
|
285
|
+
├── progress.md
|
|
286
|
+
└── verification.md
|
|
254
287
|
```
|
|
255
288
|
|
|
256
289
|
## Workflows
|
|
257
290
|
|
|
258
|
-
|
|
259
|
-
```
|
|
260
|
-
/brief → /evolve → /refine → /implement
|
|
261
|
-
```
|
|
291
|
+
Most changes use:
|
|
262
292
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
/research → /specify → /plan → /tasks → /implement
|
|
293
|
+
```text
|
|
294
|
+
/sdd-propose -> /sdd-apply -> /sdd-ship
|
|
266
295
|
```
|
|
267
296
|
|
|
268
|
-
|
|
269
|
-
```
|
|
270
|
-
/research --deep → /specify → /plan → /tasks → /implement
|
|
271
|
-
```
|
|
297
|
+
Unclear changes use:
|
|
272
298
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
/sdd-full-plan → /execute-parallel --until-finish
|
|
299
|
+
```text
|
|
300
|
+
/sdd-explore -> /sdd-propose -> /sdd-apply -> /sdd-ship
|
|
276
301
|
```
|
|
277
302
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
```
|
|
281
|
-
/brief feature-x → /tasks feature-x --tdd → /implement feature-x --tdd
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
With `--tdd` flag:
|
|
285
|
-
- `/tasks` generates TDD-specific tasks with test-first structure
|
|
286
|
-
- `/implement` writes failing test → implements minimum code → verifies pass → refactors
|
|
287
|
-
|
|
288
|
-
**Example:**
|
|
289
|
-
```
|
|
290
|
-
/tasks user-auth --tdd
|
|
291
|
-
/implement user-auth --tdd
|
|
292
|
-
```
|
|
303
|
+
This kit intentionally avoids fake CLI flags such as `--deep` or `--until-finish`. If deeper research or parallel execution is needed, describe that in normal language and let the agent plan it explicitly.
|
|
293
304
|
|
|
294
305
|
## Tools Integration
|
|
295
306
|
|
|
@@ -302,11 +313,10 @@ Used by `sdd-explorer` and `sdd-implementer` for:
|
|
|
302
313
|
- `get_architecture` — high-level project structure
|
|
303
314
|
|
|
304
315
|
### exa_web_search_exa
|
|
305
|
-
Used by `sdd-explorer`
|
|
316
|
+
Used by `sdd-explorer` when external research is relevant:
|
|
306
317
|
- External pattern research
|
|
307
318
|
- Documentation lookup
|
|
308
319
|
- Technology comparison
|
|
309
|
-
- Deep research mode (`--deep`)
|
|
310
320
|
|
|
311
321
|
### chrome-devtools
|
|
312
322
|
Used by `sdd-verifier` for:
|
package/bin/sdd-opencode.js
CHANGED
|
@@ -332,15 +332,9 @@ function patchOpencodeJson(ctx) {
|
|
|
332
332
|
}
|
|
333
333
|
}
|
|
334
334
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
if (pkgConfig.small_model) {
|
|
341
|
-
targetConfig.small_model = pkgConfig.small_model;
|
|
342
|
-
ctx.installed.push("opencode.json (small_model patch)");
|
|
343
|
-
}
|
|
335
|
+
// NOTE: model and small_model are NOT patched from opencode.json.
|
|
336
|
+
// Model routing is handled by .sdd/model-profile.json + sdd-model-router.js plugin.
|
|
337
|
+
// Users edit model-profile.json to change models — opencode.json models are ignored.
|
|
344
338
|
|
|
345
339
|
if (pkgConfig.agents && !targetConfig.agents) {
|
|
346
340
|
targetConfig.agents = pkgConfig.agents;
|
|
@@ -360,6 +354,10 @@ function patchOpencodeJson(ctx) {
|
|
|
360
354
|
targetConfig.permission = pkgConfig.permission;
|
|
361
355
|
ctx.installed.push("opencode.json (permission patch)");
|
|
362
356
|
}
|
|
357
|
+
|
|
358
|
+
// NOTE: model and small_model are NOT patched here.
|
|
359
|
+
// Model routing is handled by .sdd/model-profile.json + sdd-model-router.js plugin.
|
|
360
|
+
// Users should edit model-profile.json to change models, not opencode.json.
|
|
363
361
|
}
|
|
364
362
|
|
|
365
363
|
if (ctx.dryRun) {
|
package/opencode.json
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://opencode.ai/config.json",
|
|
3
|
-
"model": "opencode/minimax-m2.5-free",
|
|
4
|
-
"small_model": "opencode/deepseek-v4-flash-free",
|
|
5
3
|
"plugin": [
|
|
6
4
|
"./plugins/sdd-model-router.js",
|
|
7
5
|
"./plugins/sdd-auto-reasoning.js"
|
|
8
6
|
],
|
|
9
7
|
"agent": {
|
|
10
8
|
"sdd-orchestrator": {
|
|
11
|
-
"description": "
|
|
9
|
+
"description": "Internal coordination agent for complex SDD changes. Use only when a core command needs multi-agent scheduling.",
|
|
12
10
|
"mode": "subagent",
|
|
13
|
-
"model": "opencode/minimax-m2.5-free",
|
|
14
11
|
"temperature": 0.3,
|
|
15
12
|
"permission": {
|
|
16
13
|
"edit": "allow",
|
|
@@ -22,9 +19,8 @@
|
|
|
22
19
|
"color": "accent"
|
|
23
20
|
},
|
|
24
21
|
"sdd-planner": {
|
|
25
|
-
"description": "
|
|
22
|
+
"description": "Creates compact SDD proposal, spec, design, and task artifacts for /sdd-propose.",
|
|
26
23
|
"mode": "subagent",
|
|
27
|
-
"model": "opencode/qwen3.6-plus-free",
|
|
28
24
|
"temperature": 0.3,
|
|
29
25
|
"permission": {
|
|
30
26
|
"edit": "allow",
|
|
@@ -36,9 +32,8 @@
|
|
|
36
32
|
"color": "info"
|
|
37
33
|
},
|
|
38
34
|
"sdd-explorer": {
|
|
39
|
-
"description": "
|
|
35
|
+
"description": "Readonly codebase exploration for /sdd-explore and uncertain /sdd-propose requests.",
|
|
40
36
|
"mode": "subagent",
|
|
41
|
-
"model": "opencode/deepseek-v4-flash-free",
|
|
42
37
|
"temperature": 0.1,
|
|
43
38
|
"permission": {
|
|
44
39
|
"edit": "deny",
|
|
@@ -54,9 +49,8 @@
|
|
|
54
49
|
"color": "secondary"
|
|
55
50
|
},
|
|
56
51
|
"sdd-implementer": {
|
|
57
|
-
"description": "Systematic
|
|
52
|
+
"description": "Systematic implementation for approved /sdd-apply changes.",
|
|
58
53
|
"mode": "subagent",
|
|
59
|
-
"model": "opencode/deepseek-v4-flash-free",
|
|
60
54
|
"temperature": 0.3,
|
|
61
55
|
"permission": {
|
|
62
56
|
"edit": "allow",
|
|
@@ -68,9 +62,8 @@
|
|
|
68
62
|
"color": "success"
|
|
69
63
|
},
|
|
70
64
|
"sdd-verifier": {
|
|
71
|
-
"description": "Independent validation
|
|
65
|
+
"description": "Independent validation for /sdd-ship, including browser checks when needed.",
|
|
72
66
|
"mode": "subagent",
|
|
73
|
-
"model": "opencode/qwen3.6-plus-free",
|
|
74
67
|
"temperature": 0.1,
|
|
75
68
|
"permission": {
|
|
76
69
|
"edit": "deny",
|
|
@@ -80,9 +73,8 @@
|
|
|
80
73
|
"color": "warning"
|
|
81
74
|
},
|
|
82
75
|
"sdd-reviewer": {
|
|
83
|
-
"description": "
|
|
76
|
+
"description": "Final review specialist for /sdd-ship readiness checks.",
|
|
84
77
|
"mode": "subagent",
|
|
85
|
-
"model": "opencode/minimax-m2.5-free",
|
|
86
78
|
"temperature": 0.2,
|
|
87
79
|
"permission": {
|
|
88
80
|
"edit": "deny",
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tudeorangbiasa/sdd-multiagent-opencode",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Spec-Driven Development multi-agent
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Spec-Driven Development workflow kit for OpenCode with 4 core commands, multi-agent support, and configurable model routing",
|
|
5
5
|
"type": "module",
|
|
6
|
+
"main": ".opencode/plugins/sdd-register.js",
|
|
6
7
|
"bin": {
|
|
7
|
-
"sdd-multiagent-opencode": "bin/sdd-opencode.js",
|
|
8
8
|
"sdd-opencode": "bin/sdd-opencode.js"
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
".sdd",
|
|
14
14
|
"vendor",
|
|
15
15
|
"README.md",
|
|
16
|
+
"GUIDE.md",
|
|
16
17
|
"opencode.json"
|
|
17
18
|
],
|
|
18
19
|
"scripts": {
|
|
@@ -22,7 +23,8 @@
|
|
|
22
23
|
"opencode",
|
|
23
24
|
"sdd",
|
|
24
25
|
"spec-driven-development",
|
|
25
|
-
"multi-agent"
|
|
26
|
+
"multi-agent",
|
|
27
|
+
"opencode-plugin"
|
|
26
28
|
],
|
|
27
29
|
"license": "MIT"
|
|
28
30
|
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Perform a spec-driven technical audit, comparing implementation against specifications
|
|
3
|
-
agent: sdd-reviewer
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
**You are a senior code reviewer and auditor.** Your job is to read specifications, inspect source code, compare implementation against requirements, identify gaps, bugs, and violations, and generate structured review comments with severity levels.
|
|
7
|
-
|
|
8
|
-
**Skill:** Uses `sdd-audit` skill for structured compliance checks.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## Usage
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
/audit $1 $ARGUMENTS
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
**Examples:**
|
|
19
|
-
```
|
|
20
|
-
/audit user-auth
|
|
21
|
-
/audit checkout-flow Payment processing failing
|
|
22
|
-
/audit notification-system Notifications not sending on mobile
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Instructions
|
|
28
|
-
|
|
29
|
-
### Phase 1: Load Specifications
|
|
30
|
-
|
|
31
|
-
Read in order:
|
|
32
|
-
1. `specs/active/$1/spec.md` - Requirements
|
|
33
|
-
2. `specs/active/$1/plan.md` - Technical plan
|
|
34
|
-
3. `specs/active/$1/tasks.md` - Task breakdown
|
|
35
|
-
4. `specs/active/$1/todo-list.md` - Implementation checklist
|
|
36
|
-
|
|
37
|
-
**If no specs found:** Offer general code review or suggest creating specs with `/brief $1`
|
|
38
|
-
|
|
39
|
-
### Phase 2: Analyze Implementation
|
|
40
|
-
|
|
41
|
-
1. Identify completed tasks from `tasks.md`/`todo-list.md`
|
|
42
|
-
2. Read actual implementation files using `codebase-memory-mcp`
|
|
43
|
-
3. Compare code against spec/plan requirements
|
|
44
|
-
4. Look for gaps: missing features, logic errors, security issues, quality problems
|
|
45
|
-
|
|
46
|
-
### Phase 3: Generate Findings
|
|
47
|
-
|
|
48
|
-
**Severity Levels:**
|
|
49
|
-
- 🔴 **CRITICAL**: Broken, security risk, blocker
|
|
50
|
-
- 🟠 **MAJOR**: Logic error, missing feature
|
|
51
|
-
- 🟡 **MINOR**: Style, optimization, cleanup
|
|
52
|
-
- ⚪ **OUTDATED**: Code correct, spec wrong
|
|
53
|
-
|
|
54
|
-
### Phase 4: Generate Report
|
|
55
|
-
|
|
56
|
-
Generate a structured audit report with: Executive Summary, Quick Stats, Review Comments table, Detailed Findings, and Recommended Actions.
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Output
|
|
61
|
-
|
|
62
|
-
Present the audit report, then end with:
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
📋 **Audit Report Ready**
|
|
66
|
-
|
|
67
|
-
**Summary:**
|
|
68
|
-
- 🔴 Critical: [N]
|
|
69
|
-
- 🟠 Major: [N]
|
|
70
|
-
- 🟡 Minor: [N]
|
|
71
|
-
- ⚪ Outdated: [N]
|
|
72
|
-
|
|
73
|
-
**To fix:** "Fix #1" or "Fix all critical"
|
|
74
|
-
**To update spec:** "Mark #N as outdated"
|
|
75
|
-
```
|