opencode-multiagent 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/LICENSE +21 -0
- package/README.md +209 -0
- package/agents/advisor.md +57 -0
- package/agents/auditor.md +45 -0
- package/agents/critic.md +127 -0
- package/agents/deep-worker.md +65 -0
- package/agents/devil.md +36 -0
- package/agents/executor.md +141 -0
- package/agents/heavy-worker.md +68 -0
- package/agents/lead.md +155 -0
- package/agents/librarian.md +62 -0
- package/agents/planner.md +121 -0
- package/agents/qa.md +50 -0
- package/agents/quick.md +65 -0
- package/agents/reviewer.md +55 -0
- package/agents/scout.md +58 -0
- package/agents/scribe.md +78 -0
- package/agents/strategist.md +63 -0
- package/agents/ui-heavy-worker.md +62 -0
- package/agents/ui-worker.md +69 -0
- package/agents/validator.md +47 -0
- package/agents/worker.md +68 -0
- package/commands/execute.md +14 -0
- package/commands/init-deep.md +18 -0
- package/commands/init.md +18 -0
- package/commands/inspect.md +13 -0
- package/commands/plan.md +15 -0
- package/commands/quality.md +14 -0
- package/commands/review.md +14 -0
- package/commands/status.md +15 -0
- package/defaults/agent-settings.json +102 -0
- package/defaults/agent-settings.schema.json +25 -0
- package/defaults/flags.json +35 -0
- package/defaults/flags.schema.json +119 -0
- package/defaults/mcp-defaults.json +47 -0
- package/defaults/mcp-defaults.schema.json +38 -0
- package/defaults/profiles.json +53 -0
- package/defaults/profiles.schema.json +60 -0
- package/defaults/team-profiles.json +83 -0
- package/examples/opencode.json +4 -0
- package/examples/opencode.with-overrides.json +23 -0
- package/package.json +62 -0
- package/skills/advanced-evaluation/SKILL.md +454 -0
- package/skills/advanced-evaluation/manifest.json +20 -0
- package/skills/cek-context-engineering/SKILL.md +1261 -0
- package/skills/cek-context-engineering/manifest.json +17 -0
- package/skills/cek-prompt-engineering/SKILL.md +559 -0
- package/skills/cek-prompt-engineering/manifest.json +17 -0
- package/skills/cek-test-prompt/SKILL.md +714 -0
- package/skills/cek-test-prompt/manifest.json +17 -0
- package/skills/cek-thought-based-reasoning/SKILL.md +658 -0
- package/skills/cek-thought-based-reasoning/manifest.json +17 -0
- package/skills/context-degradation/SKILL.md +231 -0
- package/skills/context-degradation/manifest.json +17 -0
- package/skills/debate/SKILL.md +316 -0
- package/skills/debate/manifest.json +19 -0
- package/skills/design-first/SKILL.md +5 -0
- package/skills/design-first/manifest.json +20 -0
- package/skills/dispatching-parallel-agents/SKILL.md +180 -0
- package/skills/dispatching-parallel-agents/manifest.json +18 -0
- package/skills/drift-analysis/SKILL.md +324 -0
- package/skills/drift-analysis/manifest.json +19 -0
- package/skills/evaluation/SKILL.md +5 -0
- package/skills/evaluation/manifest.json +19 -0
- package/skills/executing-plans/SKILL.md +70 -0
- package/skills/executing-plans/manifest.json +17 -0
- package/skills/handoff-protocols/SKILL.md +5 -0
- package/skills/handoff-protocols/manifest.json +19 -0
- package/skills/parallel-investigation/SKILL.md +206 -0
- package/skills/parallel-investigation/manifest.json +18 -0
- package/skills/reflexion-critique/SKILL.md +477 -0
- package/skills/reflexion-critique/manifest.json +17 -0
- package/skills/reflexion-reflect/SKILL.md +650 -0
- package/skills/reflexion-reflect/manifest.json +17 -0
- package/skills/root-cause-analysis/SKILL.md +5 -0
- package/skills/root-cause-analysis/manifest.json +20 -0
- package/skills/sadd-judge-with-debate/SKILL.md +426 -0
- package/skills/sadd-judge-with-debate/manifest.json +17 -0
- package/skills/structured-code-review/SKILL.md +5 -0
- package/skills/structured-code-review/manifest.json +18 -0
- package/skills/task-decomposition/SKILL.md +5 -0
- package/skills/task-decomposition/manifest.json +20 -0
- package/skills/verification-before-completion/SKILL.md +5 -0
- package/skills/verification-before-completion/manifest.json +22 -0
- package/skills/verification-gates/SKILL.md +281 -0
- package/skills/verification-gates/manifest.json +19 -0
- package/src/control-plane.ts +21 -0
- package/src/index.ts +8 -0
- package/src/opencode-multiagent/compiler.ts +168 -0
- package/src/opencode-multiagent/constants.ts +178 -0
- package/src/opencode-multiagent/file-lock.ts +90 -0
- package/src/opencode-multiagent/hooks.ts +599 -0
- package/src/opencode-multiagent/log.ts +12 -0
- package/src/opencode-multiagent/mailbox.ts +287 -0
- package/src/opencode-multiagent/markdown.ts +99 -0
- package/src/opencode-multiagent/mcp.ts +35 -0
- package/src/opencode-multiagent/policy.ts +67 -0
- package/src/opencode-multiagent/quality.ts +140 -0
- package/src/opencode-multiagent/runtime.ts +55 -0
- package/src/opencode-multiagent/skills.ts +144 -0
- package/src/opencode-multiagent/supervision.ts +156 -0
- package/src/opencode-multiagent/task-manager.ts +148 -0
- package/src/opencode-multiagent/team-manager.ts +219 -0
- package/src/opencode-multiagent/team-tools.ts +359 -0
- package/src/opencode-multiagent/telemetry.ts +124 -0
- package/src/opencode-multiagent/utils.ts +54 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lead": {
|
|
3
|
+
"model": "anthropic/claude-opus-4-6",
|
|
4
|
+
"temperature": 0,
|
|
5
|
+
"steps": 500
|
|
6
|
+
},
|
|
7
|
+
"critic": {
|
|
8
|
+
"model": "openai/gpt-5.4",
|
|
9
|
+
"temperature": 0,
|
|
10
|
+
"steps": 200
|
|
11
|
+
},
|
|
12
|
+
"planner": {
|
|
13
|
+
"model": "anthropic/claude-opus-4-6",
|
|
14
|
+
"temperature": 0,
|
|
15
|
+
"steps": 100
|
|
16
|
+
},
|
|
17
|
+
"executor": {
|
|
18
|
+
"model": "anthropic/claude-sonnet-4-6",
|
|
19
|
+
"temperature": 0,
|
|
20
|
+
"steps": 200
|
|
21
|
+
},
|
|
22
|
+
"scout": {
|
|
23
|
+
"model": "anthropic/claude-sonnet-4-6",
|
|
24
|
+
"temperature": 0,
|
|
25
|
+
"steps": 24
|
|
26
|
+
},
|
|
27
|
+
"worker": {
|
|
28
|
+
"model": "openai/gpt-5.3-codex",
|
|
29
|
+
"temperature": 0,
|
|
30
|
+
"steps": 30
|
|
31
|
+
},
|
|
32
|
+
"heavy-worker": {
|
|
33
|
+
"model": "openai/gpt-5.4",
|
|
34
|
+
"temperature": 0,
|
|
35
|
+
"steps": 40
|
|
36
|
+
},
|
|
37
|
+
"deep-worker": {
|
|
38
|
+
"model": "anthropic/claude-opus-4-6",
|
|
39
|
+
"temperature": 0,
|
|
40
|
+
"steps": 60
|
|
41
|
+
},
|
|
42
|
+
"ui-worker": {
|
|
43
|
+
"model": "anthropic/claude-opus-4-6",
|
|
44
|
+
"temperature": 0,
|
|
45
|
+
"steps": 30
|
|
46
|
+
},
|
|
47
|
+
"ui-heavy-worker": {
|
|
48
|
+
"model": "anthropic/claude-opus-4-6",
|
|
49
|
+
"temperature": 0,
|
|
50
|
+
"steps": 40
|
|
51
|
+
},
|
|
52
|
+
"quick": {
|
|
53
|
+
"model": "opencode-go/minimax-m2.5",
|
|
54
|
+
"temperature": 0,
|
|
55
|
+
"steps": 16
|
|
56
|
+
},
|
|
57
|
+
"reviewer": {
|
|
58
|
+
"model": "github-copilot/grok-code-fast-1",
|
|
59
|
+
"temperature": 0,
|
|
60
|
+
"steps": 24
|
|
61
|
+
},
|
|
62
|
+
"validator": {
|
|
63
|
+
"model": "openai/gpt-5.3-codex",
|
|
64
|
+
"temperature": 0,
|
|
65
|
+
"steps": 24
|
|
66
|
+
},
|
|
67
|
+
"qa": {
|
|
68
|
+
"model": "openai/gpt-5.4",
|
|
69
|
+
"temperature": 0,
|
|
70
|
+
"steps": 24
|
|
71
|
+
},
|
|
72
|
+
"advisor": {
|
|
73
|
+
"model": "openai/gpt-5.4",
|
|
74
|
+
"temperature": 0,
|
|
75
|
+
"steps": 20
|
|
76
|
+
},
|
|
77
|
+
"auditor": {
|
|
78
|
+
"model": "openai/gpt-5.4",
|
|
79
|
+
"temperature": 0,
|
|
80
|
+
"steps": 24
|
|
81
|
+
},
|
|
82
|
+
"strategist": {
|
|
83
|
+
"model": "anthropic/claude-opus-4-6",
|
|
84
|
+
"temperature": 0,
|
|
85
|
+
"steps": 20
|
|
86
|
+
},
|
|
87
|
+
"devil": {
|
|
88
|
+
"model": "anthropic/claude-sonnet-4-6",
|
|
89
|
+
"temperature": 0,
|
|
90
|
+
"steps": 8
|
|
91
|
+
},
|
|
92
|
+
"scribe": {
|
|
93
|
+
"model": "anthropic/claude-sonnet-4-6",
|
|
94
|
+
"temperature": 0,
|
|
95
|
+
"steps": 30
|
|
96
|
+
},
|
|
97
|
+
"librarian": {
|
|
98
|
+
"model": "anthropic/claude-sonnet-4-6",
|
|
99
|
+
"temperature": 0,
|
|
100
|
+
"steps": 24
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "opencode-multiagent agent settings",
|
|
4
|
+
"description": "Central model, temperature, and step overrides per bundled agent.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"model": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"pattern": "^[^\\s]+/[^\\s]+$"
|
|
13
|
+
},
|
|
14
|
+
"temperature": {
|
|
15
|
+
"type": "number",
|
|
16
|
+
"minimum": 0
|
|
17
|
+
},
|
|
18
|
+
"steps": {
|
|
19
|
+
"type": "number",
|
|
20
|
+
"minimum": 1
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"required": ["model"]
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"profile": "standard",
|
|
3
|
+
"enforcement": true,
|
|
4
|
+
"observation": true,
|
|
5
|
+
"prompt_controls": true,
|
|
6
|
+
"agent_compilation": true,
|
|
7
|
+
"command_compilation": true,
|
|
8
|
+
"mcp_compilation": true,
|
|
9
|
+
"telemetry": true,
|
|
10
|
+
"supervision": true,
|
|
11
|
+
"quality_gate": true,
|
|
12
|
+
"skill_sources": [
|
|
13
|
+
"${plugin_root}/skills",
|
|
14
|
+
"${home}/.agents/skills",
|
|
15
|
+
"${home}/skills"
|
|
16
|
+
],
|
|
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
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "opencode-multiagent flags",
|
|
4
|
+
"description": "Partial runtime overrides for the OpenCode multi-agent control plane plugin.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"profile": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"enum": ["minimal", "standard", "strict"],
|
|
11
|
+
"description": "Named runtime profile to use as the base flag set."
|
|
12
|
+
},
|
|
13
|
+
"enforcement": {
|
|
14
|
+
"type": "boolean",
|
|
15
|
+
"description": "Enable local path and shell safety enforcement hooks."
|
|
16
|
+
},
|
|
17
|
+
"observation": {
|
|
18
|
+
"type": "boolean",
|
|
19
|
+
"description": "Enable JSONL observation logging for events and tool executions."
|
|
20
|
+
},
|
|
21
|
+
"prompt_controls": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"description": "Enable prompt metadata headers and risky-input logging."
|
|
24
|
+
},
|
|
25
|
+
"agent_compilation": {
|
|
26
|
+
"type": "boolean",
|
|
27
|
+
"description": "Compile bundled, global, and project agent markdown into config."
|
|
28
|
+
},
|
|
29
|
+
"command_compilation": {
|
|
30
|
+
"type": "boolean",
|
|
31
|
+
"description": "Compile bundled, global, and project command markdown into config."
|
|
32
|
+
},
|
|
33
|
+
"mcp_compilation": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Inject plugin-managed MCP server defaults when missing from config."
|
|
36
|
+
},
|
|
37
|
+
"telemetry": {
|
|
38
|
+
"type": "boolean",
|
|
39
|
+
"description": "Enable detailed agent and tool telemetry in the plugin JSONL log."
|
|
40
|
+
},
|
|
41
|
+
"supervision": {
|
|
42
|
+
"type": "boolean",
|
|
43
|
+
"description": "Enable parent-child idle supervision reminders."
|
|
44
|
+
},
|
|
45
|
+
"quality_gate": {
|
|
46
|
+
"type": "boolean",
|
|
47
|
+
"description": "Enable quality reminder tracking for edited sessions."
|
|
48
|
+
},
|
|
49
|
+
"skill_injection": {
|
|
50
|
+
"type": "boolean",
|
|
51
|
+
"description": "Enable dynamic skill registry lookup and prompt injection."
|
|
52
|
+
},
|
|
53
|
+
"skill_sources": {
|
|
54
|
+
"type": "array",
|
|
55
|
+
"description": "Skill registry search paths. Variables such as ${plugin_root} and ${home} are resolved at runtime.",
|
|
56
|
+
"items": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"minLength": 1
|
|
59
|
+
},
|
|
60
|
+
"minItems": 1
|
|
61
|
+
},
|
|
62
|
+
"compiler": {
|
|
63
|
+
"type": "object",
|
|
64
|
+
"additionalProperties": false,
|
|
65
|
+
"properties": {
|
|
66
|
+
"permission_compilation": {
|
|
67
|
+
"type": "boolean",
|
|
68
|
+
"description": "Fill missing top-level OpenCode permission defaults conservatively."
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"experimental": {
|
|
73
|
+
"type": "object",
|
|
74
|
+
"additionalProperties": false,
|
|
75
|
+
"properties": {
|
|
76
|
+
"chat_system_transform": {
|
|
77
|
+
"type": "boolean"
|
|
78
|
+
},
|
|
79
|
+
"chat_messages_transform": {
|
|
80
|
+
"type": "boolean"
|
|
81
|
+
},
|
|
82
|
+
"session_compacting": {
|
|
83
|
+
"type": "boolean"
|
|
84
|
+
},
|
|
85
|
+
"text_complete": {
|
|
86
|
+
"type": "boolean"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"supervision_config": {
|
|
91
|
+
"type": "object",
|
|
92
|
+
"additionalProperties": false,
|
|
93
|
+
"properties": {
|
|
94
|
+
"idle_timeout_ms": {
|
|
95
|
+
"type": "number",
|
|
96
|
+
"minimum": 0
|
|
97
|
+
},
|
|
98
|
+
"cooldown_ms": {
|
|
99
|
+
"type": "number",
|
|
100
|
+
"minimum": 0
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"quality_config": {
|
|
105
|
+
"type": "object",
|
|
106
|
+
"additionalProperties": false,
|
|
107
|
+
"properties": {
|
|
108
|
+
"reminder_idle_ms": {
|
|
109
|
+
"type": "number",
|
|
110
|
+
"minimum": 0
|
|
111
|
+
},
|
|
112
|
+
"reminder_cooldown_ms": {
|
|
113
|
+
"type": "number",
|
|
114
|
+
"minimum": 0
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"code_index": {
|
|
3
|
+
"type": "local",
|
|
4
|
+
"command": [
|
|
5
|
+
"python3",
|
|
6
|
+
"-m",
|
|
7
|
+
"code_index_mcp.server"
|
|
8
|
+
],
|
|
9
|
+
"enabled": true
|
|
10
|
+
},
|
|
11
|
+
"repo": {
|
|
12
|
+
"type": "local",
|
|
13
|
+
"command": [
|
|
14
|
+
"python3",
|
|
15
|
+
"-m",
|
|
16
|
+
"mcp_server_git"
|
|
17
|
+
],
|
|
18
|
+
"enabled": true
|
|
19
|
+
},
|
|
20
|
+
"context7": {
|
|
21
|
+
"type": "remote",
|
|
22
|
+
"url": "https://mcp.context7.com/mcp",
|
|
23
|
+
"enabled": false
|
|
24
|
+
},
|
|
25
|
+
"exa": {
|
|
26
|
+
"type": "remote",
|
|
27
|
+
"url": "https://mcp.exa.ai/mcp",
|
|
28
|
+
"enabled": false
|
|
29
|
+
},
|
|
30
|
+
"gh_grep": {
|
|
31
|
+
"type": "remote",
|
|
32
|
+
"url": "https://mcp.grep.app",
|
|
33
|
+
"enabled": false
|
|
34
|
+
},
|
|
35
|
+
"github": {
|
|
36
|
+
"type": "local",
|
|
37
|
+
"command": [
|
|
38
|
+
"npx",
|
|
39
|
+
"-y",
|
|
40
|
+
"@modelcontextprotocol/server-github"
|
|
41
|
+
],
|
|
42
|
+
"environment": {
|
|
43
|
+
"GITHUB_PERSONAL_ACCESS_TOKEN": "{env:GITHUB_PAT_TOKEN}"
|
|
44
|
+
},
|
|
45
|
+
"enabled": false
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "opencode-multiagent MCP defaults",
|
|
4
|
+
"description": "Plugin-managed MCP server definitions that are conservatively injected when missing from the active OpenCode config.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"type": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"enum": ["local", "remote"]
|
|
13
|
+
},
|
|
14
|
+
"url": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"minLength": 1
|
|
17
|
+
},
|
|
18
|
+
"command": {
|
|
19
|
+
"type": "array",
|
|
20
|
+
"items": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"minLength": 1
|
|
23
|
+
},
|
|
24
|
+
"minItems": 1
|
|
25
|
+
},
|
|
26
|
+
"environment": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"additionalProperties": {
|
|
29
|
+
"type": "string"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"enabled": {
|
|
33
|
+
"type": "boolean"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"required": ["type", "enabled"]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"minimal": {
|
|
3
|
+
"enforcement": true,
|
|
4
|
+
"observation": false,
|
|
5
|
+
"prompt_controls": false,
|
|
6
|
+
"agent_compilation": true,
|
|
7
|
+
"command_compilation": true,
|
|
8
|
+
"mcp_compilation": true,
|
|
9
|
+
"telemetry": false,
|
|
10
|
+
"supervision": false,
|
|
11
|
+
"quality_gate": false,
|
|
12
|
+
"experimental": {
|
|
13
|
+
"chat_system_transform": false,
|
|
14
|
+
"chat_messages_transform": false,
|
|
15
|
+
"session_compacting": false,
|
|
16
|
+
"text_complete": false
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"standard": {
|
|
20
|
+
"enforcement": true,
|
|
21
|
+
"observation": true,
|
|
22
|
+
"prompt_controls": true,
|
|
23
|
+
"agent_compilation": true,
|
|
24
|
+
"command_compilation": true,
|
|
25
|
+
"mcp_compilation": true,
|
|
26
|
+
"telemetry": true,
|
|
27
|
+
"supervision": true,
|
|
28
|
+
"quality_gate": true,
|
|
29
|
+
"experimental": {
|
|
30
|
+
"chat_system_transform": false,
|
|
31
|
+
"chat_messages_transform": false,
|
|
32
|
+
"session_compacting": false,
|
|
33
|
+
"text_complete": false
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"strict": {
|
|
37
|
+
"enforcement": true,
|
|
38
|
+
"observation": true,
|
|
39
|
+
"prompt_controls": true,
|
|
40
|
+
"agent_compilation": true,
|
|
41
|
+
"command_compilation": true,
|
|
42
|
+
"mcp_compilation": true,
|
|
43
|
+
"telemetry": true,
|
|
44
|
+
"supervision": true,
|
|
45
|
+
"quality_gate": true,
|
|
46
|
+
"experimental": {
|
|
47
|
+
"chat_system_transform": true,
|
|
48
|
+
"chat_messages_transform": true,
|
|
49
|
+
"session_compacting": true,
|
|
50
|
+
"text_complete": true
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "opencode-multiagent profiles",
|
|
4
|
+
"description": "Named flag bundles for switching plugin behavior by profile.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"enforcement": { "type": "boolean" },
|
|
11
|
+
"observation": { "type": "boolean" },
|
|
12
|
+
"prompt_controls": { "type": "boolean" },
|
|
13
|
+
"agent_compilation": { "type": "boolean" },
|
|
14
|
+
"command_compilation": { "type": "boolean" },
|
|
15
|
+
"mcp_compilation": { "type": "boolean" },
|
|
16
|
+
"telemetry": { "type": "boolean" },
|
|
17
|
+
"supervision": { "type": "boolean" },
|
|
18
|
+
"quality_gate": { "type": "boolean" },
|
|
19
|
+
"skill_injection": { "type": "boolean" },
|
|
20
|
+
"skill_sources": {
|
|
21
|
+
"type": "array",
|
|
22
|
+
"items": { "type": "string", "minLength": 1 },
|
|
23
|
+
"minItems": 1
|
|
24
|
+
},
|
|
25
|
+
"compiler": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"properties": {
|
|
29
|
+
"permission_compilation": { "type": "boolean" }
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"experimental": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"additionalProperties": false,
|
|
35
|
+
"properties": {
|
|
36
|
+
"chat_system_transform": { "type": "boolean" },
|
|
37
|
+
"chat_messages_transform": { "type": "boolean" },
|
|
38
|
+
"session_compacting": { "type": "boolean" },
|
|
39
|
+
"text_complete": { "type": "boolean" }
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"supervision_config": {
|
|
43
|
+
"type": "object",
|
|
44
|
+
"additionalProperties": false,
|
|
45
|
+
"properties": {
|
|
46
|
+
"idle_timeout_ms": { "type": "number", "minimum": 0 },
|
|
47
|
+
"cooldown_ms": { "type": "number", "minimum": 0 }
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"quality_config": {
|
|
51
|
+
"type": "object",
|
|
52
|
+
"additionalProperties": false,
|
|
53
|
+
"properties": {
|
|
54
|
+
"reminder_idle_ms": { "type": "number", "minimum": 0 },
|
|
55
|
+
"reminder_cooldown_ms": { "type": "number", "minimum": 0 }
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"standard": {
|
|
3
|
+
"description": "Full development team: backend, frontend, and QA. Members are spawned on demand by the lead.",
|
|
4
|
+
"members": [
|
|
5
|
+
{
|
|
6
|
+
"name": "backend-dev",
|
|
7
|
+
"agent": "backend-dev",
|
|
8
|
+
"role": "Backend developer — API, business logic, database",
|
|
9
|
+
"auto_spawn": false
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "frontend-dev",
|
|
13
|
+
"agent": "frontend-dev",
|
|
14
|
+
"role": "Frontend developer — UI, state management, UX",
|
|
15
|
+
"auto_spawn": false
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "tester",
|
|
19
|
+
"agent": "tester",
|
|
20
|
+
"role": "QA engineer — unit, integration, and E2E tests",
|
|
21
|
+
"auto_spawn": false
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"quick": {
|
|
26
|
+
"description": "Single general-purpose developer spawned immediately. Good for fast, focused tasks.",
|
|
27
|
+
"members": [
|
|
28
|
+
{
|
|
29
|
+
"name": "dev",
|
|
30
|
+
"agent": "general-purpose",
|
|
31
|
+
"role": "Developer — awaits task assignment from the lead",
|
|
32
|
+
"auto_spawn": true,
|
|
33
|
+
"initial_prompt": "You are a general-purpose developer on this team. Wait for the lead to assign a task via the team_read_messages tool, then execute it and report back."
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"review": {
|
|
38
|
+
"description": "Code review and security audit team.",
|
|
39
|
+
"members": [
|
|
40
|
+
{
|
|
41
|
+
"name": "reviewer",
|
|
42
|
+
"agent": "code-reviewer",
|
|
43
|
+
"role": "Code reviewer — PR review, code smells, standards",
|
|
44
|
+
"auto_spawn": false
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "security",
|
|
48
|
+
"agent": "security-advisor",
|
|
49
|
+
"role": "Security advisor — OWASP, vulnerability scanning",
|
|
50
|
+
"auto_spawn": false
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
"fullstack": {
|
|
55
|
+
"description": "Full-stack team including a planner for task breakdown.",
|
|
56
|
+
"members": [
|
|
57
|
+
{
|
|
58
|
+
"name": "planner",
|
|
59
|
+
"agent": "planner",
|
|
60
|
+
"role": "Task planner — breaks work into steps and assigns to developers",
|
|
61
|
+
"auto_spawn": false
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "backend-dev",
|
|
65
|
+
"agent": "backend-dev",
|
|
66
|
+
"role": "Backend developer",
|
|
67
|
+
"auto_spawn": false
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "frontend-dev",
|
|
71
|
+
"agent": "frontend-dev",
|
|
72
|
+
"role": "Frontend developer",
|
|
73
|
+
"auto_spawn": false
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "tester",
|
|
77
|
+
"agent": "tester",
|
|
78
|
+
"role": "QA engineer",
|
|
79
|
+
"auto_spawn": false
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opencode.ai/config.json",
|
|
3
|
+
"plugin": ["opencode-multiagent"],
|
|
4
|
+
"mcp": {
|
|
5
|
+
"github": {
|
|
6
|
+
"type": "local",
|
|
7
|
+
"command": [
|
|
8
|
+
"npx",
|
|
9
|
+
"-y",
|
|
10
|
+
"@modelcontextprotocol/server-github"
|
|
11
|
+
],
|
|
12
|
+
"environment": {
|
|
13
|
+
"GITHUB_PERSONAL_ACCESS_TOKEN": "{env:GITHUB_PAT_TOKEN}"
|
|
14
|
+
},
|
|
15
|
+
"enabled": true
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"agent": {
|
|
19
|
+
"lead": {
|
|
20
|
+
"steps": 650
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "opencode-multiagent",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Multi-agent orchestration plugin for OpenCode",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/vaur94/opencode-multiagent.git"
|
|
10
|
+
},
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/vaur94/opencode-multiagent/issues"
|
|
13
|
+
},
|
|
14
|
+
"homepage": "https://github.com/vaur94/opencode-multiagent#readme",
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public"
|
|
17
|
+
},
|
|
18
|
+
"exports": {
|
|
19
|
+
".": "./src/index.ts",
|
|
20
|
+
"./agents/*": "./agents/*",
|
|
21
|
+
"./commands/*": "./commands/*",
|
|
22
|
+
"./defaults/*": "./defaults/*",
|
|
23
|
+
"./skills/*": "./skills/*"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"src",
|
|
27
|
+
"agents",
|
|
28
|
+
"commands",
|
|
29
|
+
"defaults",
|
|
30
|
+
"skills",
|
|
31
|
+
"examples",
|
|
32
|
+
"LICENSE",
|
|
33
|
+
"README.md"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"typecheck": "tsc --noEmit",
|
|
37
|
+
"validate-config": "tsx scripts/validate.ts",
|
|
38
|
+
"config-server": "tsx scripts/config-server.ts",
|
|
39
|
+
"telemetry-report": "tsx scripts/telemetry-report.ts",
|
|
40
|
+
"ci:check": "npm run typecheck && npm run validate-config",
|
|
41
|
+
"pack:dry-run": "npm pack --dry-run"
|
|
42
|
+
},
|
|
43
|
+
"keywords": [
|
|
44
|
+
"opencode",
|
|
45
|
+
"plugin",
|
|
46
|
+
"multi-agent",
|
|
47
|
+
"mcp",
|
|
48
|
+
"orchestration"
|
|
49
|
+
],
|
|
50
|
+
"peerDependencies": {
|
|
51
|
+
"@opencode-ai/plugin": ">=1.0.0"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@opencode-ai/plugin": "1.0.85",
|
|
55
|
+
"@types/node": "^24.0.0",
|
|
56
|
+
"tsx": "^4.20.6",
|
|
57
|
+
"typescript": "^5.9.2"
|
|
58
|
+
},
|
|
59
|
+
"engines": {
|
|
60
|
+
"node": ">=18"
|
|
61
|
+
}
|
|
62
|
+
}
|