

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# src/config/ - Zod v4 Schema System23**Generated:** 2026-07-17 (7d664b96b)45## OVERVIEW6736 non-test schema files composing `OhMyOpenCodeConfigSchema` (plus `schema/internal/permission.ts` for shared internal helpers). Zod v4 validation with `safeParse()`. All fields optional; omitted fields use defaults from the schema. Auto-emitted to `assets/oh-my-opencode.schema.json` via `bun run build:schema`.89## SCHEMA TREE1011```12config/schema/13├── oh-my-opencode-config.ts # ROOT: composes all sub-schemas14├── agent-names.ts # BuiltinAgentNameSchema enum (11 names: sisyphus, hephaestus, prometheus, oracle, librarian, explore, multimodal-looker, metis, momus, atlas, sisyphus-junior)15├── agent-overrides.ts # AgentOverrideConfigSchema (21 fields per agent)16├── agent-definitions.ts # custom agent definition schema17├── categories.ts # 8 built-in + custom categories18├── hooks.ts # HookNameSchema (56 enum values; `team-tool-gating` is the only team-* one in schema; others are wired by direct config gates)19├── skills.ts # SkillsConfigSchema (sources, paths, recursive)20├── commands.ts # BuiltinCommandNameSchema (goal, refactor, start-work, stop-continuation, remove-ai-slops, hyperplan)21├── experimental.ts # Feature flags incl plugin_load_timeout_ms (min 1000), task_system, max_tools22├── sisyphus.ts # SisyphusConfigSchema (task system)23├── sisyphus-agent.ts # SisyphusAgentConfigSchema24├── goal.ts # GoalConfigSchema (enabled, auto_start, default_max_iterations) - replaces ralph_loop25├── ralph-loop.ts # RalphLoopConfigSchema (DEPRECATED: parsed loose at root, migrated to goal in validate.ts)26├── tmux.ts # TmuxConfigSchema + TmuxLayoutSchema27├── websearch.ts # provider: "exa" | "tavily"28├── claude-code.ts # CC compatibility settings (plugins, plugins_override)29├── comment-checker.ts # AI comment detection config30├── notification.ts # OS notification settings31├── git-master.ts # commit_footer: boolean | string32├── git-env-prefix.ts # Git environment prefix config33├── browser-automation.ts # provider: playwright | agent-browser | dev-browser | playwright-cli; playwright_mcp_args (user-config only)34├── background-task.ts # Concurrency limits per model/provider, syncPollTimeoutMs35├── fallback-models.ts # FallbackModelsConfigSchema36├── runtime-fallback.ts # RuntimeFallbackConfigSchema (reactive provider fallback)37├── babysitting.ts # Unstable agent monitoring38├── dynamic-context-pruning.ts # Context pruning settings39├── start-work.ts # StartWorkConfigSchema (auto_commit)40├── openclaw.ts # OpenClaw integration settings41├── model-capabilities.ts # Model capabilities config42├── keyword-detector.ts # disabled_keywords (ultrawork|search|analyze|team)43├── default-mode.ts # DefaultModeConfigSchema (auto-inject ultrawork / auto-create goal on session start)44├── i18n.ts # I18nConfigSchema (locale override; falls back to LANG env var)45├── codegraph.ts # CodegraphConfigSchema (auto_init, auto_provision, enabled, telemetry, watch_debounce_ms)46├── monitor.ts # MonitorConfigSchema (live_mode_enabled, allowed_commands, batch/ring limits, flush_interval_ms)47├── tui.ts # TuiConfigSchema + TuiSidebarConfigSchema (sidebar.enabled)48└── team-mode.ts # TeamModeConfigSchema (enabled, max_parallel_members, max_members, tmux_visualization)49```5051## ROOT SCHEMA FIELDS5253`$schema`, `new_task_system_enabled`, `default_run_agent`, `agent_order`, `agent_definitions`, `disabled_mcps`, `disabled_agents`, `disabled_skills`, `disabled_hooks`, `disabled_commands`, `disabled_tools`, `disabled_providers`, `mcp_env_allowlist`, `hashline_edit`, `telemetry`, `model_fallback`, `agents`, `categories`, `claude_code`, `sisyphus_agent`, `comment_checker`, `experimental`, `auto_update`, `skills`, **`goal`** (new; replaces `ralph_loop`), `ralph_loop` (deprecated; migrated to `goal` in `validate.ts`), `runtime_fallback`, `background_task`, `notification`, `model_capabilities`, `openclaw`, `i18n`, `monitor`, `codegraph`, **`team_mode`**, `keyword_detector`, `babysitting`, `git_master`, `browser_automation_engine`, `websearch`, `tmux`, `tui`, `sisyphus`, `start_work`, `default_mode`, `_migrations`.5455## RALPH_LOOP -> GOAL MIGRATION5657`goal` replaces the deprecated `ralph_loop` subsystem. `validate.ts` `migrateRalphLoopConfig()` maps legacy `ralph_loop.{enabled, default_max_iterations}` to `goal.{enabled, auto_start, default_max_iterations}` (`auto_start` defaults `false`, `default_max_iterations` defaults `100`); explicit `goal` config wins over migrated values. The root `ralph_loop` key is parsed loose (`z.record`) only for migration and logs a deprecation warning; `RalphLoopConfigSchema` still ships but is no longer composed into the root. `default_mode.ralph_loop` became `default_mode.goal` (auto-create a goal from the first main-session message). The `ralph-loop` hook and the `ralph-loop` / `ulw-loop` / `cancel-ralph` commands were removed; the `goal` hook and `goal` command replace them.5859## TEAM_MODE SCHEMA (11 fields)6061```jsonc62{63 "team_mode": {64 "enabled": false, // gate for 12 team_* tools and conditional hooks65 "tmux_visualization": false, // render tmux pane layout for the team66 "max_parallel_members": 4, // 1..8 concurrent active members67 "max_members": 8, // 1..8 hard cap on team size68 "max_messages_per_run": 10000, // ≥169 "max_wall_clock_minutes": 120, // ≥170 "max_member_turns": 500, // ≥171 "base_dir": null, // override of ~/.omo/teams or <project>/.omo/teams72 "message_payload_max_bytes": 32768, // ≥102473 "recipient_unread_max_bytes": 262144, // ≥102474 "mailbox_poll_interval_ms": 3000 // ≥50075 }76}77```7879When `enabled: true`:80- 12 `team_*` tools register (`tool-registry.ts` `teamModeToolsRecord`)81- 3 team-mode hooks register conditionally: `team-mode-status-injector` + `team-mailbox-injector` (Transform tier) and `team-tool-gating` (Tool Guard tier)82- 4 team-session-event handlers register in `src/plugin/event.ts`: `team-idle-wake-hint`, `team-lead-orphan-handler`, `team-member-error-handler`, `team-member-status-handler`83- `team-mode` built-in skill loads84- Doctor check `cli/doctor/checks/team-mode.ts` runs8586## AGENT OVERRIDE FIELDS (per-agent)8788`model`, `variant`, `category`, `skills`, `temperature`, `top_p`, `prompt`, `prompt_append`, `tools`, `disable`, `description`, `mode`, `color`, `permission`, `maxTokens`, `thinking`, `reasoningEffort`, `textVerbosity`, `providerOptions`, `fallback_models`, `ultrawork`.8990## HOW TO ADD A CONFIG FIELD91921. Create `src/config/schema/{name}.ts` with Zod schema932. Add field to `oh-my-opencode-config.ts` root schema943. Reference via `z.infer<typeof YourSchema>` for the TypeScript type954. Access in handlers via `pluginConfig.{field_name}` (snake_case JSON, snake_case TS field)965. Run `bun run build:schema` to regenerate `assets/oh-my-opencode.schema.json`97
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| code-yeongyu/oh-my-openagentpackages/omo-opencode/src/tools/look-at/AGENTS.md · 68k | AGENTS.md | arch | 68/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentassets/AGENTS.md · 68k | AGENTS.md | buildteststylearch | 88/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentpackages/AGENTS.md · 68k | AGENTS.md | buildtestlint-formatstyle+3 | 83/100 | today | |
| code-yeongyu/oh-my-openagentpackages/omo-codex/plugin/components/ultrawork/AGENTS.md · 68k | AGENTS.md | buildteststylearch+1 | 77/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentpackages/omo-opencode/src/tools/background-task/AGENTS.md · 68k | AGENTS.md | arch | 70/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentpackages/omo-opencode/src/agents/sisyphus/AGENTS.md · 68k | AGENTS.md | arch | 56/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentpackages/omo-opencode/src/hooks/ralph-loop/AGENTS.md · 68k | AGENTS.md | arch | 62/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentpackages/omo-opencode/src/hooks/rules-injector/AGENTS.md · 68k | AGENTS.md | archdo-not | 69/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentpackages/omo-opencode/src/hooks/runtime-fallback/AGENTS.md · 68k | AGENTS.md | stylearchtypes | 70/100 | 13 days ago | |
| code-yeongyu/oh-my-openagent.agents/AGENTS.md · 68k | AGENTS.md | stylearchtesting-strategydatabase | 64/100 | 13 days ago | |
| code-yeongyu/oh-my-openagent.opencode/AGENTS.md · 68k | AGENTS.md | stylearchdo-not | 71/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentAGENTS.md · 68k | AGENTS.md | setupbuildtestlint-format+11 | 84/100 | today | |
| code-yeongyu/oh-my-openagentpackages/agents-md-core/AGENTS.md · 68k | AGENTS.md | archdependenciesapi | 48/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentpackages/ast-grep-mcp/AGENTS.md · 68k | AGENTS.md | buildstylearchdependencies+1 | 78/100 | 7 days ago | |
| code-yeongyu/oh-my-openagentpackages/boulder-state/AGENTS.md · 68k | AGENTS.md | archapi | 48/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentpackages/claude-code-compat-core/AGENTS.md · 68k | AGENTS.md | archagent-behaviour | 56/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentpackages/comment-checker-core/AGENTS.md · 68k | AGENTS.md | archdependenciesapi | 48/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentpackages/delegate-core/AGENTS.md · 68k | AGENTS.md | stylearchdependenciesapi | 60/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentpackages/git-bash-mcp/AGENTS.md · 68k | AGENTS.md | buildtestlint-formatarch+1 | 82/100 | 13 days ago | |
| code-yeongyu/oh-my-openagentpackages/hashline-core/AGENTS.md · 68k | AGENTS.md | archtypesdependenciesapi | 48/100 | 13 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| code-yeongyu/oh-my-openagentpackages/web/AGENTS.md · 68k | AGENTS.md | setupbuildtestlint-format+6 | 100/100 | 13 days ago | |
| mui/material-uiAGENTS.md · 99k | AGENTS.md | setupbuildtestlint-format+9 | 100/100 | 14 days ago | |
| aaif-goose/gooseAGENTS.md · 53k | AGENTS.md | setupbuildtestlint-format+7 | 100/100 | 8 days ago | |
| duckduckgo/content-scope-scriptsspecial-pages/AGENTS.md · 70 | AGENTS.md | buildteststylearch+3 | 100/100 | 14 days ago | |
| deepseek-ai/deepseek-harnessnative/landlock-run/AGENTS.md · 104k | AGENTS.md | setupteststylearch+3 | 100/100 | today | |
| TryGhost/Ghoste2e/AGENTS.md · 55k | AGENTS.md | setupteststylearch+2 | 100/100 | today | |
| n8n-io/n8npackages/@n8n/agents/AGENTS.md · 201k | AGENTS.md | buildteststylearch+3 | 100/100 | 14 days ago | |
| elastic/elasticsearchx-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/AGENTS.md · 78k | AGENTS.md | buildtestlint-formatstyle+2 | 100/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/code-yeongyu-oh-my-openagent-packages-omo-opencode-src-config-agents)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.