src/config/ defines plugin schema, runtime merge behavior, config loading, and policy helpers used by every runtime subsystem.
loadPluginConfig(directory) is the primary runtime entry.PluginConfigSchema and merged with project overrides.loadPluginConfig(directory) currently:
.jsonc then .json)../.opencode/oh-my-opencode-slim.*.agents, tmux, multiplexer, interview, fallback, council) with project config taking precedence.tmux to multiplexer when needed.OH_MY_OPENCODE_SLIM_PRESET) over config value.agents (root still wins on conflict).loadAgentPrompt(agentName, preset?) resolves optional agent prompts:
<configDir>/oh-my-opencode-slim/<preset>/).<agent>.md) and append (<agent>_append.md) files.agents: per-agent overrides (model, temperature, variant, options, skills, mcps, prompts)disabled_agents, disabled_mcpsmultiplexer: runtime pane strategy (auto|tmux|zellij|none)tmux (legacy support) + migration into multiplexerfallback: retry/timeout policy for provider fallback and empty responsesinterview: dashboard/session interview behaviorcouncil: council preset/timeout/retry/execution-mode configSchema notes:
AgentOverrideConfig supports both string and array model formats for ordered fallback.prompt, orchestratorPrompt) are validated only for custom agents (schema-level guard).council-schema.ts) tolerates deprecated master fields by marking them ignored and exposing warning metadata.src/index.ts
└─> loadPluginConfig(directory)
└─> PluginConfig
├─> createAgents(config) (agents/index.ts)
├─> fallback chain setup (index.ts runtime)
├─> interview/dashboard config (interview/*)
├─> council session config (council/*)
├─> multiplexer mode (multiplexer/*)
agent-mcps.ts
parseList)disabled_mcpsutils.ts
getAgentOverride with alias compatibility (explore -> explorer, etc.)getCustomAgentNamesconstants.ts
index.ts — export surfaceloader.ts — load, merge, prompt-loading helpersschema.ts — main zod schema and type exportsconstants.ts — names, defaults, timeouts, delegation policy, fallback constantsagent-mcps.ts — MCP defaults and filteringutils.ts — config helper methodscouncil-schema.ts — council preset/result/deprecated-field schema