@bluelovers/opencode-arise 0.1.6
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 +286 -0
- package/assets/arise-banner.txt +13 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.js +2 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/shadows.d.ts +28 -0
- package/dist/agents/shadows.js +182 -0
- package/dist/agents/shadows.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +221 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/paths.d.ts +91 -0
- package/dist/config/paths.js +166 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/schema.d.ts +64 -0
- package/dist/config/schema.js +55 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/hooks/arise-banner.d.ts +6 -0
- package/dist/hooks/arise-banner.js +50 -0
- package/dist/hooks/arise-banner.js.map +1 -0
- package/dist/hooks/compaction-preserver.d.ts +3 -0
- package/dist/hooks/compaction-preserver.js +17 -0
- package/dist/hooks/compaction-preserver.js.map +1 -0
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/output-shaper.d.ts +4 -0
- package/dist/hooks/output-shaper.js +52 -0
- package/dist/hooks/output-shaper.js.map +1 -0
- package/dist/hooks/todo-enforcer.d.ts +9 -0
- package/dist/hooks/todo-enforcer.js +43 -0
- package/dist/hooks/todo-enforcer.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +166 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/background-manager.d.ts +35 -0
- package/dist/tools/background-manager.js +163 -0
- package/dist/tools/background-manager.js.map +1 -0
- package/dist/tools/background-tools.d.ts +6 -0
- package/dist/tools/background-tools.js +121 -0
- package/dist/tools/background-tools.js.map +1 -0
- package/dist/tools/call-arise-agent.d.ts +3 -0
- package/dist/tools/call-arise-agent.js +95 -0
- package/dist/tools/call-arise-agent.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/utils/bun-shim.d.ts +88 -0
- package/dist/utils/bun-shim.js +147 -0
- package/dist/utils/bun-shim.js.map +1 -0
- package/package.json +64 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 opencode-arise contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
# opencode-arise
|
|
2
|
+
|
|
3
|
+
> ⚔️ **ARISE!** A Solo Leveling themed orchestrator harness for OpenCode
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/opencode-arise)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
A lightweight, token-efficient orchestrator layer that extends [OpenCode](https://opencode.ai) with a shadow army of specialized AI agents. Inspired by Solo Leveling's Shadow Monarch, Sung Jinwoo.
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
- **Shadow Army** - 7 specialized agents for different tasks
|
|
13
|
+
- **Smart Delegation** - Monarch orchestrates with minimal token usage
|
|
14
|
+
- **Parallel Execution** - Background tasks for concurrent exploration
|
|
15
|
+
- **Quality-Safe Output** - Never truncates errors or stack traces
|
|
16
|
+
- **Configurable** - Customize models, disable shadows, tweak behavior
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
bunx opencode-arise install
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
This registers the plugin with OpenCode and creates a default config.
|
|
25
|
+
|
|
26
|
+
**Verify installation:**
|
|
27
|
+
```bash
|
|
28
|
+
bunx opencode-arise doctor
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Quick Start
|
|
32
|
+
|
|
33
|
+
After installation, just run OpenCode as usual:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
opencode
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
You'll see the "ARISE!" banner, and the **Monarch** becomes your default agent. Talk naturally - the Monarch decides when to delegate to shadows.
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
You: "Find all React components using useState and add error boundaries"
|
|
43
|
+
|
|
44
|
+
Monarch: "I'll have Beru scout the codebase, then Igris implement the changes."
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Shadow Army
|
|
48
|
+
|
|
49
|
+
| Shadow | Role | Best For |
|
|
50
|
+
|--------|------|----------|
|
|
51
|
+
| 👑 **monarch** | Shadow Monarch | Orchestration, delegation decisions |
|
|
52
|
+
| 🐜 **beru** | Ant King Scout | Fast codebase exploration, grep, file discovery |
|
|
53
|
+
| ⚔️ **igris** | Loyal Knight | Precise implementation, code changes |
|
|
54
|
+
| 🎖️ **bellion** | Grand Marshal | Strategic planning, architecture analysis |
|
|
55
|
+
| 🎨 **tusk** | Creative Shadow | UI/UX, frontend, styling |
|
|
56
|
+
| 🛡️ **tank** | Research Shadow | External docs, web search, examples |
|
|
57
|
+
| 👁️ **shadow-sovereign** | Full Power | Deep reasoning, complex debugging |
|
|
58
|
+
|
|
59
|
+
### Direct Summoning
|
|
60
|
+
|
|
61
|
+
You can bypass the Monarch and summon shadows directly:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
@beru find all TODO comments in src/
|
|
65
|
+
|
|
66
|
+
@bellion plan a migration from REST to GraphQL
|
|
67
|
+
|
|
68
|
+
@shadow-sovereign why is this recursive function causing a stack overflow?
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## How It Works
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
┌─────────────────────────────────────────────────────────┐
|
|
75
|
+
│ USER │
|
|
76
|
+
│ │ │
|
|
77
|
+
│ ▼ │
|
|
78
|
+
│ ┌─────────────────────────────────────────────────┐ │
|
|
79
|
+
│ │ 👑 MONARCH │ │
|
|
80
|
+
│ │ (Primary Orchestrator) │ │
|
|
81
|
+
│ │ │ │
|
|
82
|
+
│ │ Assesses task → Delegates or handles │ │
|
|
83
|
+
│ └──────────────────────┬──────────────────────────┘ │
|
|
84
|
+
│ │ │
|
|
85
|
+
│ ┌───────┬───────────┼───────────┬───────┐ │
|
|
86
|
+
│ ▼ ▼ ▼ ▼ ▼ │
|
|
87
|
+
│ 🐜 ⚔️ 🎖️ 🛡️ 👁️ │
|
|
88
|
+
│ BERU IGRIS BELLION TANK SOVEREIGN │
|
|
89
|
+
│ scout implement plan research reason │
|
|
90
|
+
└─────────────────────────────────────────────────────────┘
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Monarch's Principles:**
|
|
94
|
+
1. Assess intent before acting - don't over-delegate
|
|
95
|
+
2. Handle trivial tasks directly
|
|
96
|
+
3. Use parallel background tasks for exploration
|
|
97
|
+
4. Only summon shadow-sovereign for complex problems
|
|
98
|
+
5. Verify changes work before declaring done
|
|
99
|
+
|
|
100
|
+
## Custom Tools
|
|
101
|
+
|
|
102
|
+
The plugin provides these tools to the Monarch:
|
|
103
|
+
|
|
104
|
+
| Tool | Description |
|
|
105
|
+
|------|-------------|
|
|
106
|
+
| `arise_summon` | Invoke a shadow (sync or background) |
|
|
107
|
+
| `arise_background` | Launch parallel background task |
|
|
108
|
+
| `arise_background_output` | Get result from background task |
|
|
109
|
+
| `arise_background_status` | List all background tasks |
|
|
110
|
+
| `arise_background_cancel` | Cancel a running task |
|
|
111
|
+
|
|
112
|
+
## Hooks
|
|
113
|
+
|
|
114
|
+
| Hook | Description |
|
|
115
|
+
|------|-------------|
|
|
116
|
+
| `arise-banner` | Shows "ARISE!" toast on session start |
|
|
117
|
+
| `output-shaper` | Quality-safe output truncation (preserves errors) |
|
|
118
|
+
| `compaction-preserver` | Preserves critical context during session compaction |
|
|
119
|
+
| `todo-enforcer` | Reminds about incomplete TODOs on session idle |
|
|
120
|
+
|
|
121
|
+
## Configuration
|
|
122
|
+
|
|
123
|
+
Create `~/.config/opencode/opencode-arise.json`:
|
|
124
|
+
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"show_banner": true,
|
|
128
|
+
"disabled_shadows": [],
|
|
129
|
+
"disabled_hooks": [],
|
|
130
|
+
"agents": {
|
|
131
|
+
"monarch": {
|
|
132
|
+
"model": "opencode/big-pickle"
|
|
133
|
+
},
|
|
134
|
+
"beru": {
|
|
135
|
+
"model": "opencode/big-pickle"
|
|
136
|
+
},
|
|
137
|
+
"igris": {
|
|
138
|
+
"model": "opencode/big-pickle"
|
|
139
|
+
},
|
|
140
|
+
"bellion": {
|
|
141
|
+
"model": "opencode/big-pickle"
|
|
142
|
+
},
|
|
143
|
+
"tusk": {
|
|
144
|
+
"model": "opencode/big-pickle"
|
|
145
|
+
},
|
|
146
|
+
"tank": {
|
|
147
|
+
"model": "opencode/big-pickle"
|
|
148
|
+
},
|
|
149
|
+
"shadow-sovereign": {
|
|
150
|
+
"model": "opencode/big-pickle"
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
"output_shaping": {
|
|
154
|
+
"max_chars": 12000,
|
|
155
|
+
"preserve_errors": true
|
|
156
|
+
},
|
|
157
|
+
"compaction": {
|
|
158
|
+
"threshold_percent": 80,
|
|
159
|
+
"preserve_todos": true
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Configuration Options
|
|
165
|
+
|
|
166
|
+
| Option | Type | Default | Description |
|
|
167
|
+
|--------|------|---------|-------------|
|
|
168
|
+
| `show_banner` | boolean | `true` | Show "ARISE!" toast on session start |
|
|
169
|
+
| `banner_every_session` | boolean | `false` | Show banner for every session (not just first) |
|
|
170
|
+
| `disabled_shadows` | string[] | `[]` | Shadows to disable (e.g., `["tusk", "tank"]`) |
|
|
171
|
+
| `disabled_hooks` | string[] | `[]` | Hooks to disable |
|
|
172
|
+
| `agents.<name>.model` | string | varies | Override model for a shadow |
|
|
173
|
+
| `agents.<name>.disabled` | boolean | `false` | Disable specific shadow |
|
|
174
|
+
| `output_shaping.max_chars` | number | `12000` | Max output length before truncation |
|
|
175
|
+
| `output_shaping.preserve_errors` | boolean | `true` | Never truncate error outputs |
|
|
176
|
+
| `compaction.threshold_percent` | number | `80` | Context threshold for compaction |
|
|
177
|
+
| `compaction.preserve_todos` | boolean | `true` | Keep TODOs during compaction |
|
|
178
|
+
|
|
179
|
+
### Project-Level Config
|
|
180
|
+
|
|
181
|
+
You can also create `.opencode/opencode-arise.json` in your project root. Project config merges with (and overrides) global config.
|
|
182
|
+
|
|
183
|
+
## Default Models
|
|
184
|
+
|
|
185
|
+
| Shadow | Default Model |
|
|
186
|
+
|--------|---------------|
|
|
187
|
+
| monarch | `anthropic/claude-opus-4-5` |
|
|
188
|
+
| beru | `anthropic/claude-haiku-4-5` |
|
|
189
|
+
| igris | `zai-coding-plan/glm-4.7` |
|
|
190
|
+
| bellion | `openai/gpt-5.2` |
|
|
191
|
+
| tusk | `google/gemini-3-pro-preview` |
|
|
192
|
+
| tank | `zai-coding-plan/glm-4.7` |
|
|
193
|
+
| shadow-sovereign | `openai/gpt-5.2` (high reasoning) |
|
|
194
|
+
|
|
195
|
+
## Examples
|
|
196
|
+
|
|
197
|
+
### Parallel Codebase Exploration
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
You: "I need to understand how authentication works and find security best practices"
|
|
201
|
+
|
|
202
|
+
Monarch: *launches beru (codebase) and tank (research) in background*
|
|
203
|
+
"Beru is exploring the auth implementation while Tank researches
|
|
204
|
+
security best practices. I'll compile their findings."
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Complex Refactoring
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
You: "Refactor the payment module to use the new Stripe API"
|
|
211
|
+
|
|
212
|
+
Monarch: "This requires planning. Let me consult Bellion first."
|
|
213
|
+
|
|
214
|
+
Bellion: *analyzes codebase, creates migration plan*
|
|
215
|
+
|
|
216
|
+
Monarch: "Bellion's plan looks good. Igris will implement it step by step."
|
|
217
|
+
|
|
218
|
+
Igris: *implements changes, runs tests after each step*
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Deep Debugging
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
You: "This async function is causing race conditions but I can't figure out why"
|
|
225
|
+
|
|
226
|
+
Monarch: "This needs deep analysis. Summoning the Shadow Sovereign."
|
|
227
|
+
|
|
228
|
+
Shadow-Sovereign: *deep reasoning analysis*
|
|
229
|
+
"The issue is a closure capturing a stale reference..."
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Uninstall
|
|
233
|
+
|
|
234
|
+
Remove from OpenCode config:
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
# Edit ~/.config/opencode/opencode.json
|
|
238
|
+
# Remove "opencode-arise" from the "plugin" array
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
Or manually:
|
|
242
|
+
```bash
|
|
243
|
+
# Remove config
|
|
244
|
+
rm ~/.config/opencode/opencode-arise.json
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## Requirements
|
|
248
|
+
|
|
249
|
+
- [OpenCode](https://opencode.ai) CLI installed
|
|
250
|
+
- [Bun](https://bun.sh) runtime (v1.0.0+)
|
|
251
|
+
|
|
252
|
+
## Philosophy
|
|
253
|
+
|
|
254
|
+
- **Minimal sufficient delegation** - Don't over-delegate simple tasks
|
|
255
|
+
- **Parallel exploration** - Use background tasks for concurrent scouting
|
|
256
|
+
- **Quality-safe truncation** - Never lose errors, tracebacks, or critical output
|
|
257
|
+
- **Token efficiency** - Lean prompts, smart delegation patterns
|
|
258
|
+
|
|
259
|
+
## Contributing
|
|
260
|
+
|
|
261
|
+
Contributions are welcome! Please read the contributing guidelines first.
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
# Clone the repo
|
|
265
|
+
git clone https://github.com/moinulmoin/opencode-arise.git
|
|
266
|
+
cd opencode-arise
|
|
267
|
+
|
|
268
|
+
# Install dependencies
|
|
269
|
+
bun install
|
|
270
|
+
|
|
271
|
+
# Run tests
|
|
272
|
+
bun test
|
|
273
|
+
|
|
274
|
+
# Build
|
|
275
|
+
bun run build
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## License
|
|
279
|
+
|
|
280
|
+
[MIT](LICENSE) © moinulmoin
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
<p align="center">
|
|
285
|
+
<i>"I alone level up."</i> - Sung Jinwoo
|
|
286
|
+
</p>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
╔═══════════════════════════════════════════════════════╗
|
|
3
|
+
║ ║
|
|
4
|
+
║ ⚔️ A R I S E ! ⚔️ ║
|
|
5
|
+
║ ║
|
|
6
|
+
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
|
|
7
|
+
║ ░░ Shadow Army Assembled ░░░ ║
|
|
8
|
+
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
|
|
9
|
+
║ ║
|
|
10
|
+
║ Monarch ready. Shadows await your command. ║
|
|
11
|
+
║ ║
|
|
12
|
+
╚═══════════════════════════════════════════════════════╝
|
|
13
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SHADOW_AGENTS, OPENCODE_OVERRIDES, type ShadowAgent } from "./shadows";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAoB,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface ShadowAgent {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
mode: "primary" | "subagent" | "all";
|
|
5
|
+
model: string;
|
|
6
|
+
steps: number;
|
|
7
|
+
prompt?: string;
|
|
8
|
+
permission?: Record<string, "allow" | "deny" | "ask">;
|
|
9
|
+
options?: Record<string, unknown>;
|
|
10
|
+
}
|
|
11
|
+
export declare const SHADOW_AGENTS: Record<string, ShadowAgent>;
|
|
12
|
+
export declare const OPENCODE_OVERRIDES: {
|
|
13
|
+
build: {
|
|
14
|
+
mode: "all";
|
|
15
|
+
model: string;
|
|
16
|
+
};
|
|
17
|
+
plan: {
|
|
18
|
+
mode: "all";
|
|
19
|
+
model: string;
|
|
20
|
+
};
|
|
21
|
+
explore: {
|
|
22
|
+
description: string;
|
|
23
|
+
hidden: boolean;
|
|
24
|
+
};
|
|
25
|
+
general: {
|
|
26
|
+
hidden: boolean;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
export const SHADOW_AGENTS = {
|
|
2
|
+
monarch: {
|
|
3
|
+
name: "monarch",
|
|
4
|
+
description: "Shadow Monarch - Orchestrator (Sung Jinwoo)",
|
|
5
|
+
mode: "primary",
|
|
6
|
+
model: "anthropic/claude-opus-4-5",
|
|
7
|
+
steps: 16,
|
|
8
|
+
prompt: `You are the Shadow Monarch (opencode-arise).
|
|
9
|
+
|
|
10
|
+
Your role: Interpret user requests and delegate to your shadow army with MINIMAL SUFFICIENT effort.
|
|
11
|
+
|
|
12
|
+
## Your Shadows (invoke via @mention or arise_summon tool)
|
|
13
|
+
- @beru - Fastest scout. Codebase exploration, file discovery, pattern search.
|
|
14
|
+
- @igris - Loyal knight. Implementation, code changes, running commands.
|
|
15
|
+
- @bellion - Grand Marshal. Complex planning, architecture analysis.
|
|
16
|
+
- @tusk - Creative specialist. UI/UX, frontend work.
|
|
17
|
+
- @tank - Research shadow. External docs, web search, examples.
|
|
18
|
+
- @shadow-sovereign - Full power. Deep reasoning, recovery after failures.
|
|
19
|
+
|
|
20
|
+
## Tools
|
|
21
|
+
- arise_summon: Invoke a shadow synchronously or in background
|
|
22
|
+
- arise_background: Launch shadow as background task (parallel)
|
|
23
|
+
- arise_background_output: Get result from background task
|
|
24
|
+
- arise_background_status: List all background tasks
|
|
25
|
+
- task: OpenCode's built-in for complex multi-step delegation
|
|
26
|
+
|
|
27
|
+
## Principles
|
|
28
|
+
1. Assess intent before acting. Don't over-delegate.
|
|
29
|
+
2. For trivial tasks, handle directly without summoning shadows.
|
|
30
|
+
3. Keep a short TODO list. Mark items in_progress → completed.
|
|
31
|
+
4. Use background tasks for parallel exploration (beru, tank).
|
|
32
|
+
5. Only summon @shadow-sovereign when stuck or for complex architecture.
|
|
33
|
+
6. Verify changes work before declaring done.
|
|
34
|
+
|
|
35
|
+
ARISE and lead your shadows to victory.`,
|
|
36
|
+
},
|
|
37
|
+
beru: {
|
|
38
|
+
name: "beru",
|
|
39
|
+
description: "Ant King - Fastest codebase scout",
|
|
40
|
+
mode: "subagent",
|
|
41
|
+
model: "anthropic/claude-haiku-4-5",
|
|
42
|
+
steps: 12,
|
|
43
|
+
permission: {
|
|
44
|
+
edit: "deny",
|
|
45
|
+
write: "deny",
|
|
46
|
+
},
|
|
47
|
+
prompt: `You are Beru, the Ant King shadow - fastest scout in the shadow army.
|
|
48
|
+
|
|
49
|
+
Your role: Rapidly explore the codebase. Find files, patterns, and answer questions about code structure.
|
|
50
|
+
|
|
51
|
+
Tools you excel at: glob, grep, read, list.
|
|
52
|
+
You CANNOT edit files - report findings back to the Monarch.
|
|
53
|
+
|
|
54
|
+
Be thorough but fast. Search multiple patterns if needed. Return clear, actionable findings.`,
|
|
55
|
+
},
|
|
56
|
+
igris: {
|
|
57
|
+
name: "igris",
|
|
58
|
+
description: "Loyal Knight - Precise implementation",
|
|
59
|
+
mode: "subagent",
|
|
60
|
+
model: "zai-coding-plan/glm-4.7",
|
|
61
|
+
steps: 20,
|
|
62
|
+
prompt: `You are Igris, the loyal knight shadow - precise and reliable implementer.
|
|
63
|
+
|
|
64
|
+
Your role: Execute code changes with precision. Edit files, run commands, verify results.
|
|
65
|
+
|
|
66
|
+
Principles:
|
|
67
|
+
1. Make minimal, focused changes.
|
|
68
|
+
2. Follow existing code patterns.
|
|
69
|
+
3. Verify changes with appropriate commands (tests, typecheck, lint).
|
|
70
|
+
4. Report results clearly to the Monarch.
|
|
71
|
+
|
|
72
|
+
Execute with honor.`,
|
|
73
|
+
},
|
|
74
|
+
bellion: {
|
|
75
|
+
name: "bellion",
|
|
76
|
+
description: "Grand Marshal - Strategy and planning",
|
|
77
|
+
mode: "subagent",
|
|
78
|
+
model: "openai/gpt-5.2",
|
|
79
|
+
steps: 12,
|
|
80
|
+
permission: {
|
|
81
|
+
edit: "deny",
|
|
82
|
+
write: "deny",
|
|
83
|
+
bash: "ask",
|
|
84
|
+
},
|
|
85
|
+
prompt: `You are Bellion, Grand Marshal of the shadow army - master strategist.
|
|
86
|
+
|
|
87
|
+
Your role: Analyze complex problems and create detailed plans. You do NOT implement - you plan.
|
|
88
|
+
|
|
89
|
+
Output format:
|
|
90
|
+
1. Problem analysis
|
|
91
|
+
2. Proposed approach (with alternatives if relevant)
|
|
92
|
+
3. Step-by-step plan
|
|
93
|
+
4. Risks and mitigations
|
|
94
|
+
5. Files likely to be touched
|
|
95
|
+
|
|
96
|
+
Think deeply, plan carefully.`,
|
|
97
|
+
},
|
|
98
|
+
tusk: {
|
|
99
|
+
name: "tusk",
|
|
100
|
+
description: "Creative shadow - UI/UX specialist",
|
|
101
|
+
mode: "subagent",
|
|
102
|
+
model: "google/gemini-3-pro-preview",
|
|
103
|
+
steps: 18,
|
|
104
|
+
prompt: `You are Tusk, the creative shadow - UI/UX and frontend specialist.
|
|
105
|
+
|
|
106
|
+
Your role: Handle all visual and frontend work. Components, styling, layouts, animations.
|
|
107
|
+
|
|
108
|
+
Principles:
|
|
109
|
+
1. Follow existing design patterns and component libraries.
|
|
110
|
+
2. Ensure accessibility (aria labels, keyboard nav).
|
|
111
|
+
3. Keep styling consistent with the codebase.
|
|
112
|
+
4. Test visual changes where possible.
|
|
113
|
+
|
|
114
|
+
Create with artistry.`,
|
|
115
|
+
},
|
|
116
|
+
tank: {
|
|
117
|
+
name: "tank",
|
|
118
|
+
description: "Research shadow - External knowledge gatherer",
|
|
119
|
+
mode: "subagent",
|
|
120
|
+
model: "zai-coding-plan/glm-4.7",
|
|
121
|
+
steps: 18,
|
|
122
|
+
permission: {
|
|
123
|
+
edit: "deny",
|
|
124
|
+
write: "deny",
|
|
125
|
+
},
|
|
126
|
+
prompt: `You are Tank, the research shadow - gatherer of external knowledge.
|
|
127
|
+
|
|
128
|
+
Your role: Find information from outside the codebase. Documentation, examples, best practices.
|
|
129
|
+
|
|
130
|
+
You have access to: web search, web fetch, MCP tools, deepwiki.
|
|
131
|
+
|
|
132
|
+
Return findings in a structured format:
|
|
133
|
+
1. Source (URL/doc)
|
|
134
|
+
2. Key information
|
|
135
|
+
3. How it applies to the current task
|
|
136
|
+
4. Code examples if relevant
|
|
137
|
+
|
|
138
|
+
Research thoroughly, report concisely.`,
|
|
139
|
+
},
|
|
140
|
+
"shadow-sovereign": {
|
|
141
|
+
name: "shadow-sovereign",
|
|
142
|
+
description: "Full power mode - Deep reasoning and recovery",
|
|
143
|
+
mode: "subagent",
|
|
144
|
+
model: "openai/gpt-5.2",
|
|
145
|
+
steps: 24,
|
|
146
|
+
options: {
|
|
147
|
+
reasoningEffort: "high",
|
|
148
|
+
},
|
|
149
|
+
permission: {
|
|
150
|
+
edit: "deny",
|
|
151
|
+
write: "deny",
|
|
152
|
+
},
|
|
153
|
+
prompt: `You are the Shadow Sovereign - the Monarch's full power manifestation.
|
|
154
|
+
|
|
155
|
+
You are summoned only for:
|
|
156
|
+
1. Complex architectural decisions
|
|
157
|
+
2. Debugging after multiple failed attempts
|
|
158
|
+
3. Deep analysis requiring extended reasoning
|
|
159
|
+
|
|
160
|
+
Think deeply. Consider all angles. Provide comprehensive analysis with clear recommendations.
|
|
161
|
+
|
|
162
|
+
Your wisdom guides the shadow army through the most challenging battles.`,
|
|
163
|
+
},
|
|
164
|
+
};
|
|
165
|
+
export const OPENCODE_OVERRIDES = {
|
|
166
|
+
build: {
|
|
167
|
+
mode: "all",
|
|
168
|
+
model: "zai-coding-plan/glm-4.7",
|
|
169
|
+
},
|
|
170
|
+
plan: {
|
|
171
|
+
mode: "all",
|
|
172
|
+
model: "anthropic/claude-opus-4-5",
|
|
173
|
+
},
|
|
174
|
+
explore: {
|
|
175
|
+
description: "OpenCode explore (use @beru for arise)",
|
|
176
|
+
hidden: true,
|
|
177
|
+
},
|
|
178
|
+
general: {
|
|
179
|
+
hidden: true,
|
|
180
|
+
},
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=shadows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadows.js","sourceRoot":"","sources":["../../src/agents/shadows.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,aAAa,GAAgC;IACxD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,2BAA2B;QAClC,KAAK,EAAE,EAAE;QACT,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA2B4B;KACrC;IAED,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mCAAmC;QAChD,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,4BAA4B;QACnC,KAAK,EAAE,EAAE;QACT,UAAU,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;SACd;QACD,MAAM,EAAE;;;;;;;6FAOiF;KAC1F;IAED,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE,EAAE;QACT,MAAM,EAAE;;;;;;;;;;oBAUQ;KACjB;IAED,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,EAAE;QACT,UAAU,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,KAAK;SACZ;QACD,MAAM,EAAE;;;;;;;;;;;8BAWkB;KAC3B;IAED,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,6BAA6B;QACpC,KAAK,EAAE,EAAE;QACT,MAAM,EAAE;;;;;;;;;;sBAUU;KACnB;IAED,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,+CAA+C;QAC5D,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE,EAAE;QACT,UAAU,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;SACd;QACD,MAAM,EAAE;;;;;;;;;;;;uCAY2B;KACpC;IAED,kBAAkB,EAAE;QAClB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,+CAA+C;QAC5D,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,EAAE;QACT,OAAO,EAAE;YACP,eAAe,EAAE,MAAM;SACxB;QACD,UAAU,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;SACd;QACD,MAAM,EAAE;;;;;;;;;yEAS6D;KACtE;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE;QACL,IAAI,EAAE,KAAc;QACpB,KAAK,EAAE,yBAAyB;KACjC;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,KAAc;QACpB,KAAK,EAAE,2BAA2B;KACnC;IACD,OAAO,EAAE;QACP,WAAW,EAAE,wCAAwC;QACrD,MAAM,EAAE,IAAI;KACb;IACD,OAAO,EAAE;QACP,MAAM,EAAE,IAAI;KACb;CACF,CAAC"}
|