My personal opencode configuration.
- opencode.json — model, permissions, plugins, MCP, references
- tui.json — theme
- themes/ — custom
jmcglocktheme - agent/ — custom agents (
big-pickle) - commands/ — slash commands
- skills/ — on-demand skills
- plugins/ — local plugins (rtk, caveman, env-protection)
- Clone this repo:
git clone git@github.com:jmcglock/dotfiles-opencode.git ~/.config/opencode- Remove the
.gitdirectory so it doesn't conflict with your own git repos:
rm -rf ~/.config/opencode/.git- Restart opencode to load the config.
opencode-claude-auth— Claude authopencode-notificator— desktop notificationsopencode-dynamic-context-pruning— prune stale tool outputsopencode-wakatime— time trackingopencode-type-inject— inject TS/Svelte types on file reads
- rtk — rewrites bash commands via
rtk rewritefor token savings - caveman — terse mode tracker + slash commands
- env-protection — blocks reading
.envfiles
- context7 — library docs
- gh_grep — search GitHub code examples
Fork this repo and change opencode.json to fit your setup. Key fields:
| Field | Purpose |
|---|---|
model |
Default model (provider/model-id) |
small_model |
Model for lightweight tasks |
permission |
Tool access rules |
plugin |
Plugins to load |
mcp |
MCP server connections |
agent |
Custom agents |
references |
External repos/dirs for context |
See the opencode config docs for the full schema.