oh-my-claudecode-opencode 0.2.0 → 0.2.1

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.
Files changed (3) hide show
  1. package/README.md +113 -43
  2. package/dist/index.js +13279 -13218
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # oh-my-claudecode-opencode (omco)
2
2
 
3
- > 🔄 **OpenCode port of [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode) v3.0.11**
3
+ > 🔄 **OpenCode port of [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode) v3.3.6**
4
4
 
5
5
  **oh-my-claudecode-opencode** (omco) - Multi-agent orchestration plugin that brings [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode) features to [OpenCode](https://github.com/opencode-ai/opencode).
6
6
 
@@ -10,7 +10,7 @@ Like Sisyphus condemned to roll his boulder eternally, this plugin ensures your
10
10
 
11
11
  ## 🎯 What is this?
12
12
 
13
- This project **ports the powerful features** of [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode) v3.0.11 (a Claude Code plugin) to the **OpenCode platform**.
13
+ This project **ports the powerful features** of [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode) v3.3.6 (a Claude Code plugin) to the **OpenCode platform**.
14
14
 
15
15
  | Original (Claude Code) | This Port (OpenCode) |
16
16
  |------------------------|----------------------|
@@ -171,26 +171,40 @@ call_omo_agent(
171
171
 
172
172
  ## Configuration
173
173
 
174
- Create `.opencode/omco.json` in your project:
174
+ Create `.opencode/omco.json` in your project (see `assets/omco.example.json` for full example):
175
175
 
176
176
  ```json
177
177
  {
178
- "disabled_hooks": [],
178
+ "$schema": "node_modules/oh-my-claudecode-opencode/assets/omco.schema.json",
179
+
180
+ "agents": {
181
+ "architect": { "tier": "opus", "enabled": true },
182
+ "explore": { "tier": "haiku" }
183
+ },
184
+
179
185
  "background_task": {
180
- "max_concurrent": 5,
181
- "timeout_ms": 300000
186
+ "defaultConcurrency": 5
182
187
  },
188
+
183
189
  "ralph_loop": {
184
- "max_iterations": 50,
185
- "idle_timeout_ms": 30000
190
+ "enabled": true,
191
+ "default_max_iterations": 100
186
192
  },
187
- "todo_continuation": {
188
- "idle_threshold_ms": 15000,
189
- "reminder_interval_ms": 60000
193
+
194
+ "autopilot": {
195
+ "enabled": true,
196
+ "maxPhaseRetries": 3,
197
+ "delegationEnforcement": "warn"
198
+ },
199
+
200
+ "ultraqa": {
201
+ "enabled": true,
202
+ "maxIterations": 10
190
203
  },
191
- "ultrawork": {
192
- "keywords": ["ultrawork", "ulw", "uw"],
193
- "auto_parallel": true
204
+
205
+ "orchestrator": {
206
+ "delegationEnforcement": "warn",
207
+ "auditLogEnabled": true
194
208
  }
195
209
  }
196
210
  ```
@@ -199,23 +213,26 @@ Create `.opencode/omco.json` in your project:
199
213
 
200
214
  | Option | Description | Default |
201
215
  |--------|-------------|---------|
202
- | `disabled_hooks` | Hooks to disable | `[]` |
203
- | `background_task.max_concurrent` | Max parallel background tasks | `5` |
204
- | `background_task.timeout_ms` | Background task timeout | `300000` |
205
- | `ralph_loop.max_iterations` | Max loop iterations | `50` |
206
- | `ralph_loop.idle_timeout_ms` | Idle time before continuation | `30000` |
207
- | `todo_continuation.idle_threshold_ms` | Idle threshold for TODO check | `15000` |
208
- | `ultrawork.keywords` | Trigger keywords | `["ultrawork", "ulw", "uw"]` |
216
+ | `background_task.defaultConcurrency` | Max parallel background tasks | `5` |
217
+ | `ralph_loop.enabled` | Enable Ralph Loop | `true` |
218
+ | `ralph_loop.default_max_iterations` | Max loop iterations | `100` |
219
+ | `autopilot.enabled` | Enable Autopilot mode | `true` |
220
+ | `autopilot.maxPhaseRetries` | Max retries per phase | `3` |
221
+ | `autopilot.delegationEnforcement` | `strict`, `warn`, `off` | `warn` |
222
+ | `ultraqa.enabled` | Enable UltraQA | `true` |
223
+ | `ultraqa.maxIterations` | Max QA iterations | `10` |
224
+ | `orchestrator.delegationEnforcement` | Delegation enforcement level | `warn` |
225
+ | `orchestrator.auditLogEnabled` | Enable audit logging | `true` |
209
226
 
210
227
  ### Model Provider Configuration
211
228
 
212
- By default, oh-my-claudecode-opencode uses **GitHub Copilot Claude 4.5 models** for the three tiers:
229
+ By default, oh-my-claudecode-opencode uses **GitHub Copilot Claude 4 models** for the three tiers:
213
230
 
214
231
  | Tier | Default Model |
215
232
  |------|---------------|
216
- | `haiku` | `github-copilot/claude-haiku-4.5` |
217
- | `sonnet` | `github-copilot/claude-sonnet-4.5` |
218
- | `opus` | `github-copilot/claude-opus-4.5` |
233
+ | `haiku` / `LOW` | `github-copilot/claude-haiku-4` |
234
+ | `sonnet` / `MEDIUM` | `github-copilot/claude-sonnet-4` |
235
+ | `opus` / `HIGH` | `github-copilot/claude-opus-4` |
219
236
 
220
237
  To use other providers like Google or OpenAI, configure `model_mapping.tierDefaults`:
221
238
 
@@ -224,42 +241,95 @@ To use other providers like Google or OpenAI, configure `model_mapping.tierDefau
224
241
  "model_mapping": {
225
242
  "tierDefaults": {
226
243
  "haiku": "google/gemini-3-flash",
227
- "sonnet": "google/gemini-3-pro-low",
228
- "opus": "openai/gpt-5.2"
244
+ "sonnet": "google/gemini-3-pro",
245
+ "opus": "openai/gpt-5"
229
246
  }
230
247
  }
231
248
  }
232
249
  ```
233
250
 
234
- **Model Format**: Always use `provider/model-name` format (e.g., `github-copilot/claude-sonnet-4.5`, `google/gemini-3-flash`)
251
+ ### Intelligent Routing
235
252
 
236
- **Tier Semantics**:
237
- | Tier | Purpose | Typical Use |
238
- |------|---------|-------------|
239
- | `haiku` | Fast, cheap | explore, simple lookups, quick checks |
240
- | `sonnet` | Balanced | executor, designer, most agents |
241
- | `opus` | Most capable | architect, planner, complex reasoning |
253
+ The plugin includes intelligent model routing with automatic tier escalation:
242
254
 
243
- **Partial Configuration**: You only need to specify tiers you want to override. Unspecified tiers fall back to Copilot Claude defaults.
255
+ ```json
256
+ {
257
+ "routing": {
258
+ "enabled": true,
259
+ "defaultTier": "MEDIUM",
260
+ "escalationEnabled": true,
261
+ "maxEscalations": 2,
262
+ "tierModels": {
263
+ "LOW": "github-copilot/claude-haiku-4",
264
+ "MEDIUM": "github-copilot/claude-sonnet-4",
265
+ "HIGH": "github-copilot/claude-opus-4"
266
+ },
267
+ "agentOverrides": {
268
+ "architect": { "tier": "HIGH", "reason": "Deep reasoning required" },
269
+ "explore": { "tier": "LOW", "reason": "Search-focused" }
270
+ },
271
+ "escalationKeywords": ["critical", "production", "urgent", "security"],
272
+ "simplificationKeywords": ["find", "list", "show", "where"]
273
+ }
274
+ }
275
+ ```
276
+
277
+ ### Features Configuration
244
278
 
245
- **Per-Agent Override**: Override specific agents with either a tier or concrete model:
279
+ Toggle platform features:
246
280
 
247
281
  ```json
248
282
  {
249
- "agents": {
250
- "architect": { "model": "openai/gpt-5.2" },
251
- "explore": { "tier": "sonnet" },
252
- "executor": { "model": "google/gemini-3-pro-low", "temperature": 0.3 }
283
+ "features": {
284
+ "parallelExecution": true,
285
+ "lspTools": true,
286
+ "astTools": true,
287
+ "continuationEnforcement": true,
288
+ "autoContextInjection": true
289
+ }
290
+ }
291
+ ```
292
+
293
+ ### MCP Servers
294
+
295
+ Configure MCP server integrations:
296
+
297
+ ```json
298
+ {
299
+ "mcpServers": {
300
+ "exa": { "enabled": true, "apiKey": "your-api-key" },
301
+ "context7": { "enabled": true },
302
+ "grepApp": { "enabled": true }
253
303
  }
254
304
  }
255
305
  ```
256
306
 
257
- **Debug Logging**: Enable model resolution logging:
307
+ ### Permissions
308
+
309
+ Control allowed operations:
258
310
 
259
311
  ```json
260
312
  {
261
- "model_mapping": {
262
- "debugLogging": true
313
+ "permissions": {
314
+ "allowBash": true,
315
+ "allowEdit": true,
316
+ "allowWrite": true,
317
+ "maxBackgroundTasks": 5
318
+ }
319
+ }
320
+ ```
321
+
322
+ ### Magic Keywords
323
+
324
+ Customize trigger keywords:
325
+
326
+ ```json
327
+ {
328
+ "magicKeywords": {
329
+ "ultrawork": ["ultrawork", "ulw", "uw"],
330
+ "search": ["search", "find", "locate"],
331
+ "analyze": ["analyze", "investigate", "examine"],
332
+ "ultrathink": ["ultrathink", "think", "reason", "ponder"]
263
333
  }
264
334
  }
265
335
  ```