src/config/ owns plugin configuration schema, load/merge pipeline, prompt
resolution, and helper APIs used by agents, council, and runtime subsystems.
loadPluginConfig(directory) is the top-level loader used by src/index.ts.PluginConfigSchema validates and normalizes raw config, including:
prompt / orchestratorPrompt are only for custom
agents.getAgentPrompt/loadAgentPrompt and related helpers are consumed by
agent registry.loadPluginConfig(directory):
.jsonc, then .json) from:
OPENCODE_CONFIG_DIRXDG_CONFIG_HOME/opencode~/.config/opencode<directory>/.opencode/oh-my-opencode-slim.(jsonc|json).null for that file.agents, tmux, multiplexer, interview, backgroundJobs,
fallback, council.
top-level arrays/values are overridden.tmux is enabled and no explicit multiplexer is configured,
migrate to multiplexer (tmux compatibility path).OH_MY_OPENCODE_SLIM_PRESET over config file preset.agents so explicit root agents
still win (deepMerge(preset, config.agents)).loadAgentPrompt(agentName, preset?):
oh-my-opencode-slim/ prompt roots.preset is alphanumeric/
hyphen/underscore-safe.<agent>.md replacement prompt<agent>_append.md appended promptmodel string or ordered fallback array (string or {id, variant})temperature, variant, options, skills, mcps, displayNameprompt, orchestratorPrompt) only.multiplexer schema (auto|tmux|zellij|none)tmux schema retained and migrated at load time.CouncilConfigSchema now normalizes deprecated master* fields into
_legacyMasterModel metadata for compatibilitysrc/index.ts
└─> loadPluginConfig(directory)
├─> Agent override application in src/agents/index.ts
├─> MCP defaults/filters in src/config/agent-mcps.ts
├─> Council session behavior in src/council/*
├─> Fallback/session behavior in runtime hooks
└─> Multiplexer behavior in src/multiplexer/*
constants.ts
agent-mcps.ts
getAgentMcpList, parseList, getAvailableMcpNames.utils.ts
loader.ts
schema.ts, council-schema.ts
index.ts — exported config surfaceloader.ts — load, merge, prompt resolution, tmux migrationschema.ts — plugin config + agent override schemascouncil-schema.ts — council-specific and legacy compatibility schemaconstants.ts — defaults, names, delegation rules, timeoutsagent-mcps.ts — MCP defaults and allow-list parsingutils.ts — config helper methods