Skip to content

Latest commit

 

History

History
59 lines (41 loc) · 2.82 KB

File metadata and controls

59 lines (41 loc) · 2.82 KB

Contributing

Plugin format

A plugin is a self-contained directory under plugins/<plugin-name>/. Supported tools auto-discover components from their default locations, with plugin.json providing metadata and optional path overrides.

plugins/
  <plugin-name>/
    .claude-plugin/
      plugin.json        # Claude Code plugin manifest
    .cursor-plugin/
      plugin.json        # Cursor plugin manifest
    skills/              # skills as <name>/SKILL.md directories
    commands/            # skills as flat .md files (use skills/ for new plugins)
    agents/              # custom agent definitions
    hooks/
      hooks.json         # event handlers
    .mcp.json            # MCP server configurations
    .lsp.json            # LSP server configurations for code intelligence
    bin/                 # executables added to the Bash tool's PATH
    settings.json        # default settings applied when the plugin is enabled

plugin.json

Both .claude-plugin/plugin.json and .cursor-plugin/plugin.json use the same format. Required fields: name, description. Optional: version, homepage, repository, license, keywords, userConfig, and component path overrides. See the Claude plugins reference and Cursor plugins reference for full schema details.

VS Code & GitHub Copilot CLI share the .claude-plugin/plugin.json manifest — no separate manifest file is needed for those tools.


Updating the marketplace manifest

.claude-plugin/marketplace.json and .cursor-plugin/marketplace.json are maintained manually.

  • New plugin: add an entry to the plugins array in both files with name, source (e.g. "./plugins/<plugin-name>"), description, category, and keywords.

See the plugin marketplaces reference for the full marketplace.json schema.

Building the doc site

The site at docs/index.html is generated from .claude-plugin/marketplace.json. To build locally:

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

python scripts/build_site.py

Open docs/index.html in a browser to preview. The script runs automatically on push via the Build site GitHub Actions workflow whenever anything under plugins/ or scripts/build_site.py changes, and any updates to docs/index.html are committed back automatically.

Pull request checklist

  • Plugin placed under plugins/<plugin-name>/ with .claude-plugin/plugin.json and .cursor-plugin/plugin.json
  • New plugin added to .claude-plugin/marketplace.json and .cursor-plugin/marketplace.json
  • version in .claude-plugin/plugin.json is set and up to date
  • build_site.py run locally (or let CI handle it on merge)