Portable multi-model OpenCode agents, permissions, commands, skills, and plugins
  • TypeScript 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-18 12:17:50 -06:00
agents Add portable OpenCode configuration 2026-08-04 15:20:29 -06:00
commands Add portable OpenCode configuration 2026-08-04 15:20:29 -06:00
opencode-debate Add portable OpenCode configuration 2026-08-04 15:20:29 -06:00
plugins Add portable OpenCode configuration 2026-08-04 15:20:29 -06:00
skills/planning-council Add portable OpenCode configuration 2026-08-04 15:20:29 -06:00
.gitignore Add portable OpenCode configuration 2026-08-04 15:20:29 -06:00
opencode.jsonc Replace Claude subscription-connector instructions with API-key auth 2026-08-18 12:11:38 -06:00
package-lock.json Add portable OpenCode configuration 2026-08-04 15:20:29 -06:00
package.json Add portable OpenCode configuration 2026-08-04 15:20:29 -06:00
PAUL-EMAIL.md Replace Claude subscription-connector instructions with API-key auth 2026-08-18 12:11:38 -06:00
PAUL-GETTING-STARTED.md Replace Claude subscription-connector instructions with API-key auth 2026-08-18 12:11:38 -06:00
README.md Replace Claude subscription-connector instructions with API-key auth 2026-08-18 12:11:38 -06:00
tui.json Add portable OpenCode configuration 2026-08-04 15:20:29 -06:00

OpenCode Config

Portable multi-model OpenCode agents, permissions, commands, skills, and plugins. This is a scrubbed snapshot of Cam's working configuration: it contains no credentials, runtime data, or machine-specific project paths.

New to OpenCode? Read Paul: Getting Started with OpenCode before installing this full configuration.

Emailing Paul? Copy the prepared Markdown email draft.

Included

  • Opus/Kimi/Sol orchestration presets: Orchestrator, TagTeam, claude-efficate, and the isolated-worktree Duel
  • Fable and Sol reviewers, candidate solvers, and decision-council agents
  • /council, /tagteam, /debate, and the risk-gated planning council
  • Pinned council, debate, and TUI plugins
  • A credential guard and a local Duel worktree plugin

The normal built-in build agent remains the default. Select another primary agent in the OpenCode agent picker when you want one of these workflows.

Requirements

  • OpenCode 1.18.13 or later
  • Node.js 24.15 or later and npm
  • An Anthropic API key for the Claude-based agents
  • Accounts or credentials for OpenAI and Kimi if you use workflows that call them

The configured model IDs are current as of August 2026 and may need updating when a provider changes its catalogue.

Install

If ~/.config/opencode does not exist:

git clone https://git.viaplex.com/cam/opencode-config.git ~/.config/opencode
npm --prefix ~/.config/opencode ci

If that directory already exists, preserve it first and review the diff before replacing or merging any files. Never copy auth.json, .env files, tokens, or other runtime data into this repository.

Run opencode auth login (or /connect in the TUI) and connect each provider you intend to use. For Anthropic, select Manually enter API Key. Credentials are stored in ~/.local/share/opencode/auth.json and no credential belongs in this repository.

Quit and restart OpenCode after installation or any config change; configuration and agent files are loaded only at startup.

Verify

npm --prefix ~/.config/opencode ci
opencode debug config
opencode auth list

Confirm the expected providers are connected before using a multi-model preset. The planning council expects Kimi k3, Claude Fable 5, GPT-5.6 Sol, and Claude Opus 5. Debate sets are defined in opencode-debate/config.yaml.

opencode-debate writes transcripts into docs/debates/ in the active project. Those transcripts can contain source and prompt content; add that path to each project's .gitignore when appropriate.

Security Notes

  • The repository intentionally excludes OpenCode's runtime auth.json, Claude Code credentials, provider keys, machine instructions, and local project allowlists.
  • Add your own credential-store paths as final deny or ask rules. OpenCode permission maps are last-match-wins, so broad rules must come before narrow protections.
  • Duel creates detached sibling worktrees and can run repository-defined package/test commands. It is workflow isolation, not an OS sandbox; do not use it on untrusted code.
  • Do not add a Claude Pro/Max subscription-auth plugin to this config. OpenCode stopped bundling those in 1.3.0 and its provider documentation states that Anthropic explicitly prohibits them; they also conflict with API-key and proxy-key authentication rather than falling back to it. Use an Anthropic API key.

Updating

Pull changes only when the config working tree is clean, review the diff, run npm ci, then restart OpenCode. Plugin versions are pinned so updates are explicit and reviewable.