opencode-multiagent 0.3.0-next.1 → 0.4.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.
Files changed (89) hide show
  1. package/AGENTS.md +21 -0
  2. package/CHANGELOG.md +13 -0
  3. package/README.md +4 -4
  4. package/README.tr.md +4 -4
  5. package/agents/AGENTS.md +91 -0
  6. package/agents/auditor.md +59 -17
  7. package/agents/{worker.md → coder.md} +12 -10
  8. package/agents/{scribe.md → docmaster.md} +16 -8
  9. package/agents/executor.md +45 -62
  10. package/agents/planner.md +59 -47
  11. package/agents/reviewer.md +22 -9
  12. package/agents/scout.md +16 -12
  13. package/agents/sec-coder.md +83 -0
  14. package/agents/ui-coder.md +77 -0
  15. package/commands/board.md +17 -0
  16. package/commands/execute.md +8 -7
  17. package/commands/init-deep.md +6 -6
  18. package/commands/init.md +4 -5
  19. package/commands/inspect.md +5 -5
  20. package/commands/plan.md +7 -6
  21. package/commands/quality.md +3 -3
  22. package/commands/review.md +4 -3
  23. package/commands/status.md +4 -3
  24. package/defaults/AGENTS.md +48 -0
  25. package/defaults/opencode-multiagent.json +24 -67
  26. package/defaults/opencode-multiagent.schema.json +16 -0
  27. package/dist/index.js +464 -131
  28. package/dist/opencode-multiagent/compiler.d.ts +8 -2
  29. package/dist/opencode-multiagent/compiler.d.ts.map +1 -1
  30. package/dist/opencode-multiagent/constants.d.ts +12 -0
  31. package/dist/opencode-multiagent/constants.d.ts.map +1 -1
  32. package/dist/opencode-multiagent/correlation.d.ts +21 -0
  33. package/dist/opencode-multiagent/correlation.d.ts.map +1 -0
  34. package/dist/opencode-multiagent/hooks.d.ts.map +1 -1
  35. package/dist/opencode-multiagent/log.d.ts.map +1 -1
  36. package/dist/opencode-multiagent/quality.d.ts +4 -0
  37. package/dist/opencode-multiagent/quality.d.ts.map +1 -1
  38. package/dist/opencode-multiagent/supervision.d.ts +14 -0
  39. package/dist/opencode-multiagent/supervision.d.ts.map +1 -1
  40. package/dist/opencode-multiagent/task-manager.d.ts +8 -2
  41. package/dist/opencode-multiagent/task-manager.d.ts.map +1 -1
  42. package/dist/opencode-multiagent/telemetry.d.ts +2 -0
  43. package/dist/opencode-multiagent/telemetry.d.ts.map +1 -1
  44. package/dist/opencode-multiagent/tools.d.ts +32 -1
  45. package/dist/opencode-multiagent/tools.d.ts.map +1 -1
  46. package/docs/agents.md +67 -179
  47. package/docs/agents.tr.md +68 -179
  48. package/docs/configuration.md +14 -25
  49. package/docs/configuration.tr.md +14 -25
  50. package/docs/usage-guide.md +31 -33
  51. package/docs/usage-guide.tr.md +31 -33
  52. package/examples/opencode.with-overrides.json +2 -2
  53. package/package.json +1 -1
  54. package/skills/AGENTS.md +51 -0
  55. package/skills/advanced-evaluation/manifest.json +1 -1
  56. package/skills/cek-context-engineering/manifest.json +1 -1
  57. package/skills/cek-prompt-engineering/manifest.json +1 -1
  58. package/skills/cek-test-prompt/manifest.json +1 -1
  59. package/skills/cek-thought-based-reasoning/manifest.json +1 -1
  60. package/skills/context-degradation/manifest.json +1 -1
  61. package/skills/debate/manifest.json +1 -1
  62. package/skills/design-first/manifest.json +1 -1
  63. package/skills/dispatching-parallel-agents/manifest.json +1 -1
  64. package/skills/drift-analysis/manifest.json +1 -1
  65. package/skills/evaluation/manifest.json +1 -1
  66. package/skills/parallel-investigation/manifest.json +1 -1
  67. package/skills/reflexion-critique/manifest.json +1 -1
  68. package/skills/reflexion-reflect/manifest.json +1 -1
  69. package/skills/root-cause-analysis/manifest.json +1 -1
  70. package/skills/sadd-judge-with-debate/manifest.json +1 -1
  71. package/skills/structured-code-review/manifest.json +1 -1
  72. package/skills/task-decomposition/manifest.json +1 -1
  73. package/skills/verification-before-completion/manifest.json +1 -1
  74. package/skills/verification-gates/manifest.json +1 -1
  75. package/agents/advisor.md +0 -60
  76. package/agents/critic.md +0 -136
  77. package/agents/deep-worker.md +0 -69
  78. package/agents/devil.md +0 -38
  79. package/agents/heavy-worker.md +0 -72
  80. package/agents/lead.md +0 -147
  81. package/agents/librarian.md +0 -66
  82. package/agents/qa.md +0 -53
  83. package/agents/quick.md +0 -70
  84. package/agents/strategist.md +0 -66
  85. package/agents/ui-heavy-worker.md +0 -66
  86. package/agents/ui-worker.md +0 -74
  87. package/agents/validator.md +0 -50
  88. package/dist/opencode-multiagent/file-lock.d.ts +0 -15
  89. package/dist/opencode-multiagent/file-lock.d.ts.map +0 -1
