Files
Elydora-Open-Source/integrations/catalog.json
T

481 lines
13 KiB
JSON

{
"$schema": "./catalog.schema.json",
"schema_version": 1,
"verified_on": "2026-07-19",
"providers": [
{
"id": "augment",
"name": "Augment Code CLI",
"vendor": "Augment Code",
"surface": "cli",
"integration_mode": "command_hooks",
"config_format": "json",
"config_paths": [
"/etc/augment/settings.json",
"C:\\ProgramData\\Augment\\settings.json",
".augment/settings.local.json",
".augment/settings.json",
"~/.augment/settings.json"
],
"events": {
"before_tool": "PreToolUse",
"after_tool": "PostToolUse"
},
"event_fields": {
"name": "tool_name",
"input": "tool_input",
"session": "conversation_id"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://docs.augmentcode.com/cli/hooks"
},
{
"id": "claudecode",
"name": "Claude Code",
"vendor": "Anthropic",
"surface": "cli",
"integration_mode": "command_hooks",
"config_format": "json",
"config_paths": ["~/.claude/settings.json", ".claude/settings.json", ".claude/settings.local.json"],
"events": {
"before_tool": "PreToolUse",
"after_tool": "PostToolUse"
},
"event_fields": {
"name": "tool_name",
"input": "tool_input",
"session": "session_id"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://code.claude.com/docs/en/hooks"
},
{
"id": "cline",
"name": "Cline",
"vendor": "Cline",
"surface": "cli_and_ide",
"integration_mode": "command_hooks",
"config_format": "script",
"config_paths": [
"~/Documents/Cline/Hooks/",
"$CLINE_DIR/hooks/",
".clinerules/hooks/",
".cline/hooks/"
],
"events": {
"before_tool": "PreToolUse",
"after_tool": "PostToolUse"
},
"event_fields": {
"name": "tool_call.name/tool_result.name",
"input": "tool_call.input/tool_result.input",
"session": "taskId"
},
"blocking": {
"mechanism": "json_stdout_cancel",
"failure_mode": "fail_open"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://github.com/cline/cline/blob/main/sdk/examples/hooks/README.md"
},
{
"id": "codex",
"name": "OpenAI Codex",
"vendor": "OpenAI",
"surface": "cli",
"integration_mode": "command_hooks",
"config_format": "json",
"config_paths": ["~/.codex/hooks.json", ".codex/hooks.json"],
"events": {
"before_tool": "PreToolUse",
"after_tool": "PostToolUse"
},
"event_fields": {
"name": "tool_name",
"input": "tool_input",
"session": "session_id"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://learn.chatgpt.com/docs/hooks"
},
{
"id": "copilot",
"name": "GitHub Copilot",
"vendor": "GitHub",
"surface": "cli",
"integration_mode": "command_hooks",
"config_format": "json",
"config_paths": [
"~/.copilot/hooks/*.json",
".github/hooks/*.json"
],
"events": {
"before_tool": "preToolUse",
"after_tool": "postToolUse"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://docs.github.com/en/copilot/reference/hooks-reference"
},
{
"id": "cursor",
"name": "Cursor",
"vendor": "Anysphere",
"surface": "ide",
"integration_mode": "command_hooks",
"config_format": "json",
"config_paths": [
"~/.cursor/hooks.json",
".cursor/hooks.json"
],
"events": {
"before_tool": "preToolUse",
"after_tool": "postToolUse"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://cursor.com/docs/hooks"
},
{
"id": "droid",
"name": "Factory Droid",
"vendor": "Factory",
"surface": "cli",
"integration_mode": "command_hooks",
"config_format": "json",
"config_paths": [
"~/.factory/hooks.json",
".factory/hooks.json"
],
"events": {
"before_tool": "PreToolUse",
"after_tool": "PostToolUse"
},
"event_fields": {
"name": "tool_name",
"input": "tool_input",
"session": "session_id"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": false, "python": false, "go": false },
"delivery_state": "planned",
"source_url": "https://docs.factory.ai/reference/hooks-reference"
},
{
"id": "gemini",
"name": "Gemini CLI",
"vendor": "Google",
"surface": "cli",
"integration_mode": "command_hooks",
"config_format": "json",
"config_paths": [
"~/.gemini/settings.json",
".gemini/settings.json"
],
"events": {
"before_tool": "BeforeTool",
"after_tool": "AfterTool"
},
"event_fields": {
"name": "tool_name",
"input": "tool_input",
"session": "session_id"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://geminicli.com/docs/hooks/reference/"
},
{
"id": "grok",
"name": "Grok Build",
"vendor": "xAI",
"surface": "cli",
"integration_mode": "command_hooks",
"config_format": "json",
"config_paths": [
"$GROK_HOME/hooks/*.json",
"~/.grok/hooks/*.json",
".grok/hooks/*.json"
],
"events": {
"before_tool": "PreToolUse",
"after_tool": "PostToolUse"
},
"event_fields": {
"name": "toolName",
"input": "toolInput",
"session": "sessionId"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://docs.x.ai/build/features/hooks"
},
{
"id": "kimi",
"name": "Kimi Code",
"vendor": "Moonshot AI",
"surface": "cli",
"integration_mode": "command_hooks",
"config_format": "toml",
"config_paths": [
"$KIMI_CODE_HOME/config.toml",
"~/.kimi-code/config.toml"
],
"events": {
"before_tool": "PreToolUse",
"after_tool": "PostToolUse"
},
"event_fields": {
"name": "tool_name",
"input": "tool_input",
"session": "session_id"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://moonshotai.github.io/kimi-code/en/customization/hooks",
"contract_variants": [
{
"id": "pythoncli",
"release_channel": "legacy",
"activation": "kimi-cli",
"config_format": "toml",
"config_paths": [
"~/.kimi/config.toml"
],
"events": {
"before_tool": "PreToolUse",
"after_tool": "PostToolUse"
},
"event_fields": {
"name": "tool_name",
"input": "tool_input",
"session": "session_id"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"source_url": "https://moonshotai.github.io/kimi-cli/en/customization/hooks.html"
}
]
},
{
"id": "kirocli",
"name": "Kiro CLI",
"vendor": "AWS",
"surface": "cli",
"integration_mode": "command_hooks",
"config_format": "json",
"config_paths": [
"~/.kiro/agents/*.json",
".kiro/agents/*.json"
],
"events": {
"before_tool": "preToolUse",
"after_tool": "postToolUse"
},
"event_fields": {
"name": "tool_name",
"input": "tool_input",
"session": "session_id"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://kiro.dev/docs/cli/hooks/",
"contract_variants": [
{
"id": "v3",
"release_channel": "early_access",
"activation": "kiro-cli --v3",
"config_format": "json",
"config_paths": [
"~/.kiro/hooks/*.json",
".kiro/hooks/*.json"
],
"events": {
"before_tool": "PreToolUse",
"after_tool": "PostToolUse"
},
"event_fields": {
"name": "tool_name",
"input": "tool_input",
"session": "session_id"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"source_url": "https://kiro.dev/docs/cli/v3/hooks/"
}
]
},
{
"id": "kiroide",
"name": "Kiro IDE",
"vendor": "AWS",
"surface": "ide",
"integration_mode": "command_hooks",
"config_format": "json",
"config_paths": [
".kiro/hooks/*.json"
],
"events": {
"before_tool": "PreToolUse",
"after_tool": "PostToolUse"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://kiro.dev/docs/hooks/"
},
{
"id": "letta",
"name": "Letta Code",
"vendor": "Letta",
"surface": "cli",
"integration_mode": "command_hooks",
"config_format": "json",
"config_paths": [
"~/.letta/settings.json",
".letta/settings.json",
".letta/settings.local.json"
],
"events": {
"before_tool": "PreToolUse",
"after_tool": "PostToolUse"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://docs.letta.com/letta-agent/hooks"
},
{
"id": "opencode",
"name": "OpenCode",
"vendor": "SST",
"surface": "cli_and_ide",
"integration_mode": "plugin_api",
"config_format": "plugin",
"config_paths": [
"~/.config/opencode/plugins/*.{js,ts,mjs}",
".opencode/plugins/*.{js,ts,mjs}"
],
"events": {
"before_tool": "tool.execute.before",
"after_tool": "tool.execute.after"
},
"event_fields": {
"name": "tool",
"input": "args",
"session": "sessionID"
},
"blocking": {
"mechanism": "exception",
"failure_mode": "fail_closed"
},
"adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available",
"source_url": "https://opencode.ai/docs/plugins/"
},
{
"id": "qwen",
"name": "Qwen Code",
"vendor": "Alibaba Cloud",
"surface": "cli",
"integration_mode": "command_hooks",
"config_format": "json",
"config_paths": [
"~/.qwen/settings.json",
".qwen/settings.json"
],
"events": {
"before_tool": "PreToolUse",
"after_tool": "PostToolUse"
},
"event_fields": {
"name": "tool_name",
"input": "tool_input",
"session": "session_id"
},
"blocking": {
"mechanism": "exit_code_2",
"failure_mode": "fail_open"
},
"adapters": { "node": false, "python": false, "go": false },
"delivery_state": "planned",
"source_url": "https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"
}
],
"custom_integrations": [
{
"id": "enterprise",
"name": "Enterprise",
"description": "Managed enterprise integration"
},
{
"id": "gui",
"name": "GUI Agent",
"description": "Desktop or browser automation agent"
},
{
"id": "other",
"name": "Other",
"description": "Custom integration outside the provider catalog"
},
{
"id": "sdk",
"name": "SDK",
"description": "Direct Elydora SDK integration"
}
]
}