# Marketplace Schema Reference
## Marketplace Structure
A marketplace is a JSON catalog enabling plugin discovery and distribution.
**File location:** `.claude-plugin/marketplace.json`
## Required Fields
```json
{
"name": "marketplace-identifier",
"owner": {
"name": "Maintainer Name",
"email": "
[email protected]"
},
"plugins": []
}
```
**name**: Kebab-case marketplace identifier
**owner**: Maintainer contact information
**plugins**: Array of plugin entries
## Optional Marketplace Fields
**description**: Marketplace overview text
**version**: Release version
**pluginRoot**: Base path for relative plugin sources
## Plugin Entry Schema
Each plugin entry in the `plugins` array:
**Required:**
- `name`: Plugin identifier (kebab-case, must match plugin.json)
- `source`: Plugin origin specification
**Optional:**
- `description`: Plugin purpose
- `version`: Plugin version (semantic versioning)
- `author`: Creator information
- `homepage`: URL
- `repository`: URL
- `license`: SPDX identifier
- `keywords`: Array of search terms
- `category`: Classification (e.g., "framework", "productivity")
- `tags`: Additional discovery tags
- `commands`: Path to commands directory
- `agents`: Path to agents directory
- `hooks`: Path to hooks configuration
- `mcpServers`: Path to MCP configuration
## Source Specifications
### Relative Path Source
```json
{
"name": "my-plugin",
"source": "./plugins/my-plugin"
}
```
### GitHub Source
```json
{
"name": "my-plugin",
"source": {
"source": "github",
"repo": "owner/repo"
}
}
```
### Generic Git Source
```json
{
"name": "my-plugin",
"source": {
"source": "url",
"url": "https://git.example.com/plugin.git"
}
}
```
## Complete Example
```json
{
"name": "example-marketplace",
"description": "Example plugin marketplace",
"version": "1.0.0",
"owner": {
"name": "Marketplace Owner",
"email": "
[email protected]"
},
"pluginRoot": "./plugins",
"plugins": [
{
"name": "example-plugin",
"source": "./example-plugin",
"description": "Example plugin",
"version": "1.0.0",
"keywords": ["example"],
"category": "productivity"
}
]
}
```
## Team Distribution
Configure automatic marketplace availability via `.claude/settings.json`:
```json
{
"extraKnownMarketplaces": [
{
"source": {
"source": "github",
"repo": "company/marketplace"
}
}
]
}
```