init
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
# Plugin Marketplace Sources
|
||||
|
||||
Plugin source types for `marketplace.json` plugin entries.
|
||||
|
||||
## Relative Paths (Same Repo)
|
||||
|
||||
```json
|
||||
{ "name": "my-plugin", "source": "./plugins/my-plugin" }
|
||||
```
|
||||
|
||||
**Note:** Only works when marketplace added via Git (GitHub/GitLab/git URL). URL-based marketplaces only download `marketplace.json`, not plugin files. Use GitHub/git sources for URL-based distribution.
|
||||
|
||||
## GitHub Repositories
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "github-plugin",
|
||||
"source": { "source": "github", "repo": "owner/plugin-repo" }
|
||||
}
|
||||
```
|
||||
|
||||
Pin to specific version:
|
||||
```json
|
||||
{
|
||||
"name": "github-plugin",
|
||||
"source": {
|
||||
"source": "github",
|
||||
"repo": "owner/plugin-repo",
|
||||
"ref": "v2.0.0",
|
||||
"sha": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `repo` | string | Required. `owner/repo` format |
|
||||
| `ref` | string | Optional. Branch or tag (defaults to repo default) |
|
||||
| `sha` | string | Optional. Full 40-char commit SHA for exact pinning |
|
||||
|
||||
## Git Repositories (GitLab, Bitbucket, etc.)
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "git-plugin",
|
||||
"source": { "source": "url", "url": "https://gitlab.com/team/plugin.git" }
|
||||
}
|
||||
```
|
||||
|
||||
Pin to specific version:
|
||||
```json
|
||||
{
|
||||
"name": "git-plugin",
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://gitlab.com/team/plugin.git",
|
||||
"ref": "main",
|
||||
"sha": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `url` | string | Required. Full git URL (must end `.git`) |
|
||||
| `ref` | string | Optional. Branch or tag |
|
||||
| `sha` | string | Optional. Full 40-char commit SHA |
|
||||
|
||||
## Advanced Example (All Features)
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "enterprise-tools",
|
||||
"source": { "source": "github", "repo": "company/enterprise-plugin" },
|
||||
"description": "Enterprise workflow automation tools",
|
||||
"version": "2.1.0",
|
||||
"author": { "name": "Enterprise Team", "email": "enterprise@example.com" },
|
||||
"homepage": "https://docs.example.com/plugins/enterprise-tools",
|
||||
"license": "MIT",
|
||||
"keywords": ["enterprise", "workflow", "automation"],
|
||||
"category": "productivity",
|
||||
"commands": ["./commands/core/", "./commands/enterprise/"],
|
||||
"agents": ["./agents/security-reviewer.md", "./agents/compliance-checker.md"],
|
||||
"hooks": {
|
||||
"PostToolUse": [{
|
||||
"matcher": "Write|Edit",
|
||||
"hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/scripts/validate.sh" }]
|
||||
}]
|
||||
},
|
||||
"mcpServers": {
|
||||
"enterprise-db": {
|
||||
"command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server",
|
||||
"args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"]
|
||||
}
|
||||
},
|
||||
"strict": false
|
||||
}
|
||||
```
|
||||
|
||||
**Key notes:**
|
||||
- `${CLAUDE_PLUGIN_ROOT}` — references files within plugin's installation cache directory
|
||||
- `strict: false` — marketplace entry defines plugin entirely, no `plugin.json` needed
|
||||
- `commands`/`agents` — multiple directories or individual files, paths relative to plugin root
|
||||
Reference in New Issue
Block a user