Allow users to individually disable built-in hooks via the `disabled_hooks` configuration option in oh-my-opencode.json. This addresses issue #28 where users requested the ability to selectively disable hooks (e.g., comment-checker) that may conflict with their workflow. Available hooks: - todo-continuation-enforcer - context-window-monitor - session-recovery - comment-checker - grep-output-truncator - directory-agents-injector - directory-readme-injector - empty-task-response-detector - think-mode - anthropic-auto-compact - rules-injector - background-notification - auto-update-checker Closes #28
248 lines
6.8 KiB
JSON
248 lines
6.8 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"title": "Oh My OpenCode Configuration",
|
|
"description": "Configuration schema for oh-my-opencode plugin",
|
|
"type": "object",
|
|
"properties": {
|
|
"$schema": {
|
|
"type": "string"
|
|
},
|
|
"disabled_mcps": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"websearch_exa",
|
|
"context7"
|
|
]
|
|
}
|
|
},
|
|
"disabled_agents": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"oracle",
|
|
"librarian",
|
|
"explore",
|
|
"frontend-ui-ux-engineer",
|
|
"document-writer"
|
|
]
|
|
}
|
|
},
|
|
"disabled_hooks": {
|
|
"type": "array",
|
|
"description": "List of built-in hooks to disable. Useful for selectively disabling hooks that may conflict with your workflow.",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"todo-continuation-enforcer",
|
|
"context-window-monitor",
|
|
"session-recovery",
|
|
"comment-checker",
|
|
"grep-output-truncator",
|
|
"directory-agents-injector",
|
|
"directory-readme-injector",
|
|
"empty-task-response-detector",
|
|
"think-mode",
|
|
"anthropic-auto-compact",
|
|
"rules-injector",
|
|
"background-notification",
|
|
"auto-update-checker"
|
|
]
|
|
}
|
|
},
|
|
"agents": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string",
|
|
"enum": [
|
|
"oracle",
|
|
"librarian",
|
|
"explore",
|
|
"frontend-ui-ux-engineer",
|
|
"document-writer"
|
|
]
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"model": {
|
|
"type": "string"
|
|
},
|
|
"temperature": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 2
|
|
},
|
|
"top_p": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1
|
|
},
|
|
"prompt": {
|
|
"type": "string"
|
|
},
|
|
"tools": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"disable": {
|
|
"type": "boolean"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"subagent",
|
|
"primary",
|
|
"all"
|
|
]
|
|
},
|
|
"color": {
|
|
"type": "string",
|
|
"pattern": "^#[0-9A-Fa-f]{6}$"
|
|
},
|
|
"permission": {
|
|
"type": "object",
|
|
"properties": {
|
|
"edit": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ask",
|
|
"allow",
|
|
"deny"
|
|
]
|
|
},
|
|
"bash": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"ask",
|
|
"allow",
|
|
"deny"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ask",
|
|
"allow",
|
|
"deny"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"webfetch": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ask",
|
|
"allow",
|
|
"deny"
|
|
]
|
|
},
|
|
"doom_loop": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ask",
|
|
"allow",
|
|
"deny"
|
|
]
|
|
},
|
|
"external_directory": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ask",
|
|
"allow",
|
|
"deny"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"google_auth": {
|
|
"type": "boolean",
|
|
"description": "Enable built-in Antigravity OAuth for Google Gemini models. When true, adds 'OAuth with Google (Antigravity)' login option.",
|
|
"default": false
|
|
},
|
|
"lsp": {
|
|
"type": "object",
|
|
"description": "Additional LSP server configurations specific to Oh My OpenCode.",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "Command and arguments to start the LSP server"
|
|
},
|
|
"extensions": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "File extensions this server handles (e.g., [\".ts\", \".tsx\"])"
|
|
},
|
|
"priority": {
|
|
"type": "number",
|
|
"description": "Server priority (higher = preferred)"
|
|
},
|
|
"env": {
|
|
"type": "object",
|
|
"additionalProperties": { "type": "string" },
|
|
"description": "Environment variables for the LSP server"
|
|
},
|
|
"initialization": {
|
|
"type": "object",
|
|
"description": "Custom initialization options"
|
|
},
|
|
"disabled": {
|
|
"type": "boolean",
|
|
"description": "Disable this LSP server"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"claude_code": {
|
|
"type": "object",
|
|
"description": "Toggle Claude Code compatibility features on/off. All default to true (enabled).",
|
|
"properties": {
|
|
"mcp": {
|
|
"type": "boolean",
|
|
"description": "Load MCP servers from ~/.claude/.mcp.json, ./.mcp.json, ./.claude/.mcp.json"
|
|
},
|
|
"commands": {
|
|
"type": "boolean",
|
|
"description": "Load commands from ~/.claude/commands/*.md, ./.claude/commands/*.md"
|
|
},
|
|
"skills": {
|
|
"type": "boolean",
|
|
"description": "Load skills from ~/.claude/skills/*/SKILL.md, ./.claude/skills/*/SKILL.md"
|
|
},
|
|
"agents": {
|
|
"type": "boolean",
|
|
"description": "Load agents from ~/.claude/agents/*.md, ./.claude/agents/*.md"
|
|
},
|
|
"hooks": {
|
|
"type": "boolean",
|
|
"description": "Execute hooks from ~/.claude/settings.json, ./.claude/settings.json, ./.claude/settings.local.json"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |