Thank you for your interest in contributing! This marketplace thrives on community contributions. Whether you're submitting a plugin, improving documentation, or reporting bugs, your help makes this resource better for everyone.
- Submit new plugins - Share your creations with the community
- Improve existing plugins - Bug fixes, enhancements, documentation
- Write documentation - Help others understand plugins
- Report bugs - Help us identify and fix issues
- Suggest features - Ideas for improving the marketplace
- Review pull requests - Help maintain quality standards
Make sure your plugin:
- Solves a real problem or provides clear value
- Is well-documented with examples
- Has been tested thoroughly
- Follows security best practices
- Doesn't duplicate existing plugins (unless significantly different)
Your plugin MUST have:
-
Valid
.claude-plugin/plugin.json- All required fields filled in
- Valid JSON syntax (test with
jq) - Accurate version number (semantic versioning)
-
Comprehensive README.md
- What the plugin does
- Installation instructions
- Usage examples with code blocks
- Requirements (dependencies, tools needed)
- Files explanation
- License information
-
LICENSE file
- MIT or Apache-2.0 recommended
- Must be compatible with marketplace license
-
Working functionality
- Tested locally before submission
- All commands work as documented
- Hooks trigger correctly
- Agents activate appropriately
-
Security compliance
- No hardcoded secrets, API keys, or credentials
- Use environment variables for sensitive data
- Scripts validate inputs
- No destructive operations without confirmation
-
Proper permissions
- All shell scripts are executable:
chmod +x script.sh - Appropriate file permissions
- All shell scripts are executable:
# Fork on GitHub, then clone your fork
git clone https://github.com/YOUR-USERNAME/claude-code-plugins.git
cd claude-code-plugins# Option A: Use a template
cp -r templates/command-plugin plugins/community/my-plugin
# Option B: Start from scratch
mkdir -p plugins/community/my-plugin/.claude-plugin
mkdir -p plugins/community/my-plugin/commands # or agents, hooks, scripts- Create
.claude-plugin/plugin.jsonwith accurate metadata - Add your commands, agents, hooks, or MCP servers
- Write comprehensive README.md
- Add LICENSE file
- Make scripts executable
# Create test marketplace
mkdir -p ~/test-marketplace/.claude-plugin
# Create marketplace.json
cat > ~/test-marketplace/.claude-plugin/marketplace.json << 'EOF'
{
"name": "test",
"owner": {"name": "Test"},
"plugins": [{
"name": "my-plugin",
"source": "/absolute/path/to/plugins/community/my-plugin"
}]
}
EOF
# Add to Claude Code
/plugin marketplace add ~/test-marketplace
# Install and test
/plugin install my-plugin@test
# Test all functionality!Edit .claude-plugin/marketplace.extended.json and add your plugin:
{
"name": "my-plugin",
"source": "./plugins/community/my-plugin",
"description": "Clear, concise description of what it does",
"version": "1.0.0",
"category": "productivity",
"keywords": ["relevant", "searchable", "keywords"],
"author": {
"name": "Your Name",
"email": "[email protected]",
"url": "https://github.com/yourusername"
}
}# Regenerate the CLI-facing marketplace catalog
pnpm run sync-marketplace # or: npm run sync-marketplace# Create feature branch
git checkout -b add-my-plugin
# Add your changes
git add plugins/community/my-plugin/
git add .claude-plugin/marketplace.extended.json .claude-plugin/marketplace.json
# Commit with clear message
git commit -m "Add my-plugin: Brief description of what it does"
# Push to your fork
git push origin add-my-pluginThen open a pull request on GitHub using our template.
Choose the most appropriate category:
- productivity - Workflow optimization, automation, efficiency tools
- security - Security analysis, vulnerability scanning, compliance
- testing - Test automation, QA tools, test generation
- deployment - CI/CD, deployment automation, infrastructure
- documentation - Docs generation, API documentation, code comments
- analysis - Code analysis, metrics, quality checking
- integration - External service integrations, API connections
- ai - AI/ML specific tooling, model operations
- example - Educational and tutorial plugins
- other - Doesn't fit above categories (specify in description)
Plugin Names:
- Use kebab-case:
my-awesome-plugin - Be descriptive and clear
- Avoid generic names:
tool,helper,utils - Check for existing plugins with similar names
Files:
- Commands:
commands/command-name.md - Agents:
agents/agent-name.md - Scripts:
scripts/descriptive-name.sh
Use Semantic Versioning:
- Major (1.0.0): Breaking changes, incompatible updates
- Minor (1.1.0): New features, backward compatible
- Patch (1.1.1): Bug fixes, backward compatible
Start at 1.0.0 for initial release.
Found a bug? Please report it!
- Search existing issues - It might already be reported
- Create a new issue using the bug report template
- Include details:
- Plugin name and version
- Claude Code version (
claude --version) - Steps to reproduce
- Expected vs actual behavior
- Error messages or logs
Documentation improvements are always welcome:
- Fix typos or clarify confusing sections
- Add more examples
- Improve formatting
- Translate to other languages (coming soon)
Submit changes via pull request.
All submissions go through review:
- Functionality - Does it work as described?
- Code quality - Is the code clean and well-organized?
- Security - Any security concerns?
- Documentation - Is it well-documented?
- Testing - Has it been tested?
- Style - Does it follow conventions?
- Initial review: Within 7 days
- Feedback provided: Within 14 days
- Merge after approval: 1-3 days
- Address feedback in your PR
- Push updates to your branch
- Request re-review when ready
- Clear and readable - Others should understand your code
- Well-commented - Explain complex logic
- Error handling - Handle edge cases gracefully
- No warnings - Code should run without warnings
- Clear installation steps - Anyone should be able to install
- Working examples - Examples should be copy-paste ready
- Accurate information - No outdated or incorrect info
- Proper formatting - Use markdown correctly
- No secrets in code - Use environment variables
- Input validation - Validate all user inputs
- Principle of least privilege - Request minimal permissions
- Dependencies - Keep dependencies minimal and updated
# Headers use sentence case
## Use descriptive headings
**Bold** for emphasis, *italic* for terms
`code` for commands and file names
\`\`\`language
code blocks with language specified
\`\`\`{
"useTwoSpaces": true,
"quotesDouble": true,
"trailingCommas": false,
"sortKeys": false
}#!/bin/bash
# Clear comment at top
# Use descriptive variable names
file_path="/path/to/file"
# Check for errors
if [[ ! -f "$file_path" ]]; then
echo "Error: File not found"
exit 1
fi
# Use functions for complex logic
function process_file() {
local file="$1"
# Processing logic
}- Treat everyone with respect and kindness
- Welcome newcomers and help them learn
- Provide constructive feedback
- Assume good intentions
- Share knowledge and help others
- Give credit where credit is due
- Be open to feedback on your work
- Celebrate others' contributions
- Keep discussions on-topic
- Avoid inflammatory language
- Respect differing opinions
- Follow the code of conduct
Need help contributing?
- ** Discord**: Claude Developers
- ** Discussions**: GitHub Discussions
- ** Email**: [email protected]
Contributors are recognized in several ways:
- README credits - All contributors listed in main README
- Plugin authorship - You're credited as author in plugin.json
- Community highlights - Outstanding contributions featured
- Maintainer status - Active contributors may become maintainers
- @cdnsteve — Added the featured Sugar plugin (autonomous AI development)
By contributing, you agree that your contributions will be licensed under the MIT License.
Before submitting, verify:
- Plugin tested locally and working
- README.md is comprehensive with examples
- LICENSE file included
- plugin.json is valid JSON
- All scripts are executable (
chmod +x) - No hardcoded secrets
- Marketplace.json updated
- Branch is up-to-date with main
- Commit messages are clear
- PR uses the template
Thank you for contributing to Claude Code Plugins!
Your contributions help build a vibrant ecosystem that benefits the entire community.