Updated root + 14 core subdirectory AGENTS.md files to reflect current
state (commit 2892ca4a on dev). Added 4 new AGENTS.md files for gap
directories: hooks/comment-checker (AI slop blocker), features/claude-
code-plugin-loader (CC compat layer), features/claude-code-mcp-loader
(tier 2 MCP loader), cli/doctor (health diagnostics with 25 check files).
3.3 KiB
src/config/ — Zod v4 Schema System
Generated: 2026-04-18
OVERVIEW
32 schema files composing OhMyOpenCodeConfigSchema. Zod v4 validation with safeParse(). All fields optional — omitted fields use plugin defaults.
SCHEMA TREE
config/schema/
├── oh-my-opencode-config.ts # ROOT: OhMyOpenCodeConfigSchema (composes all below)
├── agent-names.ts # BuiltinAgentNameSchema (11), OverridableAgentNameSchema (14)
├── agent-overrides.ts # AgentOverrideConfigSchema (21 fields per agent)
├── categories.ts # 8 built-in + custom categories
├── hooks.ts # HookNameSchema (48 hooks)
├── skills.ts # SkillsConfigSchema (sources, paths, recursive)
├── commands.ts # BuiltinCommandNameSchema
├── experimental.ts # Feature flags (plugin_load_timeout_ms min 1000)
├── sisyphus.ts # SisyphusConfigSchema (task system)
├── sisyphus-agent.ts # SisyphusAgentConfigSchema
├── ralph-loop.ts # RalphLoopConfigSchema
├── tmux.ts # TmuxConfigSchema + TmuxLayoutSchema
├── websearch.ts # provider: "exa" | "tavily"
├── claude-code.ts # CC compatibility settings
├── comment-checker.ts # AI comment detection config
├── notification.ts # OS notification settings
├── git-master.ts # commit_footer: boolean | string
├── browser-automation.ts # provider: playwright | agent-browser | playwright-cli
├── background-task.ts # Concurrency limits per model/provider
├── fallback-models.ts # FallbackModelsConfigSchema
├── runtime-fallback.ts # RuntimeFallbackConfigSchema
├── babysitting.ts # Unstable agent monitoring
├── dynamic-context-pruning.ts # Context pruning settings
├── start-work.ts # StartWorkConfigSchema (auto_commit)
├── openclaw.ts # OpenClaw integration settings
├── git-env-prefix.ts # Git environment prefix config
├── model-capabilities.ts # Model capabilities config
└── internal/permission.ts # AgentPermissionSchema
ROOT SCHEMA FIELDS (32)
$schema, new_task_system_enabled, default_run_agent, disabled_mcps, disabled_agents, disabled_skills, disabled_hooks, disabled_commands, disabled_tools, hashline_edit, agents, categories, claude_code, sisyphus_agent, comment_checker, experimental, auto_update, skills, ralph_loop, background_task, notification, babysitting, git_master, browser_automation_engine, websearch, tmux, sisyphus, start_work, _migrations, model_fallback, model_capabilities, openclaw, mcp_env_allowlist
AGENT OVERRIDE FIELDS (21)
model, variant, category, skills, temperature, top_p, prompt, prompt_append, tools, disable, description, mode, color, permission, maxTokens, thinking, reasoningEffort, textVerbosity, providerOptions
HOW TO ADD CONFIG
- Create
src/config/schema/{name}.tswith Zod schema - Add field to
oh-my-opencode-config.tsroot schema - Reference via
z.infer<typeof YourSchema>for TypeScript types - Access in handlers via
pluginConfig.{name}