Thanks for your interest in contributing to the Claude Code Plugins marketplace.
- Fork and clone the repository
- Check out the
testingbranch:git checkout testing - Make your changes
- Submit a pull request against
testing
testingis the development branch — all PRs target this branchmainis the production branch — only updated via merge fromtesting- Never submit PRs directly to
main
- Create your plugin in
plugins/your-plugin/ - Add a manifest at
plugins/your-plugin/.claude-plugin/manifest.json - Add an entry to
.claude-plugin/marketplace.json - Validate with
./scripts/validate-marketplace.sh - Submit a PR
See CLAUDE.md for detailed plugin structure and schema requirements.
- Make your changes in the plugin directory
- Bump the version in both:
plugins/your-plugin/.claude-plugin/plugin.json(ormanifest.json).claude-plugin/marketplace.json
- Validate with
./scripts/validate-marketplace.sh - Submit a PR
- JSON files must be valid and properly formatted (
jq .is your friend) - Shell scripts should pass ShellCheck
- Python code follows standard conventions (type hints, docstrings for public APIs)
- Markdown files should be readable without rendering
- Run
./scripts/validate-marketplace.shbefore submitting - If your plugin has tests, ensure they pass
- Test your plugin locally with
claude --plugin-dir ./plugins/your-plugin
Open an issue with the question label.