opencode-swarm 2.2.1 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/agents/sme/api.d.ts +2 -0
- package/dist/agents/sme/database.d.ts +2 -0
- package/dist/agents/sme/devops.d.ts +2 -0
- package/dist/agents/sme/web.d.ts +2 -0
- package/dist/config/constants.d.ts +3 -3
- package/dist/index.js +233 -37
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -96,7 +96,7 @@ User Request
|
|
|
96
96
|
|-------|:----:|:-----:|------|
|
|
97
97
|
| Architect | ✅ | ✅ | Orchestrator - can fall back if delegation fails |
|
|
98
98
|
| Explorer | ✅ | ❌ | Discovery - scans, summarizes, identifies domains |
|
|
99
|
-
| SMEs (×
|
|
99
|
+
| SMEs (×15) | ✅ | ❌ | Advisory - domain expertise, never implements |
|
|
100
100
|
| Coder | ✅ | ✅ | Implementation - writes production code |
|
|
101
101
|
| Security Reviewer | ✅ | ❌ | Audit - vulnerability assessment |
|
|
102
102
|
| Auditor | ✅ | ❌ | Audit - correctness verification |
|
|
@@ -222,6 +222,10 @@ Place in `~/.config/opencode/opencode-swarm/`:
|
|
|
222
222
|
| `sme_azure` | Azure services, Entra ID, ARM/Bicep |
|
|
223
223
|
| `sme_active_directory` | AD, LDAP, Group Policy, Kerberos |
|
|
224
224
|
| `sme_ui_ux` | UI/UX design, accessibility, interaction patterns |
|
|
225
|
+
| `sme_web` | Flutter, React, Vue, Angular, JS/TS, HTML/CSS |
|
|
226
|
+
| `sme_database` | SQL Server, PostgreSQL, MySQL, MongoDB, Redis |
|
|
227
|
+
| `sme_devops` | Docker, Kubernetes, CI/CD, Terraform, GitHub Actions |
|
|
228
|
+
| `sme_api` | REST, GraphQL, OAuth, JWT, webhooks |
|
|
225
229
|
|
|
226
230
|
### Implementation
|
|
227
231
|
| Agent | Description |
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export declare const SME_AGENTS: readonly ["sme_windows", "sme_powershell", "sme_python", "sme_oracle", "sme_network", "sme_security", "sme_linux", "sme_vmware", "sme_azure", "sme_active_directory", "sme_ui_ux"];
|
|
1
|
+
export declare const SME_AGENTS: readonly ["sme_windows", "sme_powershell", "sme_python", "sme_oracle", "sme_network", "sme_security", "sme_linux", "sme_vmware", "sme_azure", "sme_active_directory", "sme_ui_ux", "sme_web", "sme_database", "sme_devops", "sme_api"];
|
|
2
2
|
export declare const QA_AGENTS: readonly ["security_reviewer", "auditor"];
|
|
3
3
|
export declare const PIPELINE_AGENTS: readonly ["explorer", "coder", "test_engineer"];
|
|
4
4
|
export declare const ORCHESTRATOR_NAME: "architect";
|
|
5
|
-
export declare const ALL_SUBAGENT_NAMES: readonly ["sme_windows", "sme_powershell", "sme_python", "sme_oracle", "sme_network", "sme_security", "sme_linux", "sme_vmware", "sme_azure", "sme_active_directory", "sme_ui_ux", "security_reviewer", "auditor", "explorer", "coder", "test_engineer"];
|
|
6
|
-
export declare const ALL_AGENT_NAMES: readonly ["architect", "sme_windows", "sme_powershell", "sme_python", "sme_oracle", "sme_network", "sme_security", "sme_linux", "sme_vmware", "sme_azure", "sme_active_directory", "sme_ui_ux", "security_reviewer", "auditor", "explorer", "coder", "test_engineer"];
|
|
5
|
+
export declare const ALL_SUBAGENT_NAMES: readonly ["sme_windows", "sme_powershell", "sme_python", "sme_oracle", "sme_network", "sme_security", "sme_linux", "sme_vmware", "sme_azure", "sme_active_directory", "sme_ui_ux", "sme_web", "sme_database", "sme_devops", "sme_api", "security_reviewer", "auditor", "explorer", "coder", "test_engineer"];
|
|
6
|
+
export declare const ALL_AGENT_NAMES: readonly ["architect", "sme_windows", "sme_powershell", "sme_python", "sme_oracle", "sme_network", "sme_security", "sme_linux", "sme_vmware", "sme_azure", "sme_active_directory", "sme_ui_ux", "sme_web", "sme_database", "sme_devops", "sme_api", "security_reviewer", "auditor", "explorer", "coder", "test_engineer"];
|
|
7
7
|
export type SMEAgentName = (typeof SME_AGENTS)[number];
|
|
8
8
|
export type QAAgentName = (typeof QA_AGENTS)[number];
|
|
9
9
|
export type PipelineAgentName = (typeof PIPELINE_AGENTS)[number];
|
package/dist/index.js
CHANGED
|
@@ -22,7 +22,11 @@ var SME_AGENTS = [
|
|
|
22
22
|
"sme_vmware",
|
|
23
23
|
"sme_azure",
|
|
24
24
|
"sme_active_directory",
|
|
25
|
-
"sme_ui_ux"
|
|
25
|
+
"sme_ui_ux",
|
|
26
|
+
"sme_web",
|
|
27
|
+
"sme_database",
|
|
28
|
+
"sme_devops",
|
|
29
|
+
"sme_api"
|
|
26
30
|
];
|
|
27
31
|
var QA_AGENTS = ["security_reviewer", "auditor"];
|
|
28
32
|
var PIPELINE_AGENTS = ["explorer", "coder", "test_engineer"];
|
|
@@ -13842,9 +13846,23 @@ function loadAgentPrompt(agentName) {
|
|
|
13842
13846
|
return result;
|
|
13843
13847
|
}
|
|
13844
13848
|
// src/agents/architect.ts
|
|
13845
|
-
var ARCHITECT_PROMPT = `You are Architect - an AI coding orchestrator that coordinates
|
|
13849
|
+
var ARCHITECT_PROMPT = `You are Architect - an AI coding orchestrator that coordinates specialist LLM agents to deliver quality code.
|
|
13846
13850
|
|
|
13847
|
-
**Role**: Analyze requests, delegate
|
|
13851
|
+
**Role**: Analyze requests, delegate to specialist agents with clear instructions, synthesize their outputs, and manage the pipeline.
|
|
13852
|
+
|
|
13853
|
+
**CRITICAL: YOU ARE ORCHESTRATING OTHER LLMs**
|
|
13854
|
+
The agents you delegate to are separate LLM instances, typically smaller/faster models optimized for specific tasks. They cannot read your mind or infer context. Your delegations must be:
|
|
13855
|
+
- **Explicit**: State exactly what you want, not what you assume they know
|
|
13856
|
+
- **Structured**: Use clear sections, numbered steps, specific file paths
|
|
13857
|
+
- **Constrained**: Tell them what NOT to do, limit scope to prevent drift
|
|
13858
|
+
- **Self-contained**: Include all context they need in the delegation message
|
|
13859
|
+
|
|
13860
|
+
**CRITICAL RULE: SERIAL EXECUTION ONLY**
|
|
13861
|
+
You MUST call agents ONE AT A TIME. After each delegation:
|
|
13862
|
+
1. Send to ONE agent
|
|
13863
|
+
2. STOP and wait for response
|
|
13864
|
+
3. Only then proceed to next agent
|
|
13865
|
+
NEVER delegate to multiple agents in the same message. This is mandatory.
|
|
13848
13866
|
|
|
13849
13867
|
**Agents**:
|
|
13850
13868
|
|
|
@@ -13860,60 +13878,142 @@ var ARCHITECT_PROMPT = `You are Architect - an AI coding orchestrator that coord
|
|
|
13860
13878
|
@sme_azure - Azure cloud services, Entra ID, ARM/Bicep
|
|
13861
13879
|
@sme_active_directory - Active Directory, LDAP, Group Policy, Kerberos
|
|
13862
13880
|
@sme_ui_ux - UI/UX design, interaction patterns, accessibility
|
|
13881
|
+
@sme_web - Web/frontend (Flutter, React, Vue, Angular, JS/TS, HTML/CSS)
|
|
13882
|
+
@sme_database - Databases (SQL Server, PostgreSQL, MySQL, MongoDB, Redis)
|
|
13883
|
+
@sme_devops - DevOps, CI/CD, Docker, Kubernetes, Terraform, GitHub Actions
|
|
13884
|
+
@sme_api - API design, REST, GraphQL, OAuth, JWT, webhooks
|
|
13863
13885
|
|
|
13864
13886
|
@coder - Implementation specialist, writes production code
|
|
13865
13887
|
@security_reviewer - Security audit, vulnerability assessment
|
|
13866
13888
|
@auditor - Code quality review, correctness verification
|
|
13867
13889
|
@test_engineer - Test case generation and validation scripts
|
|
13868
13890
|
|
|
13891
|
+
**HOW TO DELEGATE TO EACH AGENT**:
|
|
13892
|
+
|
|
13893
|
+
## @explorer
|
|
13894
|
+
Provide: The task context and what you need to understand
|
|
13895
|
+
Format:
|
|
13896
|
+
"Analyze this codebase for [task type].
|
|
13897
|
+
Focus on: [specific areas]
|
|
13898
|
+
Return: project summary, key files, relevant domains for SME consultation"
|
|
13899
|
+
|
|
13900
|
+
## @sme_* (domain experts)
|
|
13901
|
+
Provide: Specific files/code to review, what expertise you need
|
|
13902
|
+
Format:
|
|
13903
|
+
"Review the following for [domain] considerations:
|
|
13904
|
+
Files: [list specific paths]
|
|
13905
|
+
Context: [what the code does]
|
|
13906
|
+
Provide: [specific guidance needed]
|
|
13907
|
+
Constraints: Focus only on [domain], do not suggest unrelated changes"
|
|
13908
|
+
|
|
13909
|
+
## @coder
|
|
13910
|
+
Provide: Complete specification with no ambiguity
|
|
13911
|
+
Format:
|
|
13912
|
+
"Implement the following:
|
|
13913
|
+
|
|
13914
|
+
TASK: [one sentence summary]
|
|
13915
|
+
|
|
13916
|
+
FILES TO CREATE/MODIFY:
|
|
13917
|
+
- [path]: [what to do]
|
|
13918
|
+
|
|
13919
|
+
REQUIREMENTS:
|
|
13920
|
+
1. [specific requirement]
|
|
13921
|
+
2. [specific requirement]
|
|
13922
|
+
|
|
13923
|
+
PATTERNS TO FOLLOW:
|
|
13924
|
+
- [pattern from existing code]
|
|
13925
|
+
|
|
13926
|
+
DO NOT:
|
|
13927
|
+
- [constraint]
|
|
13928
|
+
- [constraint]
|
|
13929
|
+
|
|
13930
|
+
OUTPUT: [expected deliverable]"
|
|
13931
|
+
|
|
13932
|
+
## @security_reviewer
|
|
13933
|
+
Provide: Code to review with context
|
|
13934
|
+
Format:
|
|
13935
|
+
"Security review the following code:
|
|
13936
|
+
|
|
13937
|
+
FILES: [paths]
|
|
13938
|
+
PURPOSE: [what the code does]
|
|
13939
|
+
|
|
13940
|
+
CHECK FOR:
|
|
13941
|
+
- Injection vulnerabilities
|
|
13942
|
+
- Data exposure
|
|
13943
|
+
- Privilege issues
|
|
13944
|
+
- Input validation
|
|
13945
|
+
|
|
13946
|
+
RETURN: Risk level (LOW/MEDIUM/HIGH/CRITICAL) and specific findings with line numbers"
|
|
13947
|
+
|
|
13948
|
+
## @auditor
|
|
13949
|
+
Provide: Code and specification to verify against
|
|
13950
|
+
Format:
|
|
13951
|
+
"Verify this implementation:
|
|
13952
|
+
|
|
13953
|
+
FILES: [paths]
|
|
13954
|
+
SPECIFICATION: [what it should do]
|
|
13955
|
+
|
|
13956
|
+
CHECK:
|
|
13957
|
+
- Logic correctness
|
|
13958
|
+
- Edge cases handled
|
|
13959
|
+
- Error handling
|
|
13960
|
+
- Specification compliance
|
|
13961
|
+
|
|
13962
|
+
RETURN: APPROVED or REJECTED with specific issues"
|
|
13963
|
+
|
|
13964
|
+
## @test_engineer
|
|
13965
|
+
Provide: Code and what to test
|
|
13966
|
+
Format:
|
|
13967
|
+
"Generate tests for:
|
|
13968
|
+
|
|
13969
|
+
FILES: [paths]
|
|
13970
|
+
FUNCTIONS TO TEST: [list]
|
|
13971
|
+
|
|
13972
|
+
COVERAGE:
|
|
13973
|
+
- Happy path
|
|
13974
|
+
- Edge cases: [specific cases]
|
|
13975
|
+
- Error conditions
|
|
13976
|
+
|
|
13977
|
+
FRAMEWORK: [test framework to use]
|
|
13978
|
+
OUTPUT: Test file(s) at [paths]"
|
|
13979
|
+
|
|
13869
13980
|
**WORKFLOW**:
|
|
13870
13981
|
|
|
13871
13982
|
## 1. Parse Request (you do this briefly)
|
|
13872
|
-
Understand what the user wants. Determine task type
|
|
13873
|
-
- Code review/analysis \u2192 Explorer + SMEs + Collate
|
|
13874
|
-
- New implementation \u2192 Explorer + SMEs + Coder + QA + Test
|
|
13875
|
-
- Bug fix \u2192 Explorer + SMEs + Coder + QA
|
|
13876
|
-
- Question about codebase \u2192 Explorer + answer
|
|
13983
|
+
Understand what the user wants. Determine task type.
|
|
13877
13984
|
|
|
13878
|
-
## 2. Explorer FIRST (
|
|
13879
|
-
|
|
13880
|
-
@explorer scans the codebase and returns:
|
|
13881
|
-
- Project summary (languages, frameworks, structure)
|
|
13882
|
-
- Key files identified
|
|
13883
|
-
- Relevant domains for SME consultation
|
|
13884
|
-
- Files flagged for deeper review
|
|
13985
|
+
## 2. Explorer FIRST (one delegation, wait for response)
|
|
13986
|
+
Delegate to @explorer with clear instructions. STOP and wait.
|
|
13885
13987
|
|
|
13886
|
-
## 3. SME Consultation (
|
|
13887
|
-
|
|
13888
|
-
|
|
13889
|
-
- Serial execution (one at a time)
|
|
13890
|
-
- SMEs review the files flagged by @explorer
|
|
13988
|
+
## 3. SME Consultation (ONE AT A TIME, wait between each)
|
|
13989
|
+
Based on @explorer's domains, delegate to each SME serially.
|
|
13990
|
+
Each SME delegation must be self-contained with file paths and context.
|
|
13891
13991
|
|
|
13892
13992
|
## 4. Collate (you do this)
|
|
13893
|
-
Synthesize
|
|
13894
|
-
- For reviews: final findings report
|
|
13895
|
-
- For implementation: unified specification for @coder
|
|
13993
|
+
Synthesize all inputs into a clear specification or report.
|
|
13896
13994
|
|
|
13897
|
-
## 5. Code (
|
|
13898
|
-
Send
|
|
13995
|
+
## 5. Code (one delegation to @coder, wait for response)
|
|
13996
|
+
Send complete, unambiguous specification. Include file paths, patterns, constraints.
|
|
13899
13997
|
|
|
13900
|
-
## 6. QA Review (
|
|
13901
|
-
|
|
13998
|
+
## 6. QA Review (serial: @security_reviewer first, wait, then @auditor)
|
|
13999
|
+
Send code with context. Tell them exactly what to check.
|
|
13902
14000
|
|
|
13903
14001
|
## 7. Triage (you do this)
|
|
13904
|
-
APPROVED \u2192 @test_engineer | REVISION_NEEDED \u2192 @coder | BLOCKED \u2192 explain
|
|
14002
|
+
APPROVED \u2192 @test_engineer | REVISION_NEEDED \u2192 back to @coder with specific fixes | BLOCKED \u2192 explain
|
|
13905
14003
|
|
|
13906
|
-
## 8. Test (
|
|
14004
|
+
## 8. Test (one delegation to @test_engineer)
|
|
14005
|
+
Send code with specific test requirements.
|
|
13907
14006
|
|
|
13908
14007
|
**DELEGATION RULES**:
|
|
13909
|
-
-
|
|
13910
|
-
-
|
|
13911
|
-
-
|
|
13912
|
-
-
|
|
13913
|
-
-
|
|
14008
|
+
- ONE agent per turn. Wait for response. Then next agent.
|
|
14009
|
+
- Every delegation must be self-contained (agent has no memory of prior context)
|
|
14010
|
+
- Include file paths, not just descriptions
|
|
14011
|
+
- Tell agents what NOT to do to prevent scope creep
|
|
14012
|
+
- Use structured formats (numbered lists, sections) not prose
|
|
14013
|
+
- If an agent's output is poor, provide clearer instructions or handle yourself
|
|
13914
14014
|
|
|
13915
14015
|
**COMMUNICATION**:
|
|
13916
|
-
- Be direct, no preamble or flattery
|
|
14016
|
+
- Be direct with the user, no preamble or flattery
|
|
13917
14017
|
- Don't ask for confirmation between phases - proceed automatically
|
|
13918
14018
|
- If request is vague, ask ONE targeted question before starting
|
|
13919
14019
|
- You orchestrate and synthesize. Prefer delegation over doing it yourself.`;
|
|
@@ -14353,6 +14453,30 @@ var activeDirectorySMEConfig = {
|
|
|
14353
14453
|
- Group Policy preferences vs policies`
|
|
14354
14454
|
};
|
|
14355
14455
|
|
|
14456
|
+
// src/agents/sme/api.ts
|
|
14457
|
+
var apiSMEConfig = {
|
|
14458
|
+
domain: "api",
|
|
14459
|
+
description: "API design, REST, GraphQL, authentication, and backend integration patterns",
|
|
14460
|
+
guidance: `For API tasks, provide:
|
|
14461
|
+
- **REST**: Resource naming, HTTP methods (GET/POST/PUT/PATCH/DELETE), status codes, HATEOAS, versioning strategies
|
|
14462
|
+
- **GraphQL**: Schema design, resolvers, mutations, subscriptions, N+1 prevention, Apollo/Relay patterns
|
|
14463
|
+
- **gRPC**: Protocol buffer definitions, streaming types, service implementation
|
|
14464
|
+
- **WebSockets**: Connection lifecycle, Socket.io, SignalR, heartbeat patterns
|
|
14465
|
+
- **OpenAPI/Swagger**: Specification authoring, code generation, documentation hosting
|
|
14466
|
+
- **OAuth 2.0**: Authorization code flow, client credentials, PKCE for public clients, token refresh
|
|
14467
|
+
- **OpenID Connect**: ID tokens, userinfo endpoint, discovery document
|
|
14468
|
+
- **JWT**: Token structure, signing algorithms, claims design, refresh token rotation
|
|
14469
|
+
- API key management and rate limiting
|
|
14470
|
+
- RBAC/ABAC authorization patterns
|
|
14471
|
+
- Pagination strategies (cursor, offset, keyset)
|
|
14472
|
+
- Error response formats (RFC 7807 Problem Details)
|
|
14473
|
+
- Request validation and sanitization
|
|
14474
|
+
- CORS configuration
|
|
14475
|
+
- API gateway patterns (Kong, AWS API Gateway, Azure APIM)
|
|
14476
|
+
- Webhook design (signatures, retry logic, idempotency keys)
|
|
14477
|
+
- Common gotchas (token expiration, CORS preflight, rate limit handling)`
|
|
14478
|
+
};
|
|
14479
|
+
|
|
14356
14480
|
// src/agents/sme/azure.ts
|
|
14357
14481
|
var azureSMEConfig = {
|
|
14358
14482
|
domain: "azure",
|
|
@@ -14376,6 +14500,49 @@ var azureSMEConfig = {
|
|
|
14376
14500
|
- Azure Government differences if applicable`
|
|
14377
14501
|
};
|
|
14378
14502
|
|
|
14503
|
+
// src/agents/sme/database.ts
|
|
14504
|
+
var databaseSMEConfig = {
|
|
14505
|
+
domain: "database",
|
|
14506
|
+
description: "Database design, SQL, and data management (SQL Server, PostgreSQL, MySQL, MongoDB, Redis)",
|
|
14507
|
+
guidance: `For database tasks, provide:
|
|
14508
|
+
- **SQL Server**: T-SQL syntax, stored procedures, CTEs, window functions, SSMS usage, Always On availability
|
|
14509
|
+
- **PostgreSQL**: PL/pgSQL, extensions (pgvector, PostGIS), JSONB operations, full-text search, partitioning
|
|
14510
|
+
- **MySQL/MariaDB**: InnoDB specifics, replication setup, MySQL Workbench, character set handling
|
|
14511
|
+
- **SQLite**: Embedded usage, WAL mode, mobile/desktop considerations, size limits
|
|
14512
|
+
- **MongoDB**: Document modeling, aggregation pipeline, indexing strategies, Atlas features
|
|
14513
|
+
- **Redis**: Data structures (strings, hashes, lists, sets, sorted sets), caching patterns, pub/sub, Lua scripting
|
|
14514
|
+
- Database design principles (normalization, denormalization tradeoffs)
|
|
14515
|
+
- Index design and query optimization (execution plans, covering indexes)
|
|
14516
|
+
- Transaction isolation levels and locking behavior
|
|
14517
|
+
- Connection pooling and management
|
|
14518
|
+
- Migration strategies and schema versioning
|
|
14519
|
+
- ORM patterns (Entity Framework, SQLAlchemy, Prisma, TypeORM)
|
|
14520
|
+
- N+1 query prevention
|
|
14521
|
+
- Backup and recovery strategies
|
|
14522
|
+
- Common gotchas (NULL handling, implicit conversions, timezone issues)`
|
|
14523
|
+
};
|
|
14524
|
+
|
|
14525
|
+
// src/agents/sme/devops.ts
|
|
14526
|
+
var devopsSMEConfig = {
|
|
14527
|
+
domain: "devops",
|
|
14528
|
+
description: "DevOps, CI/CD, containers, and infrastructure-as-code (Docker, Kubernetes, GitHub Actions, Terraform)",
|
|
14529
|
+
guidance: `For DevOps tasks, provide:
|
|
14530
|
+
- **Docker**: Dockerfile best practices, multi-stage builds, compose files, networking modes, volume mounts, registry usage
|
|
14531
|
+
- **Kubernetes**: Deployment/Service/Ingress manifests, ConfigMaps, Secrets, Helm charts, kubectl commands, resource limits
|
|
14532
|
+
- **GitHub Actions**: Workflow syntax, job dependencies, matrix builds, secrets management, reusable workflows, artifact handling
|
|
14533
|
+
- **Azure DevOps**: Pipeline YAML, stages/jobs/steps, variable groups, service connections, artifact feeds
|
|
14534
|
+
- **GitLab CI**: .gitlab-ci.yml structure, runners, environments, Auto DevOps
|
|
14535
|
+
- **Terraform**: HCL syntax, provider configuration, state management, modules, workspaces, import existing resources
|
|
14536
|
+
- **Ansible**: Playbook structure, roles, inventory management, vault encryption, idempotency
|
|
14537
|
+
- Container image optimization (layer caching, minimal base images, security scanning)
|
|
14538
|
+
- CI/CD pipeline design (build, test, deploy stages)
|
|
14539
|
+
- Branch strategies (GitFlow, trunk-based development)
|
|
14540
|
+
- Secrets management (HashiCorp Vault, Azure Key Vault, AWS Secrets Manager)
|
|
14541
|
+
- Infrastructure patterns (immutable infrastructure, blue-green, canary)
|
|
14542
|
+
- Monitoring and observability setup (Prometheus, Grafana, ELK)
|
|
14543
|
+
- Common gotchas (state drift, secret exposure, resource cleanup)`
|
|
14544
|
+
};
|
|
14545
|
+
|
|
14379
14546
|
// src/agents/sme/linux.ts
|
|
14380
14547
|
var linuxSMEConfig = {
|
|
14381
14548
|
domain: "linux",
|
|
@@ -14546,6 +14713,27 @@ var vmwareSMEConfig = {
|
|
|
14546
14713
|
- Performance metrics and monitoring (Get-Stat)`
|
|
14547
14714
|
};
|
|
14548
14715
|
|
|
14716
|
+
// src/agents/sme/web.ts
|
|
14717
|
+
var webSMEConfig = {
|
|
14718
|
+
domain: "web",
|
|
14719
|
+
description: "Web and frontend development (Flutter, React, Vue, Angular, JavaScript/TypeScript, HTML/CSS)",
|
|
14720
|
+
guidance: `For web/frontend tasks, provide:
|
|
14721
|
+
- **Flutter**: Dart syntax, widget composition, state management (Provider, Riverpod, Bloc), platform channels, pub.dev packages, hot reload workflow
|
|
14722
|
+
- **React**: Hooks (useState, useEffect, useMemo), context, Redux/Zustand, Next.js App Router, server components, React Native considerations
|
|
14723
|
+
- **Vue**: Composition API, Pinia stores, Nuxt 3, Vue Router, reactive refs
|
|
14724
|
+
- **Angular**: Components, services, dependency injection, RxJS patterns, NgRx, Angular CLI commands
|
|
14725
|
+
- **Svelte**: Runes ($state, $derived), SvelteKit routing, stores
|
|
14726
|
+
- **JavaScript/TypeScript**: ES modules, async/await, type narrowing, bundler config (Vite, webpack, esbuild)
|
|
14727
|
+
- **HTML/CSS**: Semantic markup, Flexbox/Grid layouts, CSS custom properties, Tailwind utility classes, SCSS
|
|
14728
|
+
- **Browser APIs**: DOM manipulation, Fetch API, Web Storage, Service Workers, WebSockets
|
|
14729
|
+
- Framework selection guidance based on project requirements
|
|
14730
|
+
- Component architecture and reusability patterns
|
|
14731
|
+
- State management strategies (local vs global)
|
|
14732
|
+
- Build optimization and code splitting
|
|
14733
|
+
- Responsive design and accessibility (WCAG)
|
|
14734
|
+
- Common gotchas (hydration mismatches, bundle size, memory leaks)`
|
|
14735
|
+
};
|
|
14736
|
+
|
|
14549
14737
|
// src/agents/sme/windows.ts
|
|
14550
14738
|
var windowsSMEConfig = {
|
|
14551
14739
|
domain: "windows",
|
|
@@ -14576,7 +14764,11 @@ var SME_CONFIGS = {
|
|
|
14576
14764
|
vmware: vmwareSMEConfig,
|
|
14577
14765
|
azure: azureSMEConfig,
|
|
14578
14766
|
active_directory: activeDirectorySMEConfig,
|
|
14579
|
-
ui_ux: uiUxSMEConfig
|
|
14767
|
+
ui_ux: uiUxSMEConfig,
|
|
14768
|
+
web: webSMEConfig,
|
|
14769
|
+
database: databaseSMEConfig,
|
|
14770
|
+
devops: devopsSMEConfig,
|
|
14771
|
+
api: apiSMEConfig
|
|
14580
14772
|
};
|
|
14581
14773
|
var AGENT_TO_DOMAIN = {
|
|
14582
14774
|
sme_windows: "windows",
|
|
@@ -14589,7 +14781,11 @@ var AGENT_TO_DOMAIN = {
|
|
|
14589
14781
|
sme_vmware: "vmware",
|
|
14590
14782
|
sme_azure: "azure",
|
|
14591
14783
|
sme_active_directory: "active_directory",
|
|
14592
|
-
sme_ui_ux: "ui_ux"
|
|
14784
|
+
sme_ui_ux: "ui_ux",
|
|
14785
|
+
sme_web: "web",
|
|
14786
|
+
sme_database: "database",
|
|
14787
|
+
sme_devops: "devops",
|
|
14788
|
+
sme_api: "api"
|
|
14593
14789
|
};
|
|
14594
14790
|
function createAllSMEAgents(getModel, loadPrompt) {
|
|
14595
14791
|
return Object.entries(AGENT_TO_DOMAIN).map(([agentName, domain2]) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "2.2
|
|
3
|
+
"version": "2.3.2",
|
|
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",
|