@@ -0,0 +1,48 @@
1
+ # defaults/
2
+
3
+ Unified plugin configuration defaults and JSON Schema. These two files must always stay in sync.
4
+
5
+ ## Files
6
+
7
+ - `opencode-multiagent.json` — runtime default values
8
+ - `opencode-multiagent.schema.json` — JSON Schema for validation
9
+
10
+ ## Validation
11
+
12
+ Run `mise run validate-config` after any change. This uses a **hand-rolled validator** in `scripts/schema-lib.ts` — not `ajv` or any standard JSON Schema library. Do not introduce external schema validation dependencies.
13
+
14
+ ## Schema Structure
15
+
16
+ The schema enforces `additionalProperties: false` throughout. Adding a new field requires updating both the schema and the defaults file.
17
+
18
+ Four top-level required sections:
19
+
20
+ | Section | Purpose |
21
+ | --------------- | --------------------------------------------------------------- |
22
+ | `flags` | Runtime feature flags and configuration |
23
+ | `agentSettings` | Per-agent model, temperature, and step overrides |
24
+ | `mcpDefaults` | MCP server definitions injected when missing from active config |
25
+ | `profiles` | Named flag bundles (`minimal`, `standard`, `strict`) |
26
+
27
+ ## Profile Merge Order
28
+
29
+ At runtime, flags are resolved in this order (later wins):
30
+
31
+ 1. `defaultFlags` (hardcoded in `constants.ts`)
32
+ 2. Profile values (from `profiles[selectedProfile]`)
33
+ 3. User flags (from user's `opencode-multiagent.json` in `~/.config/opencode/plugins/`)
34
+
35
+ ## agentSettings
36
+
37
+ Each entry requires at minimum a `model` field (`provider/model` format). Optional: `temperature` (0–2), `steps` (minimum 1). Every agent in `agents/*.md` must have a corresponding entry here.
38
+
39
+ ## mcpDefaults
40
+
41
+ MCP server definitions are injected **conservatively** — only when the key is absent from the user's active OpenCode config. They are never overwritten.
42
+
43
+ ## Key Constraints
44
+
45
+ - **Always run `mise run validate-config` after changes.** The build task depends on it.
46
+ - **Do not use `ajv` or standard JSON Schema validators.** The hand-rolled validator in `scripts/schema-lib.ts` has intentional limitations.
47
+ - **`additionalProperties: false` is enforced everywhere.** Unknown fields will fail validation.
48
+ - **Keep defaults and schema in sync.** A field in one must exist in the other.
@@ -10,6 +10,9 @@
10
10
  "telemetry": true,
11
11
  "supervision": true,
12
12
  "quality_gate": true,
13
+ "task_lifecycle": true,
14
+ "quality_gate_enforcement": false,
15
+ "concurrency_limit": 5,
13
16
  "skill_sources": ["${plugin_root}/skills", "${home}/.agents/skills", "${home}/skills"],
14
17
  "skill_injection": false,
15
18
  "compiler": {
@@ -31,105 +34,50 @@
31
34
  }
32
35
  },
