Files
2025-11-30 08:20:15 +08:00

153 lines
4.3 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Marketplace Plugin Schema",
"description": "JSON schema for plugins in the claude-code-plugins marketplace.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the plugin (e.g., UUID).",
"example": "skills-powerkit-12345",
"_comment": "Consider using a UUID generator for this."
},
"name": {
"type": "string",
"description": "Human-readable name of the plugin.",
"example": "Skills Powerkit"
},
"version": {
"type": "string",
"description": "Semantic version of the plugin.",
"example": "1.0.0"
},
"description": {
"type": "string",
"description": "A brief description of the plugin's functionality.",
"example": "The ultimate plugin management toolkit for the claude-code-plugins marketplace."
},
"author": {
"type": "string",
"description": "Name of the plugin author or organization.",
"example": "Awesome Plugin Devs Inc."
},
"author_url": {
"type": "string",
"format": "url",
"description": "URL to the author's website or profile.",
"example": "https://awesomeplugindevs.com"
},
"repository_url": {
"type": "string",
"format": "url",
"description": "URL to the plugin's source code repository.",
"example": "https://github.com/awesomeplugindevs/skills-powerkit"
},
"license": {
"type": "string",
"description": "License under which the plugin is distributed.",
"example": "MIT"
},
"tags": {
"type": "array",
"description": "Keywords or tags to help users find the plugin.",
"items": {
"type": "string"
},
"example": ["plugin management", "development", "validation", "marketplace", "meta-plugin"]
},
"category": {
"type": "string",
"description": "Category the plugin belongs to.",
"example": "Development Tools"
},
"skills": {
"type": "array",
"description": "List of skills provided by the plugin.",
"items": {
"type": "string"
},
"example": [
"create_plugin",
"validate_plugin",
"audit_plugin",
"manage_plugin",
"update_plugin"
]
},
"icon_url": {
"type": "string",
"format": "url",
"description": "URL to the plugin's icon.",
"example": "https://example.com/icons/skills-powerkit.png"
},
"readme_url": {
"type": "string",
"format": "url",
"description": "URL to the plugin's README file.",
"example": "https://raw.githubusercontent.com/awesomeplugindevs/skills-powerkit/main/README.md"
},
"plugin_url": {
"type": "string",
"format": "url",
"description": "URL to the main plugin manifest or entry point.",
"example": "https://raw.githubusercontent.com/awesomeplugindevs/skills-powerkit/main/plugin.yaml"
},
"dependencies": {
"type": "array",
"description": "List of other plugins or libraries this plugin depends on.",
"items": {
"type": "string"
},
"example": []
},
"type": {
"type": "string",
"description": "Type of plugin.",
"example": "meta-plugin"
},
"pricing": {
"type": "object",
"description": "Pricing information for the plugin (if applicable).",
"properties": {
"type": {
"type": "string",
"enum": ["free", "paid", "subscription"],
"description": "Type of pricing model."
},
"price": {
"type": "number",
"description": "Price of the plugin (if applicable).",
"example": 9.99
},
"currency": {
"type": "string",
"description": "Currency of the price (if applicable).",
"example": "USD"
},
"interval": {
"type": "string",
"description": "Billing interval (if applicable).",
"enum": ["monthly", "yearly"],
"example": "monthly"
}
},
"required": ["type"]
}
},
"required": [
"id",
"name",
"version",
"description",
"author",
"author_url",
"repository_url",
"license",
"tags",
"category",
"skills",
"icon_url",
"readme_url",
"plugin_url"
]
}