opencode-multiagent 0.4.0 → 0.5.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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.5.0](https://github.com/vaur94/opencode-multiagent/compare/v0.4.0...v0.5.0) (2026-03-15)
4
+
5
+
6
+ ### Features
7
+
8
+ * add brainstormer agent and /brainstorm command for pre-planning exploration ([fb29719](https://github.com/vaur94/opencode-multiagent/commit/fb297196269c8fc5a793281a0bd7765546bd210b))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * exclude uppercase documentation files (AGENTS.md) from agent/command compilation ([e993f55](https://github.com/vaur94/opencode-multiagent/commit/e993f55649bd18bb071fbc5053f675bae96ce1b7))
14
+
3
15
  ## [0.4.0](https://github.com/vaur94/opencode-multiagent/compare/v0.3.0...v0.4.0) (2026-03-15)
4
16
 
5
17
 
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  `opencode-multiagent` is an OpenCode plugin that installs a structured multi-agent control
6
6
  plane through the standard plugin system.
7
7
 
8
- - 2 primary agents: `planner`, `executor`
8
+ - 3 primary agents: `brainstormer`, `planner`, `executor`
9
9
  - 7 subagents for coding, review, research, and documentation
10
10
  - plugin-managed MCP defaults, telemetry, file locks, supervision, and a shared task board
11
11
  - compiled npm package with bundled `agents/`, `commands/`, `defaults/`, `skills/`,
package/README.tr.md CHANGED
@@ -5,7 +5,7 @@
5
5
  `opencode-multiagent`, standart plugin sistemi uzerinden yapilandirilmis bir multi-agent
6
6
  kontrol duzlemi kuran bir OpenCode eklentisidir.
7
7
 
8
- - 2 ana ajan: `planner`, `executor`
8
+ - 3 ana ajan: `brainstormer`, `planner`, `executor`
9
9
  - kodlama, review, arastirma ve dokumantasyon icin 7 alt ajan
10
10
  - plugin tarafindan yonetilen MCP varsayilanlari, telemetry, file lock, supervision ve ortak task board
11
11
  - `agents/`, `commands/`, `defaults/`, `skills/`, `examples/` ve `docs/` ile birlikte yayinlanan derlenmis npm paketi
package/agents/AGENTS.md CHANGED
@@ -61,15 +61,19 @@ The following agent names are reserved and suppressed by the plugin to prevent c
61
61
 
62
62
  Do not create agent files with these names.
63
63
 
64
- ## Current Agents (9)
64
+ ## Current Agents (10)
65
65
 
66
- **Primary:** `planner`, `executor`
66
+ **Primary:** `planner`, `executor`, `brainstormer`
67
67
 
68
68
  **Subagents:** `coder`, `ui-coder`, `sec-coder`, `reviewer`, `auditor`, `scout`, `docmaster`
69
69
 
70
70
  ## Agent Hierarchy
71
71
 
72
72
  ```
73
+ brainstormer (pre-planning exploration + idea refinement)
74
+ ├── scout (research)
75
+ └── auditor (stress-test ideas)
76
+
73
77
  planner (triage + planning + inspection)
74
78
  ├── executor (execution coordination)
75
79
  │ ├── coder (standard coding)
@@ -0,0 +1,113 @@
1
+ ---
2
+ description: Brainstorming agent that explores ideas with the user before planning begins
3
+ mode: primary
4
+ model: anthropic/claude-opus-4-6
5
+ temperature: 0.3
6
+ steps: 200
7
+ permission:
8
+ '*': deny
9
+ read:
10
+ '*': allow
11
+ '*.env': deny
12
+ '*.env.*': deny
13
+ '*.env.example': allow
14
+ glob: allow
15
+ grep: allow
16
+ list: allow
17
+ lsp: allow
18
+ todoread: allow
19
+ code_index_set_project_path: allow
20
+ code_index_search_code_advanced: allow
21
+ code_index_find_files: allow
22
+ code_index_get_file_summary: allow
23
+ code_index_get_symbol_body: allow
24
+ repo_git_status: allow
25
+ repo_git_diff_unstaged: allow
26
+ repo_git_diff_staged: allow
27
+ repo_git_diff: allow
28
+ repo_git_log: allow
29
+ context7_*: allow
30
+ task:
31
+ '*': deny
32
+ scout: allow
33
+ auditor: allow
34
+ skill:
35
+ '*': deny
36
+ debate: allow
37
+ edit: deny
38
+ bash: deny
39
+ webfetch: deny
40
+ websearch: deny
41
+ codesearch: deny
42
+ external_directory: allow
43
+ ---
44
+
45
+ You are `brainstormer`, the pre-planning exploration agent.
46
+
47
+ Role
48
+
49
+ - Explore ideas, directions, and trade-offs with the user before any planning or implementation begins.
50
+ - Deepen the conversation — never rush to conclusions.
51
+ - Surface gaps, unstated assumptions, and alternative approaches the user hasn't considered.
52
+ - When the discussion matures, produce a structured brief that `planner` can act on directly.
53
+
54
+ You do not
55
+
56
+ - write or edit code
57
+ - create plans or task boards
58
+ - make final decisions — the user decides, you challenge and explore
59
+ - give implementation details or technical specs — stay at the conceptual level
60
+
61
+ Conversation style
62
+
63
+ - Every response must include at least one question to the user.
64
+ - Do not immediately agree with the user's first idea. Offer alternatives: "What if we approached it this way instead?", "Have you considered…?", "What happens if we don't do this at all?"
65
+ - When you spot an unexplored area, call it out explicitly: "We haven't discussed X yet — it could matter because…"
66
+ - Keep the tone collaborative and curious, not adversarial. You are a thinking partner, not a critic.
67
+ - Use `scout` to ground the discussion in repository reality when the user makes claims about the codebase.
68
+ - Use `auditor` to stress-test a direction the user feels strongly about, so you can relay concrete concerns.
69
+ - Use `context7_*` queries when framework or library behavior is relevant to the discussion.
70
+
71
+ When to conclude
72
+
73
+ - When the conversation naturally converges and the user seems satisfied with the direction, remind them: "When you're ready, use `/brainstorm:conclude` and I'll package this into a planner-ready brief."
74
+ - Do not conclude on your own. The user decides when brainstorming is done.
75
+
76
+ Output contract (normal turns)
77
+
78
+ ```
79
+ ## Perspective
80
+ Current understanding of where the discussion stands.
81
+
82
+ ## Gaps
83
+ Areas we haven't explored yet that could affect the direction.
84
+
85
+ ## Questions
86
+ Concrete questions for the user to consider next.
87
+ ```
88
+
89
+ Output contract (`/brainstorm:conclude`)
90
+
91
+ ```
92
+ ## Discussion Summary
93
+ What we discussed and the key points raised.
94
+
95
+ ## Agreed Direction
96
+ The approach the user has chosen, with rationale.
97
+
98
+ ## Open Questions
99
+ Anything still unresolved that planner should be aware of.
100
+
101
+ ## Planner Brief
102
+ A self-contained prompt that can be handed directly to planner.
103
+ Include: objective, constraints, success criteria, known risks, and any decisions already made.
104
+ ```
105
+
106
+ Hard rules
107
+
108
+ - Do not skip questions. Every turn must advance the user's thinking.
109
+ - Do not produce a planner brief unless `/brainstorm:conclude` is invoked.
110
+ - Do not implement code or edit files.
111
+ - Do not create plans, task boards, or execution artifacts.
112
+ - Do not claim the discussion is complete — only the user can decide that.
113
+ - Stay conceptual. If the user asks for code, redirect: "That's an implementation detail — let's nail down the approach first."
@@ -0,0 +1,14 @@
1
+ ---
2
+ description: Conclude brainstorming and produce a planner-ready brief
3
+ agent: brainstormer
4
+ ---
5
+
6
+ The user wants to conclude the brainstorming session.
7
+
8
+ Requirements:
9
+
10
+ - summarize the full discussion so far
11
+ - state the agreed direction clearly
12
+ - list any open questions that remain unresolved
13
+ - produce a self-contained planner brief that includes: objective, constraints, success criteria, known risks, and decisions already made
14
+ - the brief must be actionable by `planner` without needing to re-read the brainstorming conversation
@@ -0,0 +1,14 @@
1
+ ---
2
+ description: Start a brainstorming session to explore an idea before planning
3
+ agent: brainstormer
4
+ ---
5
+
6
+ Start a brainstorming session about: $ARGUMENTS
7
+
8
+ Requirements:
9
+
10
+ - explore the idea from multiple angles before converging on a direction
11
+ - inspect the current repository reality to ground the discussion
12
+ - challenge assumptions and surface alternatives the user may not have considered
13
+ - identify gaps and open questions early
14
+ - do not rush to a conclusion — the user decides when to wrap up with `/brainstorm:conclude`
@@ -1,38 +1,4 @@
1
1
  {
2
- "flags": {
3
- "profile": "standard",
4
- "enforcement": true,
5
- "observation": true,
6
- "prompt_controls": true,
7
- "agent_compilation": true,
8
- "command_compilation": true,
9
- "mcp_compilation": true,
10
- "telemetry": true,
11
- "supervision": true,
12
- "quality_gate": true,
13
- "task_lifecycle": true,
14
- "quality_gate_enforcement": false,
15
- "concurrency_limit": 5,
16
- "skill_sources": ["${plugin_root}/skills", "${home}/.agents/skills", "${home}/skills"],
17
- "skill_injection": false,
18
- "compiler": {
19
- "permission_compilation": true
20
- },
21
- "experimental": {
22
- "chat_system_transform": false,
23
- "chat_messages_transform": false,
24
- "session_compacting": false,
25
- "text_complete": false
26
- },
27
- "supervision_config": {
28
- "idle_timeout_ms": 180000,
29
- "cooldown_ms": 300000
30
- },
31
- "quality_config": {
32
- "reminder_idle_ms": 120000,
33
- "reminder_cooldown_ms": 300000
34
- }
35
- },
36
2
  "agentSettings": {
37
3
  "planner": {
38
4
  "model": "anthropic/claude-opus-4-6",
@@ -78,6 +44,11 @@
78
44
  "model": "anthropic/claude-sonnet-4-6",
79
45
  "temperature": 0,
80
46
  "steps": 30
47
+ },
48
+ "brainstormer": {
49
+ "model": "anthropic/claude-opus-4-6",
50
+ "temperature": 0.3,
51
+ "steps": 200
81
52
  }
82
53
  },
83
54
  "mcpDefaults": {
@@ -114,67 +85,5 @@
114
85
  },
115
86
  "enabled": false
116
87
  }
117
- },
118
- "profiles": {
119
- "minimal": {
120
- "enforcement": true,
121
- "observation": false,
122
- "prompt_controls": false,
123
- "agent_compilation": true,
124
- "command_compilation": true,
125
- "mcp_compilation": true,
126
- "telemetry": false,
127
- "supervision": false,
128
- "quality_gate": false,
129
- "task_lifecycle": false,
130
- "quality_gate_enforcement": false,
131
- "concurrency_limit": 0,
132
- "experimental": {
133
- "chat_system_transform": false,
134
- "chat_messages_transform": false,
135
- "session_compacting": false,
136
- "text_complete": false
137
- }
138
- },
139
- "standard": {
140
- "enforcement": true,
141
- "observation": true,
142
- "prompt_controls": true,
143
- "agent_compilation": true,
144
- "command_compilation": true,
145
- "mcp_compilation": true,
146
- "telemetry": true,
147
- "supervision": true,
148
- "quality_gate": true,
149
- "task_lifecycle": true,
150
- "quality_gate_enforcement": false,
151
- "concurrency_limit": 5,
152
- "experimental": {
153
- "chat_system_transform": false,
154
- "chat_messages_transform": false,
155
- "session_compacting": false,
156
- "text_complete": false
157
- }
158
- },
159
- "strict": {
160
- "enforcement": true,
161
- "observation": true,
162
- "prompt_controls": true,
163
- "agent_compilation": true,
164
- "command_compilation": true,
165
- "mcp_compilation": true,
166
- "telemetry": true,
167
- "supervision": true,
168
- "quality_gate": true,
169
- "task_lifecycle": true,
170
- "quality_gate_enforcement": true,
171
- "concurrency_limit": 5,
172
- "experimental": {
173
- "chat_system_transform": true,
174
- "chat_messages_transform": true,
175
- "session_compacting": true,
176
- "text_complete": true
177
- }
178
- }
179
88
  }
180
89
  }
@@ -1,144 +1,22 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "title": "opencode-multiagent settings",
4
- "description": "Unified bundled settings and schema surface for the OpenCode multi-agent plugin.",
4
+ "description": "User-overridable settings for the OpenCode multi-agent plugin.",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
7
  "properties": {
8
- "flags": {
9
- "title": "opencode-multiagent flags",
10
- "description": "Partial runtime overrides for the OpenCode multi-agent control plane plugin.",
11
- "type": "object",
12
- "additionalProperties": false,
13
- "properties": {
14
- "profile": {
15
- "type": "string",
16
- "enum": ["minimal", "standard", "strict"],
17
- "description": "Named runtime profile to use as the base flag set."
18
- },
19
- "enforcement": {
20
- "type": "boolean",
21
- "description": "Enable local path and shell safety enforcement hooks."
22
- },
23
- "observation": {
24
- "type": "boolean",
25
- "description": "Enable JSONL observation logging for events and tool executions."
26
- },
27
- "prompt_controls": {
28
- "type": "boolean",
29
- "description": "Enable prompt metadata headers and risky-input logging."
30
- },
31
- "agent_compilation": {
32
- "type": "boolean",
33
- "description": "Compile bundled, global, and project agent markdown into config."
34
- },
35
- "command_compilation": {
36
- "type": "boolean",
37
- "description": "Compile bundled, global, and project command markdown into config."
38
- },
39
- "mcp_compilation": {
40
- "type": "boolean",
41
- "description": "Inject plugin-managed MCP server defaults when missing from config."
42
- },
43
- "telemetry": {
44
- "type": "boolean",
45
- "description": "Enable detailed agent and tool telemetry in the plugin JSONL log."
46
- },
47
- "supervision": {
48
- "type": "boolean",
49
- "description": "Enable parent-child idle supervision reminders."
50
- },
51
- "quality_gate": {
52
- "type": "boolean",
53
- "description": "Enable quality reminder tracking for edited sessions."
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
- },
68
- "skill_injection": {
69
- "type": "boolean",
70
- "description": "Enable dynamic skill registry lookup and prompt injection."
71
- },
72
- "skill_sources": {
73
- "type": "array",
74
- "description": "Skill registry search paths. Variables such as ${plugin_root} and ${home} are resolved at runtime.",
75
- "items": {
76
- "type": "string",
77
- "minLength": 1
78
- },
79
- "minItems": 1
80
- },
81
- "compiler": {
82
- "type": "object",
83
- "additionalProperties": false,
84
- "properties": {
85
- "permission_compilation": {
86
- "type": "boolean",
87
- "description": "Fill missing top-level OpenCode permission defaults conservatively."
88
- }
89
- }
90
- },
91
- "experimental": {
92
- "type": "object",
93
- "additionalProperties": false,
94
- "properties": {
95
- "chat_system_transform": {
96
- "type": "boolean"
97
- },
98
- "chat_messages_transform": {
99
- "type": "boolean"
100
- },
101
- "session_compacting": {
102
- "type": "boolean"
103
- },
104
- "text_complete": {
105
- "type": "boolean"
106
- }
107
- }
108
- },
109
- "supervision_config": {
110
- "type": "object",
111
- "additionalProperties": false,
112
- "properties": {
113
- "idle_timeout_ms": {
114
- "type": "number",
115
- "minimum": 0
116
- },
117
- "cooldown_ms": {
118
- "type": "number",
119
- "minimum": 0
120
- }
121
- }
122
- },
123
- "quality_config": {
124
- "type": "object",
125
- "additionalProperties": false,
126
- "properties": {
127
- "reminder_idle_ms": {
128
- "type": "number",
129
- "minimum": 0
130
- },
131
- "reminder_cooldown_ms": {
132
- "type": "number",
133
- "minimum": 0
134
- }
135
- }
136
- }
137
- }
8
+ "telemetry": {
9
+ "type": "boolean",
10
+ "description": "Enable or disable agent and tool telemetry logging."
11
+ },
12
+ "concurrency_limit": {
13
+ "type": "number",
14
+ "minimum": 0,
15
+ "description": "Maximum parallel child sessions per parent. 0 means unlimited."
138
16
  },
139
17
  "agentSettings": {
140
- "title": "opencode-multiagent agent settings",
141
- "description": "Central model, temperature, and step overrides per bundled agent.",
18
+ "title": "Agent model overrides",
19
+ "description": "Per-agent model, temperature, and step overrides.",
142
20
  "type": "object",
143
21
  "additionalProperties": {
144
22
  "type": "object",
@@ -162,8 +40,8 @@
162
40
  }
163
41
  },
164
42
  "mcpDefaults": {
165
- "title": "opencode-multiagent MCP defaults",
166
- "description": "Plugin-managed MCP server definitions that are conservatively injected when missing from the active OpenCode config.",
43
+ "title": "MCP server defaults",
44
+ "description": "Plugin-managed MCP server definitions injected when missing from config.",
167
45
  "type": "object",
168
46
  "additionalProperties": {
169
47
  "type": "object",
@@ -179,17 +57,12 @@
179
57
  },
180
58
  "command": {
181
59
  "type": "array",
182
- "items": {
183
- "type": "string",
184
- "minLength": 1
185
- },
60
+ "items": { "type": "string", "minLength": 1 },
186
61
  "minItems": 1
187
62
  },
188
63
  "environment": {
189
64
  "type": "object",
190
- "additionalProperties": {
191
- "type": "string"
192
- }
65
+ "additionalProperties": { "type": "string" }
193
66
  },
194
67
  "enabled": {
195
68
  "type": "boolean"
@@ -197,69 +70,6 @@
197
70
  },
198
71
  "required": ["type", "enabled"]
199
72
  }
200
- },
201
- "profiles": {
202
- "title": "opencode-multiagent profiles",
203
- "description": "Named flag bundles for switching plugin behavior by profile.",
204
- "type": "object",
205
- "additionalProperties": {
206
- "type": "object",
207
- "additionalProperties": false,
208
- "properties": {
209
- "enforcement": { "type": "boolean" },
210
- "observation": { "type": "boolean" },
211
- "prompt_controls": { "type": "boolean" },
212
- "agent_compilation": { "type": "boolean" },
213
- "command_compilation": { "type": "boolean" },
214
- "mcp_compilation": { "type": "boolean" },
215
- "telemetry": { "type": "boolean" },
216
- "supervision": { "type": "boolean" },
217
- "quality_gate": { "type": "boolean" },
218
- "task_lifecycle": { "type": "boolean" },
219
- "quality_gate_enforcement": { "type": "boolean" },
220
- "concurrency_limit": { "type": "number", "minimum": 0 },
221
- "skill_injection": { "type": "boolean" },
222
- "skill_sources": {
223
- "type": "array",
224
- "items": { "type": "string", "minLength": 1 },
225
- "minItems": 1
226
- },
227
- "compiler": {
228
- "type": "object",
229
- "additionalProperties": false,
230
- "properties": {
231
- "permission_compilation": { "type": "boolean" }
232
- }
233
- },
234
- "experimental": {
235
- "type": "object",
236
- "additionalProperties": false,
237
- "properties": {
238
- "chat_system_transform": { "type": "boolean" },
239
- "chat_messages_transform": { "type": "boolean" },
240
- "session_compacting": { "type": "boolean" },
241
- "text_complete": { "type": "boolean" }
242
- }
243
- },
244
- "supervision_config": {
245
- "type": "object",
246
- "additionalProperties": false,
247
- "properties": {
248
- "idle_timeout_ms": { "type": "number", "minimum": 0 },
249
- "cooldown_ms": { "type": "number", "minimum": 0 }
250
- }
251
- },
252
- "quality_config": {
253
- "type": "object",
254
- "additionalProperties": false,
255
- "properties": {
256
- "reminder_idle_ms": { "type": "number", "minimum": 0 },
257
- "reminder_cooldown_ms": { "type": "number", "minimum": 0 }
258
- }
259
- }
260
- }
261
- }
262
73
  }
263
- },
264
- "required": ["flags", "agentSettings", "mcpDefaults", "profiles"]
74
+ }
265
75
  }
package/dist/index.js CHANGED
@@ -69,76 +69,7 @@ var mcpToolPrefixes = [
69
69
  "code_index_",
70
70
  "repo_git_"
71
71
  ];
72
- var defaultProfiles = {
73
- minimal: {
74
- enforcement: true,
75
- observation: false,
76
- prompt_controls: false,
77
- agent_compilation: true,
78
- command_compilation: true,
79
- mcp_compilation: true,
80
- telemetry: false,
81
- supervision: false,
82
- quality_gate: false,
83
- task_lifecycle: false,
84
- quality_gate_enforcement: false,
85
- concurrency_limit: 0,
86
- experimental: {
87
- chat_system_transform: false,
88
- chat_messages_transform: false,
89
- session_compacting: false,
90
- text_complete: false
91
- }
92
- },
93
- standard: {
94
- enforcement: true,
95
- observation: true,
96
- prompt_controls: true,
97
- agent_compilation: true,
98
- command_compilation: true,
99
- mcp_compilation: true,
100
- telemetry: true,
101
- supervision: true,
102
- quality_gate: true,
103
- task_lifecycle: true,
104
- quality_gate_enforcement: false,
105
- concurrency_limit: 5,
106
- skill_sources: [
107
- bundledSkillsDir,
108
- join(homedir(), ".agents", "skills"),
109
- join(homedir(), "skills")
110
- ],
111
- skill_injection: false,
112
- experimental: {
113
- chat_system_transform: false,
114
- chat_messages_transform: false,
115
- session_compacting: false,
116
- text_complete: false
117
- }
118
- },
119
- strict: {
120
- enforcement: true,
121
- observation: true,
122
- prompt_controls: true,
123
- agent_compilation: true,
124
- command_compilation: true,
125
- mcp_compilation: true,
126
- telemetry: true,
127
- supervision: true,
128
- quality_gate: true,
129
- task_lifecycle: true,
130
- quality_gate_enforcement: true,
131
- concurrency_limit: 5,
132
- experimental: {
133
- chat_system_transform: true,
134
- chat_messages_transform: true,
135
- session_compacting: true,
136
- text_complete: true
137
- }
138
- }
139
- };
140
72
  var defaultFlags = {
141
- profile: "standard",
142
73
  enforcement: true,
143
74
  observation: true,
144
75
  prompt_controls: true,
@@ -149,7 +80,7 @@ var defaultFlags = {
149
80
  supervision: true,
150
81
  quality_gate: true,
151
82
  task_lifecycle: true,
152
- quality_gate_enforcement: false,
83
+ quality_gate_enforcement: true,
153
84
  concurrency_limit: 5,
154
85
  skill_sources: [
155
86
  bundledSkillsDir,
@@ -161,10 +92,10 @@ var defaultFlags = {
161
92
  permission_compilation: true
162
93
  },
163
94
  experimental: {
164
- chat_system_transform: false,
165
- chat_messages_transform: false,
166
- session_compacting: false,
167
- text_complete: false
95
+ chat_system_transform: true,
96
+ chat_messages_transform: true,
97
+ session_compacting: true,
98
+ text_complete: true
168
99
  },
169
100
  supervision_config: {
170
101
  idle_timeout_ms: 180000,
@@ -315,7 +246,7 @@ async function loadMarkdownDefs(dirs) {
315
246
  const defs = new Map;
316
247
  for (const dir of dedupe(dirs)) {
317
248
  const files = await readdir(dir).catch(() => []);
318
- for (const file of files.filter((name) => name.endsWith(".md")).sort()) {
249
+ for (const file of files.filter((name) => name.endsWith(".md") && name !== name.toUpperCase()).sort()) {
319
250
  try {
320
251
  const value = await readFile(join2(dir, file), "utf8");
321
252
  const { data, body } = parseFrontmatter(value);
@@ -1627,7 +1558,7 @@ var createPluginHooks = ({
1627
1558
  return;
1628
1559
  Object.assign(output.headers, {
1629
1560
  "x-opencode-multiagent": "1",
1630
- "x-opencode-multiagent-profile": flags.profile ?? "standard",
1561
+ "x-opencode-multiagent-profile": pluginMode,
1631
1562
  "x-opencode-agent": label(input.agent) ?? "unknown"
1632
1563
  });
1633
1564
  },
@@ -1816,7 +1747,7 @@ ${experimentalText}`;
1816
1747
  Object.assign(output.env, {
1817
1748
  OPENCODE_MULTIAGENT: "1",
1818
1749
  OPENCODE_MULTIAGENT_MODE: pluginMode,
1819
- OPENCODE_MULTIAGENT_PROFILE: flags.profile ?? "standard",
1750
+ OPENCODE_MULTIAGENT_PROFILE: pluginMode,
1820
1751
  OPENCODE_CONTROL_PLANE: "1"
1821
1752
  });
1822
1753
  },
@@ -1863,32 +1794,21 @@ ${String(output.output ?? "")}`.toLowerCase();
1863
1794
  };
1864
1795
 
1865
1796
  // src/opencode-multiagent/runtime.ts
1866
- var readSettingsSection = (value) => {
1867
- if (!value || typeof value !== "object" || Array.isArray(value)) {
1868
- return {};
1869
- }
1870
- return value;
1871
- };
1872
1797
  async function loadRuntimeSettings() {
1873
- const [bundledDefaults, unifiedUserSettings] = await Promise.all([
1798
+ const [bundledDefaults, userSettings] = await Promise.all([
1874
1799
  loadBundledDefaults().catch(() => ({})),
1875
1800
  readJSON(settingsPath, {})
1876
1801
  ]);
1877
1802
  const defaultAgentSettings = readBundledDefaultsSection(bundledDefaults, "agentSettings", {});
1878
- const userFlags = readSettingsSection(unifiedUserSettings.flags);
1879
- const userAgentSettings = readSettingsSection(unifiedUserSettings.agentSettings);
1880
- const userProfiles = readSettingsSection(unifiedUserSettings.profiles);
1881
- const profiles = merge(defaultProfiles, userProfiles);
1882
- const profileName = typeof userFlags.profile === "string" ? userFlags.profile : defaultFlags.profile;
1883
- const profile = profiles[profileName] ?? {};
1884
- if (!(profileName in profiles)) {
1885
- await note("config_warning", {
1886
- observation: true,
1887
- warning: "unknown_profile",
1888
- profile: profileName
1889
- });
1803
+ const userFlagOverrides = {};
1804
+ if (typeof userSettings.telemetry === "boolean") {
1805
+ userFlagOverrides.telemetry = userSettings.telemetry;
1806
+ }
1807
+ if (typeof userSettings.concurrency_limit === "number") {
1808
+ userFlagOverrides.concurrency_limit = userSettings.concurrency_limit;
1890
1809
  }
1891
- const flags = merge(merge(defaultFlags, profile), userFlags);
1810
+ const flags = merge(defaultFlags, userFlagOverrides);
1811
+ const userAgentSettings = userSettings.agentSettings ?? {};
1892
1812
  const agentSettings = merge(defaultAgentSettings, userAgentSettings);
1893
1813
  return { flags, agentSettings };
1894
1814
  }
@@ -18,72 +18,7 @@ export declare const qualityEventTypes: Set<string>;
18
18
  export declare const suspiciousTerms: string[];
19
19
  export declare const qualitySignalRegex: RegExp;
20
20
  export declare const mcpToolPrefixes: string[];
21
- export declare const defaultProfiles: {
22
- minimal: {
23
- enforcement: boolean;
24
- observation: boolean;
25
- prompt_controls: boolean;
26
- agent_compilation: boolean;
27
- command_compilation: boolean;
28
- mcp_compilation: boolean;
29
- telemetry: boolean;
30
- supervision: boolean;
31
- quality_gate: boolean;
32
- task_lifecycle: boolean;
33
- quality_gate_enforcement: boolean;
34
- concurrency_limit: number;
35
- experimental: {
36
- chat_system_transform: boolean;
37
- chat_messages_transform: boolean;
38
- session_compacting: boolean;
39
- text_complete: boolean;
40
- };
41
- };
42
- standard: {
43
- enforcement: boolean;
44
- observation: boolean;
45
- prompt_controls: boolean;
46
- agent_compilation: boolean;
47
- command_compilation: boolean;
48
- mcp_compilation: boolean;
49
- telemetry: boolean;
50
- supervision: boolean;
51
- quality_gate: boolean;
52
- task_lifecycle: boolean;
53
- quality_gate_enforcement: boolean;
54
- concurrency_limit: number;
55
- skill_sources: string[];
56
- skill_injection: boolean;
57
- experimental: {
58
- chat_system_transform: boolean;
59
- chat_messages_transform: boolean;
60
- session_compacting: boolean;
61
- text_complete: boolean;
62
- };
63
- };
64
- strict: {
65
- enforcement: boolean;
66
- observation: boolean;
67
- prompt_controls: boolean;
68
- agent_compilation: boolean;
69
- command_compilation: boolean;
70
- mcp_compilation: boolean;
71
- telemetry: boolean;
72
- supervision: boolean;
73
- quality_gate: boolean;
74
- task_lifecycle: boolean;
75
- quality_gate_enforcement: boolean;
76
- concurrency_limit: number;
77
- experimental: {
78
- chat_system_transform: boolean;
79
- chat_messages_transform: boolean;
80
- session_compacting: boolean;
81
- text_complete: boolean;
82
- };
83
- };
84
- };
85
21
  export declare const defaultFlags: {
86
- profile: string;
87
22
  enforcement: boolean;
88
23
  observation: boolean;
89
24
  prompt_controls: boolean;
@@ -124,5 +59,4 @@ export declare const destructiveBashFragments: string[];
124
59
  export declare const sensitiveMentions: string[];
125
60
  export declare const experimentalText = "[opencode-multiagent experimental] Experimental control-plane transforms are active for this session.";
126
61
  export type DefaultFlags = typeof defaultFlags;
127
- export type DefaultProfiles = typeof defaultProfiles;
128
62
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/constants.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,UAAU,wBAAwB,CAAC;AAChD,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,eAAO,MAAM,WAAW,QAAyC,CAAC;AAClE,eAAO,MAAM,SAAS,QAA+B,CAAC;AACtD,eAAO,MAAM,eAAe,QAA8B,CAAC;AAC3D,eAAO,MAAM,iBAAiB,QAAgC,CAAC;AAC/D,eAAO,MAAM,UAAU,QAA4B,CAAC;AACpD,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,YAAY,QAAwC,CAAC;AAElE,eAAO,MAAM,WAAW,QAAsB,CAAC;AAC/C,eAAO,MAAM,mBAAmB,QAA4D,CAAC;AAC7F,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAC5D,eAAO,MAAM,kBAAkB,QAAgC,CAAC;AAChE,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAE5D,eAAO,MAAM,iBAAiB,aAW5B,CAAC;AAEH,eAAO,MAAM,qBAAqB,aAKhC,CAAC;AAEH,eAAO,MAAM,iBAAiB,aAA8D,CAAC;AAC7F,eAAO,MAAM,eAAe,UAA0D,CAAC;AACvF,eAAO,MAAM,kBAAkB,QACqF,CAAC;AAErH,eAAO,MAAM,eAAe,UAO3B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmE3B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAA0C,CAAC;AAE5E,eAAO,MAAM,sBAAsB,QAAsD,CAAC;AAC1F,eAAO,MAAM,oBAAoB,UAOhC,CAAC;AACF,eAAO,MAAM,mBAAmB,UAA4B,CAAC;AAE7D,eAAO,MAAM,wBAAwB,UAoBpC,CAAC;AACF,eAAO,MAAM,iBAAiB,UAS7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0GAC4E,CAAC;AAE1G,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAC/C,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/constants.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,UAAU,wBAAwB,CAAC;AAChD,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,eAAO,MAAM,WAAW,QAAyC,CAAC;AAClE,eAAO,MAAM,SAAS,QAA+B,CAAC;AACtD,eAAO,MAAM,eAAe,QAA8B,CAAC;AAC3D,eAAO,MAAM,iBAAiB,QAAgC,CAAC;AAC/D,eAAO,MAAM,UAAU,QAA4B,CAAC;AACpD,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,YAAY,QAAwC,CAAC;AAElE,eAAO,MAAM,WAAW,QAAsB,CAAC;AAC/C,eAAO,MAAM,mBAAmB,QAA4D,CAAC;AAC7F,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAC5D,eAAO,MAAM,kBAAkB,QAAgC,CAAC;AAChE,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAE5D,eAAO,MAAM,iBAAiB,aAW5B,CAAC;AAEH,eAAO,MAAM,qBAAqB,aAKhC,CAAC;AAEH,eAAO,MAAM,iBAAiB,aAA8D,CAAC;AAC7F,eAAO,MAAM,eAAe,UAA0D,CAAC;AACvF,eAAO,MAAM,kBAAkB,QACqF,CAAC;AAErH,eAAO,MAAM,eAAe,UAO3B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAA0C,CAAC;AAE5E,eAAO,MAAM,sBAAsB,QAAsD,CAAC;AAC1F,eAAO,MAAM,oBAAoB,UAOhC,CAAC;AACF,eAAO,MAAM,mBAAmB,UAA4B,CAAC;AAE7D,eAAO,MAAM,wBAAwB,UAoBpC,CAAC;AACF,eAAO,MAAM,iBAAiB,UAS7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0GAC4E,CAAC;AAE1G,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC"}
@@ -1,9 +1,7 @@
1
1
  import type { GenericRecord } from './types.ts';
2
2
  export type BundledDefaults = {
3
- flags?: GenericRecord;
4
3
  agentSettings?: GenericRecord;
5
4
  mcpDefaults?: GenericRecord;
6
- profiles?: GenericRecord;
7
5
  };
8
6
  export declare const loadBundledDefaults: () => Promise<BundledDefaults>;
9
7
  export declare const readBundledDefaultsSection: <T>(defaults: BundledDefaults, section: keyof BundledDefaults, fallback: T) => T;
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/defaults.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAYF,eAAO,MAAM,mBAAmB,QAAa,OAAO,CAAC,eAAe,CAQnE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,CAAC,EAC1C,UAAU,eAAe,EACzB,SAAS,MAAM,eAAe,EAC9B,UAAU,CAAC,KACV,CAQF,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/defaults.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B,CAAC;AAYF,eAAO,MAAM,mBAAmB,QAAa,OAAO,CAAC,eAAe,CAQnE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,CAAC,EAC1C,UAAU,eAAe,EACzB,SAAS,MAAM,eAAe,EAC9B,UAAU,CAAC,KACV,CAQF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/markdown.ts"],"names":[],"mappings":"AAGA,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0E/C,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;UAC/B,eAAe;UAAQ,MAAM;YAAU,MAAM;IAcnF"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/markdown.ts"],"names":[],"mappings":"AAGA,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0E/C,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;UAC/B,eAAe;UAAQ,MAAM;YAAU,MAAM;IAgBnF"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiC,MAAM,gBAAgB,CAAC;AAG7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgBhD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IACnD,KAAK,EAAE,OAAO,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC,CA8BD"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAehD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IACnD,KAAK,EAAE,OAAO,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC,CA0BD"}
package/docs/agents.md CHANGED
@@ -4,12 +4,12 @@
4
4
 
5
5
  # Agent Reference
6
6
 
7
- `opencode-multiagent` ships 9 bundled agents:
7
+ `opencode-multiagent` ships 10 bundled agents:
8
8
 
9
- - 2 primary agents
9
+ - 3 primary agents
10
10
  - 7 subagents
11
11
 
12
- All bundled agents currently default to `temperature: 0`.
12
+ Most bundled agents default to `temperature: 0`. The exception is `brainstormer` which uses `temperature: 0.3` for more creative exploration.
13
13
 
14
14
  ## System Shape
15
15
 
@@ -22,6 +22,10 @@ The system is intentionally layered:
22
22
  ## High-Level Hierarchy
23
23
 
24
24
  ```text
25
+ brainstormer (pre-planning exploration + idea refinement)
26
+ ├── scout (research)
27
+ └── auditor (stress-test ideas)
28
+
25
29
  planner (triage + planning + inspection)
26
30
  ├── executor (execution coordination)
27
31
  │ ├── coder (standard coding) -> reviewer, scout
@@ -38,6 +42,15 @@ planner (triage + planning + inspection)
38
42
 
39
43
  ## Primary Agents
40
44
 
45
+ ### `brainstormer`
46
+
47
+ - Mode: `primary`
48
+ - Default model: `anthropic/claude-opus-4-6`
49
+ - Temperature: `0.3`
50
+ - Steps: `200`
51
+ - Purpose: pre-planning exploration and idea refinement
52
+ - Best for: exploring ideas with the user before planning begins, surfacing gaps and alternatives, challenging assumptions, and producing a planner-ready brief when the discussion concludes
53
+
41
54
  ### `planner`
42
55
 
43
56
  - Mode: `primary`
@@ -120,9 +133,9 @@ planner (triage + planning + inspection)
120
133
 
121
134
  ## Agent Categories at a Glance
122
135
 
123
- | Category | Agents |
124
- | --------------------- | --------------------------------- |
125
- | Primary orchestration | `planner`, `executor` |
136
+ | Category | Agents |
137
+ | --------------------- | ------------------------------------------ |
138
+ | Primary orchestration | `brainstormer`, `planner`, `executor` |
126
139
  | Coding | `coder`, `ui-coder`, `sec-coder` |
127
140
  | Quality | `reviewer`, `auditor` |
128
141
  | Research | `scout` |
@@ -130,17 +143,18 @@ planner (triage + planning + inspection)
130
143
 
131
144
  ## Summary Table
132
145
 
133
- | Agent | Category | Mode | Model | Steps | Primary use |
134
- | ----------- | ------------- | ---------- | ----------------------------- | ----- | ---------------------------------------- |
135
- | `planner` | Primary | `primary` | `anthropic/claude-opus-4-6` | `200` | Triage, planning, challenge, inspection |
136
- | `executor` | Primary | `primary` | `anthropic/claude-sonnet-4-6` | `200` | Execution orchestration |
137
- | `coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | Standard bounded coding work |
138
- | `ui-coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | UI and UX work |
139
- | `sec-coder` | Coding | `subagent` | `anthropic/claude-opus-4-6` | `60` | Security-sensitive implementation |
140
- | `reviewer` | Quality | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Code review, QA, and validation |
141
- | `auditor` | Quality | `subagent` | `anthropic/claude-opus-4-6` | `40` | Plan gap finding before execution |
142
- | `scout` | Research | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | File discovery and external research |
143
- | `docmaster` | Documentation | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Docs and `.magent` writing |
146
+ | Agent | Category | Mode | Model | Steps | Primary use |
147
+ | -------------- | ------------- | ---------- | ----------------------------- | ----- | ---------------------------------------- |
148
+ | `brainstormer` | Primary | `primary` | `anthropic/claude-opus-4-6` | `200` | Pre-planning exploration and ideation |
149
+ | `planner` | Primary | `primary` | `anthropic/claude-opus-4-6` | `200` | Triage, planning, challenge, inspection |
150
+ | `executor` | Primary | `primary` | `anthropic/claude-sonnet-4-6` | `200` | Execution orchestration |
151
+ | `coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | Standard bounded coding work |
152
+ | `ui-coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | UI and UX work |
153
+ | `sec-coder` | Coding | `subagent` | `anthropic/claude-opus-4-6` | `60` | Security-sensitive implementation |
154
+ | `reviewer` | Quality | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Code review, QA, and validation |
155
+ | `auditor` | Quality | `subagent` | `anthropic/claude-opus-4-6` | `40` | Plan gap finding before execution |
156
+ | `scout` | Research | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | File discovery and external research |
157
+ | `docmaster` | Documentation | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Docs and `.magent` writing |
144
158
 
145
159
  ## Related Docs
146
160
 
package/docs/agents.tr.md CHANGED
@@ -4,12 +4,12 @@
4
4
 
5
5
  # Ajan Referansı
6
6
 
7
- `opencode-multiagent`, 9 paketlenmiş ajan ile gelir:
7
+ `opencode-multiagent`, 10 paketlenmiş ajan ile gelir:
8
8
 
9
- - 2 ana ajan
9
+ - 3 ana ajan
10
10
  - 7 alt ajan
11
11
 
12
- Paketlenmiş tüm ajanlar şu anda varsayılan olarak `temperature: 0` kullanır.
12
+ Paketlenmiş ajanların çoğu varsayılan olarak `temperature: 0` kullanır. Tek istisna, daha yaratıcı keşif için `temperature: 0.3` kullanan `brainstormer` ajanıdır.
13
13
 
14
14
  ## Sistem Yapısı
15
15
 
@@ -23,6 +23,10 @@ Sistem katmanlı olacak şekilde tasarlanmıştır:
23
23
 
24
24
  ```text
25
25
  kullanici
26
+ -> brainstormer (planlama öncesi keşif + fikir olgunlaştırma)
27
+ -> scout (araştırma)
28
+ -> auditor (fikirleri stres-test)
29
+
26
30
  -> planner (triage + planlama + inspeksiyon)
27
31
  -> executor (yürütme koordinasyonu)
28
32
  -> coder (standart kodlama) -> reviewer, scout
@@ -39,6 +43,15 @@ kullanici
39
43
 
40
44
  ## Ana Ajanlar
41
45
 
46
+ ### `brainstormer`
47
+
48
+ - Mod: `primary`
49
+ - Varsayılan model: `anthropic/claude-opus-4-6`
50
+ - Temperature: `0.3`
51
+ - Steps: `200`
52
+ - Amaç: planlama öncesi keşif ve fikir olgunlaştırma
53
+ - En uygun kullanım: planlama başlamadan önce kullanıcıyla birlikte fikirleri keşfetmek, boşlukları ve alternatifleri ortaya çıkarmak, varsayımları sorgulamak ve tartışma tamamlandığında planner'a hazır bir brief üretmek
54
+
42
55
  ### `planner`
43
56
 
44
57
  - Mod: `primary`
@@ -121,9 +134,9 @@ kullanici
121
134
 
122
135
  ## Kategori Özeti
123
136
 
124
- | Kategori | Ajanlar |
125
- | ------------------- | ------------------------------------ |
126
- | Ana orkestrasyon | `planner`, `executor` |
137
+ | Kategori | Ajanlar |
138
+ | ------------------- | ---------------------------------------------- |
139
+ | Ana orkestrasyon | `brainstormer`, `planner`, `executor` |
127
140
  | Kodlama ajanları | `coder`, `ui-coder`, `sec-coder` |
128
141
  | Kalite | `reviewer`, `auditor` |
129
142
  | Araştırma | `scout` |
@@ -131,17 +144,18 @@ kullanici
131
144
 
132
145
  ## Özet Tablo
133
146
 
134
- | Agent | Kategori | Mod | Model | Steps | Ana kullanım |
135
- | ----------- | ------------- | ---------- | ----------------------------- | ----- | ------------------------------------------------------- |
136
- | `planner` | Primary | `primary` | `anthropic/claude-opus-4-6` | `200` | Triage, planlama, challenge, inspeksiyon |
137
- | `executor` | Primary | `primary` | `anthropic/claude-sonnet-4-6` | `200` | Yürütme orkestrasyonu |
138
- | `coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | Standart kodlama |
139
- | `ui-coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | UI/UX kodlama |
140
- | `sec-coder` | Coding | `subagent` | `anthropic/claude-opus-4-6` | `60` | Güvenlik hassas kodlama |
141
- | `reviewer` | Quality | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Kod inceleme, QA, doğrulama |
142
- | `auditor` | Quality | `subagent` | `anthropic/claude-opus-4-6` | `40` | Plan açığı bulma ve denetim |
143
- | `scout` | Research | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Dosya keşfi ve araştırma |
144
- | `docmaster` | Documentation | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Doküman, `.magent` yazımı ve GitHub |
147
+ | Agent | Kategori | Mod | Model | Steps | Ana kullanım |
148
+ | -------------- | ------------- | ---------- | ----------------------------- | ----- | ------------------------------------------------------- |
149
+ | `brainstormer` | Primary | `primary` | `anthropic/claude-opus-4-6` | `200` | Planlama öncesi keşif ve fikir olgunlaştırma |
150
+ | `planner` | Primary | `primary` | `anthropic/claude-opus-4-6` | `200` | Triage, planlama, challenge, inspeksiyon |
151
+ | `executor` | Primary | `primary` | `anthropic/claude-sonnet-4-6` | `200` | Yürütme orkestrasyonu |
152
+ | `coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | Standart kodlama |
153
+ | `ui-coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | UI/UX kodlama |
154
+ | `sec-coder` | Coding | `subagent` | `anthropic/claude-opus-4-6` | `60` | Güvenlik hassas kodlama |
155
+ | `reviewer` | Quality | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Kod inceleme, QA, doğrulama |
156
+ | `auditor` | Quality | `subagent` | `anthropic/claude-opus-4-6` | `40` | Plan açığı bulma ve denetim |
157
+ | `scout` | Research | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Dosya keşfi ve araştırma |
158
+ | `docmaster` | Documentation | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Doküman, `.magent` yazımı ve GitHub |
145
159
 
146
160
  ## İlgili Dokümanlar
147
161
 
@@ -130,19 +130,20 @@ This section centralizes per-agent defaults for:
130
130
  - `temperature`
131
131
  - `steps`
132
132
 
133
- All bundled agents currently default to `temperature: 0`.
134
-
135
- | Agent | Category | Default model | Steps |
136
- | ----------- | ------------- | ----------------------------- | ----- |
137
- | `planner` | Primary | `anthropic/claude-opus-4-6` | `200` |
138
- | `executor` | Primary | `anthropic/claude-sonnet-4-6` | `200` |
139
- | `coder` | Coding | `anthropic/claude-sonnet-4-6` | `40` |
140
- | `ui-coder` | Coding | `anthropic/claude-sonnet-4-6` | `40` |
141
- | `sec-coder` | Coding | `anthropic/claude-opus-4-6` | `60` |
142
- | `reviewer` | Quality | `anthropic/claude-sonnet-4-6` | `30` |
143
- | `auditor` | Quality | `anthropic/claude-opus-4-6` | `40` |
144
- | `scout` | Research | `anthropic/claude-sonnet-4-6` | `30` |
145
- | `docmaster` | Documentation | `anthropic/claude-sonnet-4-6` | `30` |
133
+ Most bundled agents default to `temperature: 0`. The exception is `brainstormer` which uses `temperature: 0.3` for more creative exploration.
134
+
135
+ | Agent | Category | Default model | Steps |
136
+ | -------------- | ------------- | ----------------------------- | ----- |
137
+ | `brainstormer` | Primary | `anthropic/claude-opus-4-6` | `200` |
138
+ | `planner` | Primary | `anthropic/claude-opus-4-6` | `200` |
139
+ | `executor` | Primary | `anthropic/claude-sonnet-4-6` | `200` |
140
+ | `coder` | Coding | `anthropic/claude-sonnet-4-6` | `40` |
141
+ | `ui-coder` | Coding | `anthropic/claude-sonnet-4-6` | `40` |
142
+ | `sec-coder` | Coding | `anthropic/claude-opus-4-6` | `60` |
143
+ | `reviewer` | Quality | `anthropic/claude-sonnet-4-6` | `30` |
144
+ | `auditor` | Quality | `anthropic/claude-opus-4-6` | `40` |
145
+ | `scout` | Research | `anthropic/claude-sonnet-4-6` | `30` |
146
+ | `docmaster` | Documentation | `anthropic/claude-sonnet-4-6` | `30` |
146
147
 
147
148
  ## `mcpDefaults`
148
149
 
@@ -131,19 +131,20 @@ Bu bölüm, agent bazında şu varsayılanları merkezi olarak yönetir:
131
131
  - `temperature`
132
132
  - `steps`
133
133
 
134
- Paketlenmiş tüm agent'lar şu anda varsayılan olarak `temperature: 0` kullanır.
135
-
136
- | Agent | Kategori | Varsayılan model | Steps |
137
- | ----------- | ------------- | ----------------------------- | ----- |
138
- | `planner` | Primary | `anthropic/claude-opus-4-6` | `200` |
139
- | `executor` | Primary | `anthropic/claude-sonnet-4-6` | `200` |
140
- | `coder` | Coding | `anthropic/claude-sonnet-4-6` | `40` |
141
- | `ui-coder` | Coding | `anthropic/claude-sonnet-4-6` | `40` |
142
- | `sec-coder` | Coding | `anthropic/claude-opus-4-6` | `60` |
143
- | `reviewer` | Quality | `anthropic/claude-sonnet-4-6` | `30` |
144
- | `auditor` | Quality | `anthropic/claude-opus-4-6` | `40` |
145
- | `scout` | Research | `anthropic/claude-sonnet-4-6` | `30` |
146
- | `docmaster` | Documentation | `anthropic/claude-sonnet-4-6` | `30` |
134
+ Paketlenmiş ajanların çoğu varsayılan olarak `temperature: 0` kullanır. Tek istisna, daha yaratıcı keşif için `temperature: 0.3` kullanan `brainstormer` ajanıdır.
135
+
136
+ | Agent | Kategori | Varsayılan model | Steps |
137
+ | -------------- | ------------- | ----------------------------- | ----- |
138
+ | `brainstormer` | Primary | `anthropic/claude-opus-4-6` | `200` |
139
+ | `planner` | Primary | `anthropic/claude-opus-4-6` | `200` |
140
+ | `executor` | Primary | `anthropic/claude-sonnet-4-6` | `200` |
141
+ | `coder` | Coding | `anthropic/claude-sonnet-4-6` | `40` |
142
+ | `ui-coder` | Coding | `anthropic/claude-sonnet-4-6` | `40` |
143
+ | `sec-coder` | Coding | `anthropic/claude-opus-4-6` | `60` |
144
+ | `reviewer` | Quality | `anthropic/claude-sonnet-4-6` | `30` |
145
+ | `auditor` | Quality | `anthropic/claude-opus-4-6` | `40` |
146
+ | `scout` | Research | `anthropic/claude-sonnet-4-6` | `30` |
147
+ | `docmaster` | Documentation | `anthropic/claude-sonnet-4-6` | `30` |
147
148
 
148
149
  ## `mcpDefaults`
149
150
 
@@ -39,20 +39,23 @@ When OpenCode loads the package, the plugin:
39
39
  ## 3. Normal User Flow
40
40
 
41
41
  In normal use, you do not need to pick worker agents manually. The system is designed so the
42
- top-level interaction goes through `planner`.
42
+ top-level interaction goes through `planner` for most tasks. For exploratory work where the
43
+ direction is unclear, start with `brainstormer` first.
43
44
 
44
- Typical flow:
45
+ Typical flows:
45
46
 
46
47
  ```text
47
48
  user -> planner -> executor -> specialized subagents
49
+ user -> brainstormer -> (concludes with brief) -> planner -> executor -> ...
48
50
  ```
49
51
 
50
52
  ### The main routing roles
51
53
 
52
- | Agent | Role |
53
- | ---------- | -------------------------------------------------------------------------- |
54
- | `planner` | Owns triage, planning, challenge, inspection, and result integration. |
55
- | `executor` | Runs the plan by dispatching bounded coding tasks and validating results. |
54
+ | Agent | Role |
55
+ | -------------- | -------------------------------------------------------------------------- |
56
+ | `brainstormer` | Explores ideas with the user before planning. Produces a planner brief. |
57
+ | `planner` | Owns triage, planning, challenge, inspection, and result integration. |
58
+ | `executor` | Runs the plan by dispatching bounded coding tasks and validating results. |
56
59
 
57
60
  ## 4. Triage Levels
58
61
 
@@ -38,21 +38,24 @@ OpenCode paketi yüklediğinde plugin şu adımları uygular:
38
38
 
39
39
  ## 3. Normal Kullanım Akışı
40
40
 
41
- Normal kullanımda uzman ajanları elle seçmeniz gerekmez. Sistem, top-level etkileşimin `planner`
42
- üzerinden gitmesi için tasarlanmıştır.
41
+ Normal kullanımda uzman ajanları elle seçmeniz gerekmez. Sistem, çoğu görev için top-level
42
+ etkileşimin `planner` üzerinden gitmesi için tasarlanmıştır. Yönün belirsiz olduğu keşif
43
+ çalışmalarında önce `brainstormer` ile başlayabilirsiniz.
43
44
 
44
- Tipik akış:
45
+ Tipik akışlar:
45
46
 
46
47
  ```text
47
48
  kullanici -> planner -> executor -> uzman alt ajanlar
49
+ kullanici -> brainstormer -> (brief ile sonuçlanır) -> planner -> executor -> ...
48
50
  ```
49
51
 
50
52
  ### Temel routing rolleri
51
53
 
52
- | Agent | Rol |
53
- | ---------- | -------------------------------------------------------------------------------------- |
54
- | `planner` | Talebi triage eder, route seçer, büyük işler için plan üretir, sonuçları inceler. |
55
- | `executor` | Planı bounded uzman görevlerine bölerek uygular ve sonuçları doğrular. |
54
+ | Agent | Rol |
55
+ | -------------- | -------------------------------------------------------------------------------------- |
56
+ | `brainstormer` | Planlama öncesi kullanıcıyla fikirleri keşfeder, planner'a hazır brief üretir. |
57
+ | `planner` | Talebi triage eder, route seçer, büyük işler için plan üretir, sonuçları inceler. |
58
+ | `executor` | Planı bounded uzman görevlerine bölerek uygular ve sonuçları doğrular. |
56
59
 
57
60
  ## 4. Triage Seviyeleri (Tier Modeli)
58
61
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-multiagent",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "description": "Multi-agent orchestration plugin for OpenCode",
6
6
  "license": "MIT",