{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/claude-code/plugin-hooks/latest.json",
  "title": "Claude Code Plugin Hooks",
  "description": "Schema for a Claude Code [plugin](https://code.claude.com/docs/en/plugins) hooks file (`hooks/hooks.json`). Plugin hooks merge with user and project hooks when the plugin is enabled. The file wraps hook event definitions with an optional `description` field. See [hooks reference](https://code.claude.com/docs/en/hooks) and [plugin hooks](https://code.claude.com/docs/en/plugins-reference#hooks).",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lintel-rs/catalog/master/schemas/claude-code/plugin-hooks.json",
    "sourceSha256": "457db0cd198f55a8a2183ea5df89543510f103ef4725de732fe8cc5e5ea099db",
    "fileMatch": [
      "**/hooks/hooks.json"
    ],
    "parsers": [
      "json"
    ],
    "catalogDescription": "Claude Code plugin hooks file."
  },
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "description": "Human-readable description of what this set of hooks does. Shown in the `/hooks` menu.",
      "examples": [
        "Automatic code formatting",
        "Security validation hooks"
      ]
    },
    "hooks": {
      "$ref": "https://catalog.lintel.tools/schemas/claude-code/hooks/latest.json",
      "description": "Hook event definitions. Maps event names to arrays of matcher groups."
    }
  },
  "additionalProperties": false,
  "required": [
    "hooks"
  ]
}
