Machine-local runtime config for OpenCode: editable fleet.jsonc (manifest), generated opencode.json, and Fleet CLI wrappers. Do not hand-edit opencode.json—regenerate from the manifest.
cd ~/.config/opencode
bun install
bun run fleet:doctor -- --json
bun run fleet:test -- --json- Registry-only (no
~/Developerclones): point Fleet atexamples/fleet.npm.jsoncin the opencode-fleet repo, or copy it to this directory asfleet.jsonc. Thenfleet install+generate-opencode-json --forceresolve plugins from npm intonode_modulesunder this root. - Local development: use
file:sources (see opencode-fleetexamples/fleet.local.jsonc) or keep absolutefile:paths inpackage.jsonprivately—do not commit/Users/...paths. Alternatively usefleet.npm.jsoncplus Bunoverridesso@mazac-fox/*resolves to your working trees.
plugin_ref paths in a consumer manifest must stay aligned with opencode_config.root (e.g. file://~/.config/opencode/node_modules/...).
Edit fleet.jsonc, then (paths may vary on your machine):
bun run /path/to/opencode-fleet/src/cli.ts generate-opencode-json --force
bun run /path/to/opencode-fleet/src/cli.ts install
bun run fleet:test:full-runtimeFor the npm example manifest explicitly:
bun run /path/to/opencode-fleet/src/cli.ts generate-opencode-json --manifest /path/to/opencode-fleet/examples/fleet.npm.jsonc --force
bun run /path/to/opencode-fleet/src/cli.ts install --manifest /path/to/opencode-fleet/examples/fleet.npm.jsoncCommit fleet.jsonc, opencode.json, .opencode-fleet.lock.json, package.json, and bun.lock together when the manifest changes.
| Path | Role |
|---|---|
fleet.jsonc |
Source of truth for enabled plugins and expected_tools |
opencode.json |
Generated + user sections (agents, MCP, etc.) |
.opencode-fleet.lock.json |
Manifest hash / drift |
dcp.jsonc, dcp-prompts/ |
Dynamic context pruning |
command/ |
User commands |
plugin/ |
Overrides only—not product logic |
No project session state here: per-worktree .opencode/ lives in each repo per AGENTS.md.
fleet:doctor, fleet:test, fleet:hygiene, check—see package.json. Full rules: AGENTS.md.
Config files are yours; plugin packages follow their respective licenses.