Files
everything-claude-code/schemas/plugin.schema.json
2026-04-30 01:13:53 -04:00

71 lines
1.8 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]+(?:-[0-9A-Za-z.-]+)?$" },
"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" }
},
"commands": {
"type": "array",
"items": { "type": "string" }
},
"mcpServers": {
"oneOf": [
{ "type": "string" },
{
"type": "array",
"items": { "type": "string" }
},
{
"type": "object"
}
]
},
"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
}