@tudeorangbiasa/sdd-multiagent-opencode 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # SDD Multi-Agent OpenCode
2
2
 
3
- Spec-Driven Development workflow kit for OpenCode with four core commands, multi-agent support, and configurable model routing.
3
+ Spec-Driven Development workflow kit for OpenCode with five core commands, CLI wrappers, multi-agent orchestration, and configurable model routing.
4
4
 
5
- Inspired by [spec-kit-command-cursor](https://github.com/madebyaris/spec-kit-command-cursor), rebuilt from scratch for OpenCode's multi-agent architecture.
5
+ Inspired by [spec-kit-command-cursor](https://github.com/madebyaris/spec-kit-command-cursor) and [mattpocock/skills](https://github.com/mattpocock/skills), rebuilt from scratch for OpenCode's multi-agent architecture.
6
6
 
7
7
  ## Layering
8
8
 
@@ -11,7 +11,7 @@ This repo is the **SDD workflow layer**. For base agent behavior, CLI-first scaf
11
11
  ```txt
12
12
  opencode-agent-rules # base behavior + context/compaction policy
13
13
 
14
- sdd-multiagent-opencode # SDD commands, agents, skills, templates
14
+ sdd-multiagent-opencode # SDD commands, agents, skills, templates, CLI wrappers
15
15
 
16
16
  external UI skills # impeccable, taste, nothing-design, etc.
17
17
  ```
@@ -26,19 +26,20 @@ external UI skills # impeccable, taste, nothing-design, etc.
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
- | **Commands** | 15+ slash commands | 4 core commands: explore, propose, apply, ship |
30
- | **Cost** | Per-token billing | Free-tier optimized with paid model routing |
29
+ | **Commands** | 15+ slash commands | 5 core commands: construct, propose, apply, ship, quick |
30
+ | **Cost** | Per-token billing | Free-tier optimized with paid model routing + CLI wrappers |
31
31
 
32
32
  ## Multi-Agent Architecture
33
33
 
34
34
  | Agent | Default Model | Role |
35
35
  |-------|--------------|------|
36
36
  | **sdd-orchestrator** | configurable | DAG scheduling, conflict detection, deadlock handling |
37
- | **sdd-planner** | configurable | Architecture design, technical planning |
37
+ | **sdd-planner** | configurable | Architecture design, technical planning, project construction |
38
38
  | **sdd-explorer** | configurable | Codebase discovery (readonly) |
39
39
  | **sdd-implementer** | configurable | Code generation (high token usage) |
40
40
  | **sdd-verifier** | configurable | Completeness check + visual/UI verification (Chrome DevTools) |
41
41
  | **sdd-reviewer** | configurable | Code review (security, performance, spec compliance) |
42
+ | **sdd-quick** | configurable | Small cosmetic/config edits (~200 tokens via CLI wrapper) |
42
43
 
43
44
  **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.
44
45
 
@@ -63,7 +64,7 @@ To pin a specific version:
63
64
  ```json
64
65
  {
65
66
  "plugin": [
66
- "@tudeorangbiasa/sdd-multiagent-opencode@0.2.0"
67
+ "@tudeorangbiasa/sdd-multiagent-opencode@0.2.2"
67
68
  ]
68
69
  }
69
70
  ```
@@ -103,13 +104,15 @@ See [GUIDE.md](GUIDE.md) for the practical command flow.
103
104
  Default workflow:
104
105
 
105
106
  ```text
106
- /sdd-explore # investigate unclear ideas, bugs, or code areas; no code changes
107
- /sdd-propose # create proposal.md, spec.md, design.md, tasks.md; no code changes
108
- /sdd-apply # implement an approved change
109
- /sdd-ship # final verification and readiness review
107
+ /sdd-construct # initialize SDD workflow for a new or existing project (one-time)
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
+ /sdd-quick # lightweight cosmetic/config fix (~200 tokens via CLI wrapper)
110
113
  ```
111
114
 
112
- Most work starts with `/sdd-propose`, then `/sdd-apply`, then `/sdd-ship`. Use `/sdd-explore` first only when the problem is unclear.
115
+ Most work starts with `/sdd-propose`, then `/sdd-apply`, then `/sdd-ship`. Use `/sdd-explore` first only when the problem is unclear. Use `/sdd-construct` once per project to set up the spine.
113
116
 
114
117
  ## Model Settings
115
118
 
@@ -211,7 +214,7 @@ Models available at no cost via OpenCode Zen. Run `opencode models opencode | gr
211
214
  | DeepSeek V4 Flash Free | `opencode/deepseek-v4-flash-free` | Explorer, Implementer | Code generation |
212
215
  | MiniMax M2.5 Free | `opencode/minimax-m2.5-free` | Reviewer, Compaction | Structured output |
213
216
  | Nemotron 3 Super Free | `opencode/nemotron-3-super-free` | Explorer | NVIDIA model, 1M context |
214
- | Qwen3.6 Plus Free | `opencode/qwen3.6-plus-free` | Verifier, General | Multimodal support |
217
+ | Qwen3.6 Plus Free | `opencode/qwen3.6-plus-free` | Verifier, General, Quick fix | Multimodal support |
215
218
 
216
219
  ⚠️ Free models are limited-time offers and may be removed or rotated without notice. Not recommended for production SDD workflows. Use `opencode models opencode | grep "free"` to verify what's currently available.
217
220
 
@@ -234,7 +237,8 @@ Recommended starting configuration (orchestrator/planner use OpenAI GPT 5.5, oth
234
237
  "sdd-explorer": "opencode/deepseek-v4-flash-free",
235
238
  "sdd-implementer": "opencode/deepseek-v4-flash-free",
236
239
  "sdd-verifier": "opencode/qwen3.6-plus-free",
237
- "sdd-reviewer": "opencode/minimax-m2.5-free"
240
+ "sdd-reviewer": "opencode/minimax-m2.5-free",
241
+ "sdd-quick": "opencode/qwen3.6-plus-free"
238
242
  }
239
243
  }
240
244
  ```
@@ -251,7 +255,8 @@ Recommended starting configuration (orchestrator/planner use OpenAI GPT 5.5, oth
251
255
  "sdd-explorer": "opencode/deepseek-v4-flash-free",
252
256
  "sdd-implementer": "opencode/deepseek-v4-flash-free",
253
257
  "sdd-verifier": "opencode-go/kimi-k2.6",
254
- "sdd-reviewer": "opencode/minimax-m2.5-free"
258
+ "sdd-reviewer": "opencode/minimax-m2.5-free",
259
+ "sdd-quick": "opencode-go/qwen3.6-plus"
255
260
  }
256
261
  }
257
262
  ```
@@ -263,6 +268,7 @@ Recommended starting configuration (orchestrator/planner use OpenAI GPT 5.5, oth
263
268
  - **Implementer** → DeepSeek free: code generation, handles high token usage
264
269
  - **Verifier** → Qwen3.6 Plus free: multimodal for Chrome DevTools screenshots
265
270
  - **Reviewer** → MiniMax M2.5 free: structured code review output
271
+ - **Quick** → Qwen3.6 Plus free: minimal prompt for small cosmetic/config edits (~200 tokens)
266
272
 
267
273
  `.opencode/plugins/sdd-model-router.js` reads this file at OpenCode startup and applies the model settings. **Restart OpenCode after editing it.**
268
274
 
@@ -286,7 +292,8 @@ Default routing:
286
292
  "sdd-orchestrator": "high",
287
293
  "sdd-planner": "high",
288
294
  "sdd-implementer": "medium",
289
- "sdd-reviewer": "medium"
295
+ "sdd-reviewer": "medium",
296
+ "sdd-quick": "low"
290
297
  }
291
298
  }
292
299
  ```
@@ -316,6 +323,7 @@ Merge the `agent` and `permission` sections from `opencode.json` into your proje
316
323
  See [GUIDE.md](GUIDE.md) for the practical flow.
317
324
 
318
325
  ```text
326
+ /sdd-construct # one-time project initialization
319
327
  /sdd-propose auth-reset "add secure password reset by email"
320
328
  /sdd-apply auth-reset
321
329
  /sdd-ship auth-reset
@@ -327,14 +335,23 @@ If the problem is unclear, start with exploration:
327
335
  /sdd-explore "admin UI feels messy, find reusable component opportunities"
328
336
  ```
329
337
 
338
+ For small cosmetic fixes:
339
+
340
+ ```text
341
+ /sdd-quick "fix typo: succesful -> successful"
342
+ /sdd-quick "rename isLoading to isFetching in auth.ts"
343
+ ```
344
+
330
345
  ## Commands
331
346
 
332
- | Command | Purpose | Writes Code? |
333
- |---------|---------|--------------|
334
- | `/sdd-explore` | Investigate unclear ideas, bugs, or code areas | No |
335
- | `/sdd-propose` | Create one focused change plan | No |
336
- | `/sdd-apply` | Implement an approved change | Yes |
337
- | `/sdd-ship` | Final verification and readiness review | No, unless explicitly asked |
347
+ | Command | Purpose | Writes Code? | Token Cost |
348
+ |---------|---------|--------------|------------|
349
+ | `/sdd-construct` | Initialize SDD workflow for a project | Yes (config files) | ~500-1000 |
350
+ | `/sdd-explore` | Investigate unclear ideas, bugs, or code areas | No | ~200-500 |
351
+ | `/sdd-propose` | Create one focused change plan | No | ~300-800 |
352
+ | `/sdd-apply` | Implement an approved change | Yes | ~500-5000 |
353
+ | `/sdd-ship` | Final verification and readiness review | No, unless explicitly asked | ~200-500 |
354
+ | `/sdd-quick` | Lightweight cosmetic/config fix | Yes | ~200 |
338
355
 
339
356
  ## Project Structure
340
357
 
@@ -348,10 +365,12 @@ If the problem is unclear, start with exploration:
348
365
  │ ├── sdd-verifier.md # Completeness and UI verification
349
366
  │ └── sdd-reviewer.md # Final review and readiness checks
350
367
  ├── commands/
368
+ │ ├── sdd-construct.md # /sdd-construct
351
369
  │ ├── sdd-explore.md # /sdd-explore
352
370
  │ ├── sdd-propose.md # /sdd-propose
353
371
  │ ├── sdd-apply.md # /sdd-apply
354
- └── sdd-ship.md # /sdd-ship
372
+ ├── sdd-ship.md # /sdd-ship
373
+ │ └── sdd-quick.md # /sdd-quick
355
374
  └── skills/
356
375
  ├── sdd-research/SKILL.md
357
376
  ├── sdd-planning/SKILL.md
@@ -361,6 +380,8 @@ If the problem is unclear, start with exploration:
361
380
  .sdd/
362
381
  ├── config.json # Project configuration
363
382
  ├── project-profile.json # Stack and skill routing config
383
+ ├── model-profile.json # Model routing per agent
384
+ ├── reasoning-profile.json # Reasoning effort per agent/command
364
385
  └── templates/ # Document templates
365
386
  ├── proposal-template.md
366
387
  ├── spec-template.md
@@ -369,33 +390,79 @@ If the problem is unclear, start with exploration:
369
390
  ├── progress-template.md
370
391
  └── verification-template.md
371
392
 
393
+ bin/
394
+ ├── sdd-opencode.js # Main installer CLI
395
+ └── sdd-quick.js # Quick fix CLI wrapper (deterministic checks)
396
+
372
397
  specs/
373
- └── active/
374
- └── <change-id>/
375
- ├── proposal.md
376
- ├── spec.md
377
- ├── design.md
378
- ├── tasks.md
379
- ├── progress.md
380
- └── verification.md
398
+ ├── active/
399
+ └── <change-id>/
400
+ ├── proposal.md
401
+ ├── spec.md
402
+ ├── design.md
403
+ ├── tasks.md
404
+ ├── progress.md
405
+ └── verification.md
406
+ ├── QUICKFIX_LOG.md # Ledger for /sdd-quick changes
407
+ └── QUICKFIX_LOG_ARCHIVE.md # Archived ledger entries
381
408
  ```
382
409
 
383
410
  ## Workflows
384
411
 
385
- Most changes use:
412
+ ### New Project Setup
413
+
414
+ ```text
415
+ /sdd-construct # one-time: detect stack, grill vision, scaffold config, create CONTEXT.md
416
+ ```
417
+
418
+ ### Feature Development
386
419
 
387
420
  ```text
388
421
  /sdd-propose -> /sdd-apply -> /sdd-ship
389
422
  ```
390
423
 
391
- Unclear changes use:
424
+ ### Unclear Changes
392
425
 
393
426
  ```text
394
427
  /sdd-explore -> /sdd-propose -> /sdd-apply -> /sdd-ship
395
428
  ```
396
429
 
430
+ ### Quick Fixes
431
+
432
+ ```text
433
+ /sdd-quick "fix typo in error message" # ~200 tokens, CLI-verified
434
+ ```
435
+
397
436
  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.
398
437
 
438
+ ## CLI Wrapper: `/sdd-quick` Architecture
439
+
440
+ The `/sdd-quick` command uses a **hybrid CLI + LLM** architecture to minimize token cost (~200 tokens vs ~1000 for all-LLM):
441
+
442
+ ```
443
+ CLI (0 tokens) → Phase 1a: Keyword scan → PASS/FAIL
444
+ ↓ (if ambiguous)
445
+ LLM (~50 tokens) → Phase 1b: Context-aware classification
446
+
447
+ CLI (0 tokens) → Phase 2: Pre-flight (lock, grep, string delta)
448
+
449
+ LLM (~150 tokens) → Phase 3: Edit (full file return for < 500 lines)
450
+
451
+ CLI (0 tokens) → Phase 4: Post-flight (actual diff, lint, typecheck, auto-revert)
452
+
453
+ CLI (0 tokens) → Phase 5: Atomic ledger append
454
+ ```
455
+
456
+ The CLI wrapper (`bin/sdd-quick.js`) handles deterministic checks:
457
+ - **Phase 1a**: Regex-based keyword scan (operators, control flow, contract paths)
458
+ - **Phase 2**: Lock file management, cross-file grep scan, string length delta
459
+ - **Phase 4**: Post-flight verification — actual diff check, lint/typecheck, auto-revert
460
+ - **Phase 5**: Atomic ledger append via temp file + rename, automatic archiving
461
+
462
+ The LLM is only invoked for:
463
+ - **Phase 1b**: Context-aware classification (if keywords found in comments/strings)
464
+ - **Phase 3**: The actual edit (full file return or search-replace blocks)
465
+
399
466
  ## Tools Integration
400
467
 
401
468
  ### codebase-memory-mcp