Thank you for your interest in contributing to this Claude Code plugins marketplace! This document provides guidelines and instructions for contributing.
- Code of Conduct
- Ways to Contribute
- Getting Started
- Development Workflow
- Plugin Development Guidelines
- Submitting Contributions
- Review Process
- Community
This project follows a simple code of conduct:
- Be respectful and inclusive
- Provide constructive feedback
- Focus on what's best for the community
- Show empathy towards other contributors
You can contribute to this project in several ways:
Develop new plugins that extend Claude Code's capabilities for developers. Ideal plugins:
- Solve common development workflow problems
- Automate repetitive tasks
- Integrate with popular developer tools
- Follow security best practices
Enhance existing plugins by:
- Adding new commands or features
- Fixing bugs
- Improving documentation
- Optimizing performance
Help improve the project by:
- Reporting bugs with detailed reproduction steps
- Suggesting new features or enhancements
- Identifying documentation gaps
Contribute to:
- Plugin README files
- Usage examples
- Command documentation
- This contributing guide
- Install Claude Code: Download here
- Familiarize yourself with the official documentation:
-
Fork and clone the repository:
git clone https://github.com/charlesjones-dev/claude-code-plugins-dev.git cd claude-code-plugins-dev -
Initialize security settings (recommended):
/security-init
Restart Claude Code after running this command.
-
Add the marketplace locally for testing:
/plugin marketplace add file://C:/path/to/your/local/clone
Use the ai-plugins scaffolding tool for interactive plugin creation:
/plugins-scaffoldThis will guide you through:
- Plugin naming and metadata
- Category selection
- Command creation
- Documentation generation
- Automatic marketplace registration
-
Create plugin directory structure:
plugins/ your-plugin-name/ .claude-plugin/ plugin.json # Plugin metadata commands/ command-name.md # Command implementations README.md # Plugin documentation -
Define plugin metadata in
.claude-plugin/plugin.json:{ "name": "your-plugin-name", "version": "1.0.0", "description": "Brief description of your plugin", "author": { "name": "Your Name", "url": "https://your-website.com" }, "repository": "https://github.com/charlesjones-dev/claude-code-plugins-dev", "license": "MIT", "keywords": ["keyword1", "keyword2"] } -
Register the plugin in
.claude-plugin/marketplace.json -
Create command files in
commands/directory as markdown files -
Add plugin documentation in
README.md
When adding features or fixing bugs, follow this workflow:
-
Update plugin version in
plugins/{plugin-name}/.claude-plugin/plugin.json- Follow Semantic Versioning:
- PATCH (0.0.x): Bug fixes
- MINOR (0.x.0): New features (backward-compatible)
- MAJOR (x.0.0): Breaking changes
- Follow Semantic Versioning:
-
Update marketplace registry in
.claude-plugin/marketplace.json- Match version and description with plugin.json
-
Update CHANGELOG.md:
- Add version section with release date
- Document changes following Keep a Changelog format
-
Update README.md:
- Update version in Available Plugins table
- Document new commands or features
-
Update plugin README (
plugins/{plugin-name}/README.md):- Document new functionality
- Add usage examples
Follow this standard structure:
plugins/your-plugin-name/
.claude-plugin/
plugin.json # Required: Plugin metadata
commands/
command-1.md # Command implementation
command-2.md
README.md # Required: Plugin documentation
LICENSE # Optional: If different from repo license
When creating commands (markdown files in commands/):
- Clear Title: Use a descriptive H1 heading
- Description: Explain what the command does
- Instructions Section: Include
## Instructionsheading - Step-by-step: Provide clear, actionable steps
- Constraints: Specify what NOT to do (e.g., commit message requirements)
- Examples: Include usage examples where helpful
Example structure:
# Command Name
Brief description of what this command does.
## Instructions
1. First step
2. Second step
3. Third step
IMPORTANT: [Any critical constraints or requirements]Ensure consistency across all metadata files:
- Matching names: Same plugin name in plugin.json and marketplace.json
- Matching versions: Keep versions synchronized
- Matching descriptions: Consistent descriptions across files
- Keywords: Use relevant, searchable keywords
- Author info: Complete author information
Before submitting:
-
Test locally:
- Add your local repo as a marketplace
- Install your plugin
- Test all commands thoroughly
-
Verify metadata:
- Check plugin.json is valid JSON
- Verify marketplace.json is updated correctly
- Ensure all versions match
-
Test documentation:
- Verify README renders correctly
- Check all links work
- Ensure examples are accurate
-
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes following the guidelines above
-
Commit your changes:
- Use descriptive commit messages
- Follow conventional commit format if applicable (e.g.,
feat:,fix:,docs:) - Do NOT include Claude Code attribution in commits
-
Push to your fork:
git push origin feature/your-feature-name
-
Open a Pull Request:
- Use a clear, descriptive title
- Explain what changes you made and why
- Reference any related issues
- Include testing steps
Before submitting, ensure:
- Plugin follows the standard directory structure
- plugin.json includes all required metadata
- Plugin is registered in marketplace.json
- All versions are consistent across files
- README.md is comprehensive and accurate
- Commands are well-documented
- CHANGELOG.md is updated (for existing plugins)
- All commands have been tested
- No sensitive information (API keys, secrets) is included
- Code follows security best practices
- Initial Review: A maintainer will review your PR within 7 days
- Feedback: You may receive requests for changes or clarifications
- Iteration: Make requested changes and update your PR
- Approval: Once approved, your PR will be merged
- Release: Your contribution will be included in the next release
Pull requests are evaluated on:
- Code Quality: Well-structured, maintainable code
- Documentation: Clear, comprehensive documentation
- Security: No security vulnerabilities or risks
- Usefulness: Provides value to the developer community
- Compatibility: Works with current Claude Code version
- Consistency: Follows project conventions and style
- Documentation: Check CLAUDE.md for project-specific guidance
- Issues: Search existing issues or create a new one
- Official Docs: Consult Claude Code documentation
- Watch this repository for updates
- Check the changelog for recent changes
- Follow release announcements
All contributors will be recognized in:
- Pull request acknowledgments
- Release notes (for significant contributions)
- You're credited as author in plugin.json
- Active contributors may become maintainers
By contributing to this project, you agree that your contributions will be licensed under the MIT License, the same license as this project.
Thank you for contributing to Claude Code Plugins for Developers! Your contributions help make development workflows more efficient for the entire community.