This commit is contained in:
2026-04-12 01:06:31 +07:00
commit 10d660cbcb
1066 changed files with 228596 additions and 0 deletions

View File

@@ -0,0 +1,93 @@
# Plugin Marketplace Schema
Full JSON schema for `.claude-plugin/marketplace.json`.
## Required Top-Level Fields
| Field | Type | Description | Example |
|-------|------|-------------|---------|
| `name` | string | Marketplace ID (kebab-case, no spaces). Users see: `/plugin install tool@name` | `"acme-tools"` |
| `owner` | object | Maintainer info (`name` required, `email` optional) | |
| `plugins` | array | List of plugin entries | |
### Reserved Names (Cannot Use)
`claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `life-sciences`. Names impersonating official marketplaces also blocked.
## Optional Metadata
| Field | Type | Description |
|-------|------|-------------|
| `metadata.description` | string | Brief marketplace description |
| `metadata.version` | string | Marketplace version |
| `metadata.pluginRoot` | string | Base dir prepended to relative source paths (e.g., `"./plugins"`) |
## Plugin Entry — Required Fields
| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Plugin ID (kebab-case). Users see: `/plugin install name@marketplace` |
| `source` | string\|object | Where to fetch plugin (see `plugin-marketplace-sources.md`) |
## Plugin Entry — Optional Metadata
| Field | Type | Description |
|-------|------|-------------|
| `description` | string | Brief plugin description |
| `version` | string | Plugin version |
| `author` | object | Author info (`name` required, `email` optional) |
| `homepage` | string | Plugin docs URL |
| `repository` | string | Source code URL |
| `license` | string | SPDX license ID (MIT, Apache-2.0) |
| `keywords` | array | Discovery/categorization tags |
| `category` | string | Plugin category |
| `tags` | array | Searchability tags |
| `strict` | boolean | Default `true`: merges with plugin.json. `false`: marketplace entry defines plugin entirely |
## Plugin Entry — Component Configuration
| Field | Type | Description |
|-------|------|-------------|
| `commands` | string\|array | Custom paths to command files/dirs |
| `agents` | string\|array | Custom paths to agent files |
| `hooks` | string\|object | Hooks config or path to hooks file |
| `mcpServers` | string\|object | MCP server configs or path |
| `lspServers` | string\|object | LSP server configs or path |
## Minimal Example
```json
{
"name": "my-plugins",
"owner": { "name": "Your Name" },
"plugins": [{
"name": "review-plugin",
"source": "./plugins/review-plugin",
"description": "Adds a review skill for quick code reviews"
}]
}
```
## Full Example
```json
{
"name": "company-tools",
"owner": { "name": "DevTools Team", "email": "devtools@example.com" },
"metadata": { "description": "Internal dev tools", "version": "1.0.0", "pluginRoot": "./plugins" },
"plugins": [
{
"name": "code-formatter",
"source": "./plugins/formatter",
"description": "Automatic code formatting on save",
"version": "2.1.0",
"author": { "name": "DevTools Team" }
},
{
"name": "deployment-tools",
"source": { "source": "github", "repo": "company/deploy-plugin" },
"description": "Deployment automation tools"
}
]
}
```