Skip to content

Commit a7451f7

Browse files
committed
clean
1 parent a13c477 commit a7451f7

3 files changed

Lines changed: 147 additions & 724 deletions

File tree

README.md

Lines changed: 143 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -44,23 +44,24 @@
4444
- [YAGNI Enforcement](#yagni-enforcement)
4545
- [Playwright Integration](#playwright-integration)
4646
- [Customizing Agent Skills](#customizing-agent-skills)
47+
- [🔌 **MCP Servers**](#mcp-servers)
48+
- [MCP Permissions](#mcp-permissions)
49+
- [MCP Syntax](#mcp-syntax)
50+
- [Disabling MCPs](#disabling-mcps)
51+
- [Customizing MCP Permissions](#customizing-mcp-permissions)
4752
- [🛠️ **Tools & Capabilities**](#tools--capabilities)
4853
- [Tmux Integration](#tmux-integration)
4954
- [Quota Tool](#quota-tool)
5055
- [Background Tasks](#background-tasks)
5156
- [LSP Tools](#lsp-tools)
5257
- [Code Search Tools](#code-search-tools)
53-
- [🔌 **MCP Servers**](#mcp-servers)
54-
- [MCP Permissions](#mcp-permissions)
55-
- [MCP Syntax](#mcp-syntax)
56-
- [Disabling MCPs](#disabling-mcps)
57-
- [Customizing MCP Permissions](#customizing-mcp-permissions)
58+
- [Formatters](#formatters)
5859
- [⚙️ **Configuration**](#configuration)
5960
- [Files You Edit](#files-you-edit)
6061
- [Prompt Overriding](#prompt-overriding)
6162
- [Plugin Config](#plugin-config-oh-my-opencode-slimjson)
6263
- [Presets](#presets)
63-
- [Option Reference](#option-reference)
64+
- [Option Reference](#option-reference)
6465
- [🗑️ **Uninstallation**](#uninstallation)
6566

6667
---
@@ -283,117 +284,6 @@ Code implementation, refactoring, testing, verification. *Execute the plan - no
283284

284285
---
285286

286-
## Tools & Capabilities
287-
288-
### Tmux Integration
289-
290-
> ⚠️ **Temporary workaround:** Start OpenCode with `--port` to enable tmux integration. The port must match the `OPENCODE_PORT` environment variable (default: 4096). This is required until the upstream issue is resolved. [opencode#9099](https://github.com/anomalyco/opencode/issues/9099).
291-
292-
<img src="img/tmux.png" alt="Tmux Integration" width="800">
293-
294-
**Watch your agents work in real-time.** When the Orchestrator launches sub-agents or initiates background tasks, new tmux panes automatically spawn showing each agent's live progress. No more waiting in the dark.
295-
296-
#### Quick Setup
297-
298-
1. **Enable tmux integration** in `oh-my-opencode-slim.json` (see [Plugin Config](#plugin-config-oh-my-opencode-slimjson)).
299-
300-
```json
301-
{
302-
"tmux": {
303-
"enabled": true,
304-
"layout": "main-vertical",
305-
"main_pane_size": 60
306-
}
307-
}
308-
```
309-
310-
2. **Run OpenCode inside tmux**:
311-
```bash
312-
tmux
313-
opencode --port 4096
314-
```
315-
316-
Or use a custom port (must match `OPENCODE_PORT` env var):
317-
```bash
318-
tmux
319-
export OPENCODE_PORT=5000
320-
opencode --port 5000
321-
```
322-
323-
This allows multiple OpenCode instances on different ports.
324-
325-
326-
#### Layout Options
327-
328-
| Layout | Description |
329-
|--------|-------------|
330-
| `main-vertical` | Your session on the left (60%), agents stacked on the right |
331-
| `main-horizontal` | Your session on top (60%), agents stacked below |
332-
| `tiled` | All panes in equal-sized grid |
333-
| `even-horizontal` | All panes side by side |
334-
| `even-vertical` | All panes stacked vertically |
335-
336-
---
337-
338-
### Quota Tool
339-
340-
For Antigravity users. You can trigger this at any time by asking the agent to **"check my quota"** or **"show status."**
341-
342-
<img src="img/quota.png" alt="Antigravity Quota" width="600">
343-
344-
| Tool | Description |
345-
|------|-------------|
346-
| `antigravity_quota` | Check API quota for all Antigravity accounts (compact view with progress bars) |
347-
348-
---
349-
350-
### Background Tasks
351-
352-
The plugin provides tools to manage asynchronous work:
353-
354-
| Tool | Description |
355-
|------|-------------|
356-
| `background_task` | Launch an agent in a new session (`sync=true` blocks, `sync=false` runs in background) |
357-
| `background_output` | Fetch the result of a background task by ID |
358-
| `background_cancel` | Abort running tasks |
359-
360-
---
361-
362-
### LSP Tools
363-
364-
Language Server Protocol integration for code intelligence:
365-
366-
| Tool | Description |
367-
|------|-------------|
368-
| `lsp_goto_definition` | Jump to symbol definition |
369-
| `lsp_find_references` | Find all usages of a symbol across the workspace |
370-
| `lsp_diagnostics` | Get errors/warnings from the language server |
371-
| `lsp_rename` | Rename a symbol across all files |
372-
373-
> **Built-in LSP Servers:** OpenCode includes pre-configured LSP servers for 30+ languages (TypeScript, Python, Rust, Go, etc.). See the [official documentation](https://opencode.ai/docs/lsp/#built-in) for the full list and requirements.
374-
375-
---
376-
377-
### Code Search Tools
378-
379-
Fast code search and refactoring:
380-
381-
| Tool | Description |
382-
|------|-------------|
383-
| `grep` | Fast content search using ripgrep |
384-
| `ast_grep_search` | AST-aware code pattern matching (25 languages) |
385-
| `ast_grep_replace` | AST-aware code refactoring with dry-run support |
386-
387-
---
388-
389-
### Formatters
390-
391-
OpenCode automatically formats files after they're written or edited using language-specific formatters.
392-
393-
> **Built-in Formatters:** Includes support for Prettier, Biome, gofmt, rustfmt, ruff, and 20+ others. See the [official documentation](https://opencode.ai/docs/formatters/#built-in) for the complete list.
394-
395-
---
396-
397287
## 🧩 Skills
398288

399289
Skills are specialized capabilities that agents can use. Each agent has a default set of skills, which you can override in the agent config.
@@ -484,7 +374,7 @@ Override skills per-agent in your [Plugin Config](#plugin-config-oh-my-opencode-
484374

485375
---
486376

487-
## MCP Servers
377+
## 🔌 MCP Servers
488378

489379
Built-in Model Context Protocol servers (enabled by default):
490380

@@ -501,11 +391,11 @@ Control which agents can access which MCP servers using per-agent allowlists:
501391
| Agent | Default MCPs |
502392
|-------|--------------|
503393
| `orchestrator` | `websearch` |
504-
| `designer` | `websearch` |
505-
| `oracle` | `websearch`, `context7`, `grep_app` |
394+
| `designer` | none |
395+
| `oracle` | none |
506396
| `librarian` | `websearch`, `context7`, `grep_app` |
507-
| `explorer` | `websearch` |
508-
| `fixer` | `websearch` |
397+
| `explorer` | none |
398+
| `fixer` | none |
509399

510400
### MCP Syntax
511401

@@ -568,6 +458,117 @@ Override MCP access per-agent in your [Plugin Config](#plugin-config-oh-my-openc
568458

569459
---
570460

461+
## 🛠️ Tools & Capabilities
462+
463+
### Tmux Integration
464+
465+
> ⚠️ **Temporary workaround:** Start OpenCode with `--port` to enable tmux integration. The port must match the `OPENCODE_PORT` environment variable (default: 4096). This is required until the upstream issue is resolved. [opencode#9099](https://github.com/anomalyco/opencode/issues/9099).
466+
467+
<img src="img/tmux.png" alt="Tmux Integration" width="800">
468+
469+
**Watch your agents work in real-time.** When the Orchestrator launches sub-agents or initiates background tasks, new tmux panes automatically spawn showing each agent's live progress. No more waiting in the dark.
470+
471+
#### Quick Setup
472+
473+
1. **Enable tmux integration** in `oh-my-opencode-slim.json` (see [Plugin Config](#plugin-config-oh-my-opencode-slimjson)).
474+
475+
```json
476+
{
477+
"tmux": {
478+
"enabled": true,
479+
"layout": "main-vertical",
480+
"main_pane_size": 60
481+
}
482+
}
483+
```
484+
485+
2. **Run OpenCode inside tmux**:
486+
```bash
487+
tmux
488+
opencode --port 4096
489+
```
490+
491+
Or use a custom port (must match `OPENCODE_PORT` env var):
492+
```bash
493+
tmux
494+
export OPENCODE_PORT=5000
495+
opencode --port 5000
496+
```
497+
498+
This allows multiple OpenCode instances on different ports.
499+
500+
501+
#### Layout Options
502+
503+
| Layout | Description |
504+
|--------|-------------|
505+
| `main-vertical` | Your session on the left (60%), agents stacked on the right |
506+
| `main-horizontal` | Your session on top (60%), agents stacked below |
507+
| `tiled` | All panes in equal-sized grid |
508+
| `even-horizontal` | All panes side by side |
509+
| `even-vertical` | All panes stacked vertically |
510+
511+
---
512+
513+
### Quota Tool
514+
515+
For Antigravity users. You can trigger this at any time by asking the agent to **"check my quota"** or **"show status."**
516+
517+
<img src="img/quota.png" alt="Antigravity Quota" width="600">
518+
519+
| Tool | Description |
520+
|------|-------------|
521+
| `antigravity_quota` | Check API quota for all Antigravity accounts (compact view with progress bars) |
522+
523+
---
524+
525+
### Background Tasks
526+
527+
The plugin provides tools to manage asynchronous work:
528+
529+
| Tool | Description |
530+
|------|-------------|
531+
| `background_task` | Launch an agent in a new session (`sync=true` blocks, `sync=false` runs in background) |
532+
| `background_output` | Fetch the result of a background task by ID |
533+
| `background_cancel` | Abort running tasks |
534+
535+
---
536+
537+
### LSP Tools
538+
539+
Language Server Protocol integration for code intelligence:
540+
541+
| Tool | Description |
542+
|------|-------------|
543+
| `lsp_goto_definition` | Jump to symbol definition |
544+
| `lsp_find_references` | Find all usages of a symbol across the workspace |
545+
| `lsp_diagnostics` | Get errors/warnings from the language server |
546+
| `lsp_rename` | Rename a symbol across all files |
547+
548+
> **Built-in LSP Servers:** OpenCode includes pre-configured LSP servers for 30+ languages (TypeScript, Python, Rust, Go, etc.). See the [official documentation](https://opencode.ai/docs/lsp/#built-in) for the full list and requirements.
549+
550+
---
551+
552+
### Code Search Tools
553+
554+
Fast code search and refactoring:
555+
556+
| Tool | Description |
557+
|------|-------------|
558+
| `grep` | Fast content search using ripgrep |
559+
| `ast_grep_search` | AST-aware code pattern matching (25 languages) |
560+
| `ast_grep_replace` | AST-aware code refactoring with dry-run support |
561+
562+
---
563+
564+
### Formatters
565+
566+
OpenCode automatically formats files after they're written or edited using language-specific formatters.
567+
568+
> **Built-in Formatters:** Includes support for Prettier, Biome, gofmt, rustfmt, ruff, and 20+ others. See the [official documentation](https://opencode.ai/docs/formatters/#built-in) for the complete list.
569+
570+
---
571+
571572
## Configuration
572573
573574
### Files You Edit
@@ -628,35 +629,35 @@ The installer generates presets for different provider combinations. Switch betw
628629
"presets": {
629630
"antigravity": {
630631
"orchestrator": { "model": "google/claude-opus-4-5-thinking", "skills": ["*"], "mcps": ["websearch"] },
631-
"oracle": { "model": "google/claude-opus-4-5-thinking", "variant": "high", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
632+
"oracle": { "model": "google/claude-opus-4-5-thinking", "variant": "high", "skills": [], "mcps": [] },
632633
"librarian": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
633-
"explorer": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": ["websearch"] },
634-
"designer": { "model": "google/gemini-3-flash", "variant": "medium", "skills": ["playwright"], "mcps": ["websearch"] },
635-
"fixer": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": ["websearch"] }
634+
"explorer": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": [] },
635+
"designer": { "model": "google/gemini-3-flash", "variant": "medium", "skills": ["playwright"], "mcps": [] },
636+
"fixer": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": [] }
636637
},
637638
"openai": {
638639
"orchestrator": { "model": "openai/gpt-5.2-codex", "skills": ["*"], "mcps": ["websearch"] },
639-
"oracle": { "model": "openai/gpt-5.2-codex", "variant": "high", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
640+
"oracle": { "model": "openai/gpt-5.2-codex", "variant": "high", "skills": [], "mcps": [] },
640641
"librarian": { "model": "openai/gpt-5.1-codex-mini", "variant": "low", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
641-
"explorer": { "model": "openai/gpt-5.1-codex-mini", "variant": "low", "skills": [], "mcps": ["websearch"] },
642-
"designer": { "model": "openai/gpt-5.1-codex-mini", "variant": "medium", "skills": ["playwright"], "mcps": ["websearch"] },
643-
"fixer": { "model": "openai/gpt-5.1-codex-mini", "variant": "low", "skills": [], "mcps": ["websearch"] }
642+
"explorer": { "model": "openai/gpt-5.1-codex-mini", "variant": "low", "skills": [], "mcps": [] },
643+
"designer": { "model": "openai/gpt-5.1-codex-mini", "variant": "medium", "skills": ["playwright"], "mcps": [] },
644+
"fixer": { "model": "openai/gpt-5.1-codex-mini", "variant": "low", "skills": [], "mcps": [] }
644645
},
645646
"zen-free": {
646647
"orchestrator": { "model": "opencode/glm-4.7-free", "skills": ["*"], "mcps": ["websearch"] },
647-
"oracle": { "model": "opencode/glm-4.7-free", "variant": "high", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
648+
"oracle": { "model": "opencode/glm-4.7-free", "variant": "high", "skills": [], "mcps": [] },
648649
"librarian": { "model": "opencode/grok-code", "variant": "low", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
649-
"explorer": { "model": "opencode/grok-code", "variant": "low", "skills": [], "mcps": ["websearch"] },
650-
"designer": { "model": "opencode/grok-code", "variant": "medium", "skills": ["playwright"], "mcps": ["websearch"] },
651-
"fixer": { "model": "opencode/grok-code", "variant": "low", "skills": [], "mcps": ["websearch"] }
650+
"explorer": { "model": "opencode/grok-code", "variant": "low", "skills": [], "mcps": [] },
651+
"designer": { "model": "opencode/grok-code", "variant": "medium", "skills": ["playwright"], "mcps": [] },
652+
"fixer": { "model": "opencode/grok-code", "variant": "low", "skills": [], "mcps": [] }
652653
},
653654
"antigravity-openai": {
654655
"orchestrator": { "model": "google/claude-opus-4-5-thinking", "skills": ["*"], "mcps": ["websearch"] },
655-
"oracle": { "model": "openai/gpt-5.2-codex", "variant": "high", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
656+
"oracle": { "model": "openai/gpt-5.2-codex", "variant": "high", "skills": [], "mcps": [] },
656657
"librarian": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
657-
"explorer": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": ["websearch"] },
658-
"designer": { "model": "google/gemini-3-flash", "variant": "medium", "skills": ["playwright"], "mcps": ["websearch"] },
659-
"fixer": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": ["websearch"] }
658+
"explorer": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": [] },
659+
"designer": { "model": "google/gemini-3-flash", "variant": "medium", "skills": ["playwright"], "mcps": [] },
660+
"fixer": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": [] }
660661
}
661662
},
662663
"tmux": {
@@ -685,11 +686,11 @@ The author's personal configuration using Cerebras for the Orchestrator:
685686
{
686687
"cerebras": {
687688
"orchestrator": { "model": "cerebras/zai-glm-4.7", "skills": ["*"], "mcps": ["websearch"] },
688-
"oracle": { "model": "openai/gpt-5.2-codex", "variant": "high", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
689+
"oracle": { "model": "openai/gpt-5.2-codex", "variant": "high", "skills": [], "mcps": [] },
689690
"librarian": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
690-
"explorer": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": ["websearch"] },
691-
"designer": { "model": "google/gemini-3-flash", "variant": "medium", "skills": ["playwright"], "mcps": ["websearch"] },
692-
"fixer": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": ["websearch"] }
691+
"explorer": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": [] },
692+
"designer": { "model": "google/gemini-3-flash", "variant": "medium", "skills": ["playwright"], "mcps": [] },
693+
"fixer": { "model": "google/gemini-3-flash", "variant": "low", "skills": [], "mcps": [] }
693694
}
694695
}
695696
```

0 commit comments

Comments
 (0)