Files
everything-claude-code/schemas/plugin.schema.json
2026-03-09 22:49:43 -07:00

59 lines
1.5 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Claude Plugin Configuration",
"type": "object",
"required": ["name"],
"properties": {
"name": { "type": "string" },
"version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" },
"description": { "type": "string" },
"author": {
"oneOf": [
{ "type": "string" },
{
"type": "object",
"properties": {
"name": { "type": "string" },
"url": { "type": "string", "format": "uri" }
},
"required": ["name"]
}
]
},
"homepage": { "type": "string", "format": "uri" },
"repository": { "type": "string" },
"license": { "type": "string" },
"keywords": {
"type": "array",
"items": { "type": "string" }
},
"skills": {
"type": "array",
"items": { "type": "string" }
},
"agents": {
"type": "array",
"items": { "type": "string" }
},
"features": {
"type": "object",
"properties": {
"agents": { "type": "integer", "minimum": 0 },
"commands": { "type": "integer", "minimum": 0 },
"skills": { "type": "integer", "minimum": 0 },
"configAssets": { "type": "boolean" },
"hookEvents": {
"type": "array",
"items": { "type": "string" }
},
"customTools": {
"type": "array",
"items": { "type": "string" }
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}