33
36
  "agentSettings": {
34
- "lead": {
35
- "model": "anthropic/claude-opus-4-6",
36
- "temperature": 0,
37
- "steps": 500
38
- },
39
- "critic": {
40
- "model": "openai/gpt-5.4",
41
- "temperature": 0,
42
- "steps": 200
43
- },
44
37
  "planner": {
45
38
  "model": "anthropic/claude-opus-4-6",
46
39
  "temperature": 0,
47
- "steps": 100
40
+ "steps": 200
48
41
  },
49
42
  "executor": {
50
43
  "model": "anthropic/claude-sonnet-4-6",
51
44
  "temperature": 0,
52
45
  "steps": 200
53
46
  },
54
- "scout": {
47
+ "coder": {
55
48
  "model": "anthropic/claude-sonnet-4-6",
56
49
  "temperature": 0,
57
- "steps": 24
58
- },
59
- "worker": {
60
- "model": "openai/gpt-5.3-codex",
61
- "temperature": 0,
62
- "steps": 30
50
+ "steps": 40
63
51
  },
64
- "heavy-worker": {
65
- "model": "openai/gpt-5.4",
52
+ "ui-coder": {
53
+ "model": "anthropic/claude-sonnet-4-6",
66
54
  "temperature": 0,
67
55
  "steps": 40
68
56
  },
69
- "deep-worker": {
57
+ "sec-coder": {
70
58
  "model": "anthropic/claude-opus-4-6",
71
59
  "temperature": 0,
72
60
  "steps": 60
73
61
  },
74
- "ui-worker": {
75
- "model": "anthropic/claude-opus-4-6",
76
- "temperature": 0,
77
- "steps": 30
78
- },
79
- "ui-heavy-worker": {
80
- "model": "anthropic/claude-opus-4-6",
81
- "temperature": 0,
82
- "steps": 40
83
- },
84
- "quick": {
85
- "model": "opencode-go/minimax-m2.5",
86
- "temperature": 0,
87
- "steps": 16
88
- },
89
62
  "reviewer": {
90
- "model": "github-copilot/grok-code-fast-1",
91
- "temperature": 0,
92
- "steps": 24
93
- },
94
- "validator": {
95
- "model": "openai/gpt-5.3-codex",
96
- "temperature": 0,
97
- "steps": 24
98
- },
99
- "qa": {
100
- "model": "openai/gpt-5.4",
101
- "temperature": 0,
102
- "steps": 24
103
- },
104
- "advisor": {
105
- "model": "openai/gpt-5.4",
63
+ "model": "anthropic/claude-sonnet-4-6",
106
64
  "temperature": 0,
107
- "steps": 20
65
+ "steps": 30
108
66
  },
109
67
  "auditor": {
110
- "model": "openai/gpt-5.4",
111
- "temperature": 0,
112
- "steps": 24
113
- },
114
- "strategist": {
115
68
  "model": "anthropic/claude-opus-4-6",
116
69
  "temperature": 0,
117
- "steps": 20
118
- },
119
- "devil": {
120
- "model": "anthropic/claude-sonnet-4-6",
121
- "temperature": 0,
122
- "steps": 8
70
+ "steps": 40
123
71
  },
124
- "scribe": {
72
+ "scout": {
125
73
  "model": "anthropic/claude-sonnet-4-6",
126
74
  "temperature": 0,
127
75
  "steps": 30
128
76
  },
129
- "librarian": {
77
+ "docmaster": {
130
78
  "model": "anthropic/claude-sonnet-4-6",
131
79
  "temperature": 0,
132
- "steps": 24
80
+ "steps": 30
133
81
  }
134
82
  },
135
83
  "mcpDefaults": {
@@ -178,6 +126,9 @@
178
126
  "telemetry": false,
179
127
  "supervision": false,
180
128
  "quality_gate": false,
129
+ "task_lifecycle": false,
130
+ "quality_gate_enforcement": false,
131
+ "concurrency_limit": 0,
181
132
  "experimental": {
182
133
  "chat_system_transform": false,
183
134
  "chat_messages_transform": false,
@@ -195,6 +146,9 @@
195
146
  "telemetry": true,
196
147
  "supervision": true,
197
148
  "quality_gate": true,
149
+ "task_lifecycle": true,
150
+ "quality_gate_enforcement": false,
151
+ "concurrency_limit": 5,
198
152
  "experimental": {
199
153
  "chat_system_transform": false,
200
154
  "chat_messages_transform": false,
@@ -212,6 +166,9 @@
212
166
  "telemetry": true,
213
167
  "supervision": true,
214
168
  "quality_gate": true,
169
+ "task_lifecycle": true,
170
+ "quality_gate_enforcement": true,
171
+ "concurrency_limit": 5,
215
172
  "experimental": {
216
173
  "chat_system_transform": true,
217
174
  "chat_messages_transform": true,
@@ -52,6 +52,19 @@
52
52
  "type": "boolean",
53
53
  "description": "Enable quality reminder tracking for edited sessions."
54
54
  },
55
+ "task_lifecycle": {
56
+ "type": "boolean",
57
+ "description": "Enable automatic task board updates when child sessions complete."
58
+ },
59
+ "quality_gate_enforcement": {
60
+ "type": "boolean",
61
+ "description": "Block task completion via task_update unless verification evidence exists."
62
+ },
63
+ "concurrency_limit": {
64
+ "type": "number",
65
+ "minimum": 0,
66
+ "description": "Maximum parallel child sessions per parent. 0 means unlimited."
67
+ },
55
68
  "skill_injection": {
56
69
  "type": "boolean",
57
70
  "description": "Enable dynamic skill registry lookup and prompt injection."
@@ -202,6 +215,9 @@
202
215
  "telemetry": { "type": "boolean" },
203
216
  "supervision": { "type": "boolean" },
204
217
  "quality_gate": { "type": "boolean" },
218
+ "task_lifecycle": { "type": "boolean" },
219
+ "quality_gate_enforcement": { "type": "boolean" },
220
+ "concurrency_limit": { "type": "number", "minimum": 0 },
205
221
  "skill_injection": { "type": "boolean" },
206
222
  "skill_sources": {
207
223
  "type": "array",