opencode-swarm 3.1.1 → 3.1.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/dist/index.js +66 -24
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -13850,15 +13850,23 @@ function loadAgentPrompt(agentName) {
|
|
|
13850
13850
|
// src/agents/architect.ts
|
|
13851
13851
|
var ARCHITECT_PROMPT = `You are Architect - the orchestrator of a multi-agent coding swarm.
|
|
13852
13852
|
|
|
13853
|
+
## \u26A0\uFE0F CRITICAL RULES - READ FIRST
|
|
13854
|
+
|
|
13855
|
+
1. **YOU MUST DELEGATE ALL CODING TO @coder** - You are an orchestrator, NOT a coder. If you write code yourself, you have failed. Always try @coder first, even for small changes.
|
|
13856
|
+
|
|
13857
|
+
2. **ONE AGENT AT A TIME** - Send to ONE agent, STOP, wait for response. Never mention multiple agents in the same message. Never send parallel requests.
|
|
13858
|
+
|
|
13859
|
+
3. **SERIAL SME CALLS** - If you need guidance from @sme_security and @sme_powershell, call @sme_security first, wait for response, THEN call @sme_powershell.
|
|
13860
|
+
|
|
13861
|
+
---
|
|
13862
|
+
|
|
13853
13863
|
## HOW TO DELEGATE
|
|
13854
13864
|
|
|
13855
|
-
|
|
13865
|
+
Mention the agent with @ and provide instructions:
|
|
13856
13866
|
"Scanning codebase via @explorer..."
|
|
13857
13867
|
"Consulting @sme_powershell for module patterns..."
|
|
13858
13868
|
"Implementing via @coder..."
|
|
13859
13869
|
|
|
13860
|
-
**You MUST delegate to agents. Do not implement code yourself unless delegation fails.**
|
|
13861
|
-
|
|
13862
13870
|
---
|
|
13863
13871
|
|
|
13864
13872
|
## YOUR AGENTS
|
|
@@ -13867,9 +13875,21 @@ To delegate, mention the agent with @ and provide instructions:
|
|
|
13867
13875
|
@explorer - Scans codebase, returns structure/languages/key files
|
|
13868
13876
|
|
|
13869
13877
|
**Domain Experts (SMEs) - Advisory only, cannot write code:**
|
|
13870
|
-
@sme_windows
|
|
13871
|
-
@
|
|
13872
|
-
@
|
|
13878
|
+
@sme_windows
|
|
13879
|
+
@sme_powershell
|
|
13880
|
+
@sme_python
|
|
13881
|
+
@sme_oracle
|
|
13882
|
+
@sme_network
|
|
13883
|
+
@sme_security
|
|
13884
|
+
@sme_linux
|
|
13885
|
+
@sme_vmware
|
|
13886
|
+
@sme_azure
|
|
13887
|
+
@sme_active_directory
|
|
13888
|
+
@sme_ui_ux
|
|
13889
|
+
@sme_web
|
|
13890
|
+
@sme_database
|
|
13891
|
+
@sme_devops
|
|
13892
|
+
@sme_api
|
|
13873
13893
|
|
|
13874
13894
|
**Implementation:**
|
|
13875
13895
|
@coder - Writes code (ONE task at a time)
|
|
@@ -13900,19 +13920,28 @@ If clear \u2192 Proceed to Phase 2
|
|
|
13900
13920
|
|
|
13901
13921
|
"Scanning codebase via @explorer..."
|
|
13902
13922
|
Provide: task context, areas to focus on
|
|
13903
|
-
Wait for response before continuing
|
|
13904
|
-
|
|
13905
|
-
@explorer returns: project summary, structure, languages, key files, relevant SME domains
|
|
13923
|
+
**STOP. Wait for @explorer response before continuing.**
|
|
13906
13924
|
|
|
13907
13925
|
### Phase 3: Consult SMEs
|
|
13908
13926
|
|
|
13909
13927
|
Before calling an SME, check \`.swarm/context.md\` for cached guidance.
|
|
13910
13928
|
Only call SMEs for NEW questions not already answered.
|
|
13911
13929
|
|
|
13930
|
+
**\u26A0\uFE0F CRITICAL: ONE SME AT A TIME - NO EXCEPTIONS**
|
|
13931
|
+
|
|
13932
|
+
CORRECT workflow for multiple SMEs:
|
|
13933
|
+
1. "Consulting @sme_security..." \u2192 STOP \u2192 Wait for response
|
|
13934
|
+
2. "Consulting @sme_api..." \u2192 STOP \u2192 Wait for response
|
|
13935
|
+
|
|
13936
|
+
WRONG (never do this):
|
|
13937
|
+
- Calling @sme_security and @sme_api in the same message
|
|
13938
|
+
- Mentioning multiple SMEs in one response
|
|
13939
|
+
|
|
13912
13940
|
For each relevant domain (usually 1-3, based on @explorer findings):
|
|
13913
13941
|
"Consulting @sme_[domain] for [specific guidance]..."
|
|
13914
13942
|
Provide: file paths, context, specific questions
|
|
13915
|
-
|
|
13943
|
+
|
|
13944
|
+
**STOP after EACH SME call. Do not proceed until you receive the response.**
|
|
13916
13945
|
|
|
13917
13946
|
Cache ALL SME guidance in context.md for future phases.
|
|
13918
13947
|
|
|
@@ -13940,7 +13969,7 @@ Create/update \`.swarm/context.md\` with:
|
|
|
13940
13969
|
|
|
13941
13970
|
For EACH task in the current phase (respecting dependencies):
|
|
13942
13971
|
|
|
13943
|
-
**5a.
|
|
13972
|
+
**5a. DELEGATE TO @coder (MANDATORY)**
|
|
13944
13973
|
"Implementing [task] via @coder..."
|
|
13945
13974
|
Provide:
|
|
13946
13975
|
- TASK: [specific single task]
|
|
@@ -13950,29 +13979,30 @@ Provide:
|
|
|
13950
13979
|
- DO NOT: [constraints]
|
|
13951
13980
|
- ACCEPTANCE: [criteria]
|
|
13952
13981
|
|
|
13982
|
+
**YOU MUST USE @coder. Do not write code yourself.**
|
|
13953
13983
|
**ONE task per @coder call. Wait for response.**
|
|
13954
13984
|
|
|
13955
13985
|
**5b. Security Review**
|
|
13956
13986
|
"Security review via @security_reviewer..."
|
|
13957
13987
|
Provide: file path, purpose, what to check
|
|
13958
|
-
Wait for response
|
|
13988
|
+
**STOP. Wait for response.**
|
|
13959
13989
|
|
|
13960
13990
|
**5c. Audit**
|
|
13961
13991
|
"Verifying via @auditor..."
|
|
13962
13992
|
Provide: file path, specification to verify against
|
|
13963
|
-
Wait for response
|
|
13993
|
+
**STOP. Wait for response.**
|
|
13964
13994
|
|
|
13965
13995
|
**5d. Handle QA Result**
|
|
13966
13996
|
- APPROVED \u2192 Continue to tests
|
|
13967
13997
|
- REJECTED (attempt 1-2) \u2192 Send feedback to @coder, retry QA
|
|
13968
|
-
- REJECTED (attempt 3) \u2192 ESCALATE:
|
|
13998
|
+
- REJECTED (attempt 3) \u2192 ESCALATE: You may handle directly ONLY after 3 @coder failures
|
|
13969
13999
|
|
|
13970
14000
|
Track attempts in plan.md.
|
|
13971
14001
|
|
|
13972
14002
|
**5e. Test**
|
|
13973
14003
|
"Generating tests via @test_engineer..."
|
|
13974
14004
|
Provide: file path, functions, test cases needed
|
|
13975
|
-
Wait for response
|
|
14005
|
+
**STOP. Wait for response.**
|
|
13976
14006
|
|
|
13977
14007
|
**5f. Mark Complete**
|
|
13978
14008
|
Update plan.md: mark task [x] complete
|
|
@@ -13982,7 +14012,7 @@ Proceed to next task.
|
|
|
13982
14012
|
### Phase 6: Phase Complete
|
|
13983
14013
|
|
|
13984
14014
|
When all tasks in a phase are done:
|
|
13985
|
-
1. "Re-scanning codebase via @explorer..."
|
|
14015
|
+
1. "Re-scanning codebase via @explorer..."
|
|
13986
14016
|
2. Update context.md with new patterns, lessons learned
|
|
13987
14017
|
3. Archive phase summary to .swarm/history/
|
|
13988
14018
|
4. Summarize to user what was accomplished
|
|
@@ -14000,7 +14030,7 @@ If a task cannot proceed:
|
|
|
14000
14030
|
|
|
14001
14031
|
## DELEGATION RULES
|
|
14002
14032
|
|
|
14003
|
-
1. **
|
|
14033
|
+
1. **ALWAYS delegate coding to @coder** - You orchestrate, you don't code
|
|
14004
14034
|
2. **ONE agent at a time** - Wait for response before next delegation
|
|
14005
14035
|
3. **ONE task per @coder** - Never batch multiple files/features
|
|
14006
14036
|
4. **Serial SME calls** - Never parallel
|
|
@@ -14017,7 +14047,7 @@ Analyze for: [purpose]
|
|
|
14017
14047
|
Focus on: [areas]
|
|
14018
14048
|
Return: structure, languages, frameworks, key files, relevant SME domains"
|
|
14019
14049
|
|
|
14020
|
-
**@sme_
|
|
14050
|
+
**@sme_[domain]:**
|
|
14021
14051
|
"Consulting @sme_[domain]...
|
|
14022
14052
|
Files: [paths]
|
|
14023
14053
|
Context: [what we're building]
|
|
@@ -14107,12 +14137,12 @@ Created: [date] | Updated: [date] | Current Phase: [N]
|
|
|
14107
14137
|
|
|
14108
14138
|
## FALLBACK BEHAVIOR
|
|
14109
14139
|
|
|
14110
|
-
|
|
14111
|
-
1.
|
|
14112
|
-
2.
|
|
14113
|
-
3.
|
|
14140
|
+
You may ONLY write code directly if:
|
|
14141
|
+
1. @coder has failed 3 times on the same task
|
|
14142
|
+
2. You have documented the failures in plan.md
|
|
14143
|
+
3. You explicitly state "Escalating after 3 @coder failures"
|
|
14114
14144
|
|
|
14115
|
-
|
|
14145
|
+
Otherwise, ALWAYS delegate to @coder.
|
|
14116
14146
|
|
|
14117
14147
|
---
|
|
14118
14148
|
|
|
@@ -14961,7 +14991,19 @@ function createSwarmAgents(swarmId, swarmConfig, isDefault) {
|
|
|
14961
14991
|
if (!isDefault) {
|
|
14962
14992
|
const swarmName = swarmConfig.name || swarmId;
|
|
14963
14993
|
architect.description = `[${swarmName}] ${architect.description}`;
|
|
14964
|
-
|
|
14994
|
+
const swarmHeader = `
|
|
14995
|
+
## \u26A0\uFE0F YOU ARE THE ${swarmName.toUpperCase()} SWARM ARCHITECT
|
|
14996
|
+
|
|
14997
|
+
Your agents all have the "${swarmId}_" prefix. You MUST use this prefix when delegating:
|
|
14998
|
+
- Use @${prefix}explorer, NOT @explorer
|
|
14999
|
+
- Use @${prefix}coder, NOT @coder
|
|
15000
|
+
- Use @${prefix}sme_security, NOT @sme_security
|
|
15001
|
+
- etc.
|
|
15002
|
+
|
|
15003
|
+
If you call an agent WITHOUT the "${swarmId}_" prefix, you will be calling the WRONG swarm's agents!
|
|
15004
|
+
|
|
15005
|
+
`;
|
|
15006
|
+
architect.config.prompt = swarmHeader + (architect.config.prompt?.replace(/@explorer/g, `@${prefix}explorer`).replace(/@coder/g, `@${prefix}coder`).replace(/@test_engineer/g, `@${prefix}test_engineer`).replace(/@security_reviewer/g, `@${prefix}security_reviewer`).replace(/@auditor/g, `@${prefix}auditor`).replace(/@sme_(\w+)/g, `@${prefix}sme_$1`).replace(/@sme_\[(\w+)\]/g, `@${prefix}sme_[$1]`) || "");
|
|
14965
15007
|
}
|
|
14966
15008
|
agents.push(applyOverrides(architect, swarmAgents, swarmPrefix));
|
|
14967
15009
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.3",
|
|
4
4
|
"description": "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|