{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/Chemaclass/agnostic-ai/main/docs/schemas/config.schema.json", "$ref": "#/$defs/Config", "$defs": { "ClaudeAttribution": { "properties": { "commit": { "type": "string" }, "pr": { "type": "string" }, "sessionUrl": { "type": "boolean" } }, "additionalProperties": false, "type": "object" }, "ClaudePermissions": { "properties": { "allow": { "items": { "type": "string" }, "type": "array" }, "deny": { "items": { "type": "string" }, "type": "array" }, "ask": { "items": { "type": "string" }, "type": "array" } }, "additionalProperties": false, "type": "object" }, "ClaudeSettings": { "properties": { "model": { "type": "string" }, "outputStyle": { "type": "string" }, "apiKeyHelper": { "type": "string" }, "cleanupPeriodDays": { "type": "integer" }, "includeCoAuthoredBy": { "type": "boolean" }, "attribution": { "$ref": "#/$defs/ClaudeAttribution" }, "bashOutputMaxChars": { "type": "integer" }, "taskOutputMaxChars": { "type": "integer" }, "enabledPlugins": { "additionalProperties": { "type": "boolean" }, "type": "object" }, "env": { "additionalProperties": { "type": "string" }, "type": "object" }, "statusLine": { "$ref": "#/$defs/ClaudeStatusLine" }, "permissions": { "$ref": "#/$defs/ClaudePermissions" } }, "additionalProperties": false, "type": "object" }, "ClaudeStatusLine": { "properties": { "type": { "type": "string" }, "command": { "type": "string" }, "padding": { "type": "integer" }, "refreshInterval": { "type": "integer" }, "hideVimModeIndicator": { "type": "boolean" } }, "additionalProperties": false, "type": "object" }, "CodexConfig": { "properties": { "sandbox": { "type": "string" }, "approval-policy": { "type": "string" }, "model": { "type": "string" }, "model-reasoning-effort": { "type": "string" }, "model-reasoning-summary": { "type": "string" }, "history-persistence": { "type": "string" }, "notify": { "items": { "type": "string" }, "type": "array" }, "profiles": { "additionalProperties": { "$ref": "#/$defs/CodexProfile" }, "type": "object" }, "model-providers": { "additionalProperties": { "$ref": "#/$defs/CodexModelProvider" }, "type": "object" } }, "additionalProperties": false, "type": "object" }, "CodexExecPolicy": { "properties": { "pattern": { "items": { "type": "string" }, "type": "array" }, "decision": { "type": "string" }, "justification": { "type": "string" }, "match": { "items": { "type": "string" }, "type": "array" } }, "additionalProperties": false, "type": "object", "required": [ "pattern", "decision" ] }, "CodexModelProvider": { "properties": { "name": { "type": "string" }, "base-url": { "type": "string" }, "wire-api": { "type": "string" }, "api-key-env": { "type": "string" }, "env-key": { "type": "string" } }, "additionalProperties": false, "type": "object" }, "CodexProfile": { "properties": { "model": { "type": "string" }, "sandbox": { "type": "string" }, "approval-policy": { "type": "string" }, "model-reasoning-effort": { "type": "string" }, "model-reasoning-summary": { "type": "string" }, "model-provider": { "type": "string" } }, "additionalProperties": false, "type": "object" }, "Config": { "properties": { "version": { "type": "integer" }, "sources": { "$ref": "#/$defs/Sources" }, "targets": { "items": { "type": "string" }, "type": "array" }, "outputs": { "additionalProperties": { "$ref": "#/$defs/Output" }, "type": "object" }, "on-unsupported": { "type": "string" }, "gitignore": { "$ref": "#/$defs/Gitignore" }, "sync": { "$ref": "#/$defs/SyncConfig" }, "import": { "$ref": "#/$defs/ImportConfig" }, "verify": { "$ref": "#/$defs/VerifyConfig" } }, "additionalProperties": false, "type": "object", "required": [ "version" ] }, "Gitignore": { "properties": { "enabled": { "type": "boolean" }, "path": { "type": "string" }, "allow": { "items": { "type": "string" }, "type": "array" } }, "additionalProperties": false, "type": "object" }, "ImportCodex": { "properties": { "shred": { "type": "boolean" } }, "additionalProperties": false, "type": "object" }, "ImportConfig": { "properties": { "codex": { "$ref": "#/$defs/ImportCodex" } }, "additionalProperties": false, "type": "object" }, "Output": { "properties": { "dir": { "type": "string" }, "file": { "type": "string" }, "rules-file": { "type": "string" }, "rules-dir": { "type": "string" }, "review-file": { "type": "string" }, "environment-file": { "type": "string" }, "setup-file": { "type": "string" }, "ignore-file": { "type": "string" }, "rules-mode": { "type": "string" }, "mcp-file": { "type": "string" }, "cli-mcp-file": { "type": "string" }, "root-mcp-file": { "type": "string" }, "agents-dir": { "type": "string" }, "skills-dir": { "type": "string" }, "instructions-dir": { "type": "string" }, "commands-dir": { "type": "string" }, "chatmodes-dir": { "type": "string" }, "workflows-dir": { "type": "string" }, "assistants-dir": { "type": "string" }, "tasks-file": { "type": "string" }, "conf-file": { "type": "string" }, "model": { "type": "string" }, "weak-model": { "type": "string" }, "mcp-dir": { "type": "string" }, "emit-skills-as-commands": { "type": "boolean" }, "emit-agents-as-commands": { "type": "boolean" }, "shared-subagents": { "type": "boolean" }, "settings": { "$ref": "#/$defs/ClaudeSettings" }, "config": { "$ref": "#/$defs/CodexConfig" }, "exec-policies": { "items": { "$ref": "#/$defs/CodexExecPolicy" }, "type": "array" }, "exec-policies-file": { "type": "string" }, "hooks-file": { "type": "string" }, "hooks-dir": { "type": "string" }, "provenance-header": { "type": "boolean" }, "collision-policy": { "type": "string" } }, "additionalProperties": false, "type": "object" }, "Sources": { "properties": { "agents": { "type": "string" }, "skills": { "type": "string" }, "rules": { "type": "string" }, "hooks": { "type": "string" }, "mcps": { "type": "string" }, "commands": { "type": "string" }, "settings": { "type": "string" }, "reviews": { "type": "string" }, "environments": { "type": "string" }, "ignore": { "type": "string" } }, "additionalProperties": false, "type": "object" }, "SyncConfig": { "properties": { "collision-policy": { "type": "string" }, "target-overview": { "type": "boolean" }, "resolve-imports": { "type": "string" }, "dropped-summary": { "type": "boolean" }, "shared-skills": { "type": "boolean" }, "unmanaged": { "items": { "type": "string" }, "type": "array" } }, "additionalProperties": false, "type": "object" }, "VerifyConfig": { "properties": { "command": { "items": { "type": "string" }, "type": "array" } }, "additionalProperties": false, "type": "object" } }, "title": "agnostic-ai configuration", "description": "Configuration file for agnostic-ai (agnostic-ai.yaml; legacy: agnostic.config.yaml)." }