Contributing to AI Coding Config
December 12, 2025 · View on GitHub
Thank you for your interest in contributing! This marketplace thrives on community contributions.
Ways to Contribute
- Add new plugins - Create plugins for languages, frameworks, or tools
- Improve existing plugins - Enhance rules, agents, or commands
- Add personalities - Create new AI personality styles
- Fix bugs - Report and fix issues
- Improve documentation - Help others understand and use the marketplace
Plugin Contribution Guidelines
Before You Start
- Check if a similar plugin already exists
- Ensure your plugin follows the structure below
- Test locally before submitting
- Write clear documentation
Plugin Structure
All plugins follow this structure:
plugins/your-plugin-name/
├── .claude-plugin/
│ └── plugin.json # Required: Plugin metadata
├── agents/ # Optional: Agent files (owned by plugin)
├── commands/ # Optional: Copies of .claude/commands/ files
└── README.md # Required: Plugin documentation
Note: Plugins contain agents (owned by plugin) and commands (copied). Rules live in
rules/ and are accessed via /load-rules (not in plugins).
Creating a New Plugin
1. Create Plugin Structure
mkdir -p plugins/your-plugin-name/{.claude-plugin,rules,commands,agents}
2. Create plugin.json
plugins/your-plugin-name/.claude-plugin/plugin.json:
{
"name": "your-plugin-name",
"description": "Brief description of what this plugin provides",
"version": "1.0.0",
"author": {
"name": "Your Name",
"url": "https://github.com/yourusername"
},
"tags": ["relevant", "tags", "here"]
}
3. Add Content
For rules - Add to rules/ (not in plugins):
# Create your rule file
touch rules/your-category/your-rule.mdc
# Rules are accessed via Cursor natively or /load-rules in Claude Code
# No need to add to plugin
For agents - Add directly to plugin:
# Create your agent file in the plugin
touch plugins/your-plugin-name/agents/your-agent.md
# Agents are the main content of plugins
For commands - Add to .claude/commands/ then copy:
# Create your command file
touch .claude/commands/your-command.md
# Copy to plugin
mkdir -p plugins/your-plugin-name/commands
cp .claude/commands/your-command.md plugins/your-plugin-name/commands/
4. Create README.md
plugins/your-plugin-name/README.md:
# Your Plugin Name
Brief description of what this plugin provides.
## Installation
\`\`\`bash /plugin install your-plugin-name \`\`\`
## What's Included
Describe what types of content this plugin provides (rules for X framework, agents for Y
task, commands for Z workflow) without listing every file.
## Usage Examples
Show how someone would actually use this plugin in their workflow with concrete
examples.
## Compatibility
- Claude Code: ✓
- Cursor: ✓
## Related Plugins
- `related-plugin-1` - Why it's related
- `related-plugin-2` - Why it's related
5. Update Marketplace Manifest
Add your plugin to .claude-plugin/marketplace.json:
{
"plugins": [
{
"name": "your-plugin-name",
"source": "./plugins/your-plugin-name",
"description": "Brief description",
"tags": ["tag1", "tag2"]
}
]
}
Creating a Personality Plugin
Personalities have a special structure:
plugins/personalities/personality-yourname/
├── .claude-plugin/
│ └── plugin.json
├── cursor/
│ └── yourname.mdc # Cursor format (with alwaysApply: true)
├── claude/
│ └── yourname.md # Plain markdown (no frontmatter)
└── README.md
Cursor version (cursor/yourname.mdc):
---
description: Brief personality description
alwaysApply: true
---
# Your Personality Name
[Personality characteristics and patterns]
Claude version (claude/yourname.md):
# Your Personality Name
[Same content as Cursor version, but no frontmatter]
Quality Standards
Rules (rules/)
- Use
.mdcextension - Include frontmatter with
descriptionand optionalglobs - Be specific and actionable
- Include examples
- Reference official documentation when applicable
Agents (plugins/*/agents/)
- Use
.mdextension - Include frontmatter with
name,description,tools,model - Define clear responsibilities
- Provide communication guidelines
- Include example interactions
Commands (.claude/commands/)
- Use
.mdextension - Include frontmatter with
name,description, optionallanguages - Provide step-by-step instructions
- Include error handling guidance
- Show example output
Testing Your Plugin
Local Testing
- Create plugin structure
- Add to marketplace.json locally
- Test installation:
/plugin marketplace add file:///path/to/ai-coding-config /plugin install your-plugin-name - Verify all symlinks work
- Test in actual project
Checklist
- Plugin.json is valid JSON
- All symlinks point to existing files
- README has clear installation instructions
- Examples are included
- Tested in both Claude Code and Cursor (if applicable)
- No broken links
- Follows naming conventions
Submission Process
- Fork this repository
- Create a branch for your plugin:
git checkout -b plugin/your-plugin-name - Add your plugin following the guidelines above
- Test thoroughly - install and use your plugin
- Commit with clear message:
git add . git commit -m "feat(plugin): add your-plugin-name for [purpose]" - Push to your fork:
git push origin plugin/your-plugin-name - Open Pull Request:
- Title:
Add [your-plugin-name] plugin - Description: Explain what the plugin does and why it's useful
- Include screenshots/examples if applicable
- Title:
Pull Request Requirements
Your PR should include:
- New plugin in
plugins/directory with agents - Rules added to
rules/(if applicable) - Commands added to
.claude/commands/(if applicable) - Agent files in plugin directory
- Entry in
.claude-plugin/marketplace.json - README.md for the plugin
- Valid plugin.json
Code Review Process
-
Maintainers will review for:
- Quality and usefulness
- Correct structure
- Documentation completeness
- No security concerns
- Works as described
-
You may be asked to:
- Make changes
- Add more documentation
- Add examples
- Fix symlinks
-
Once approved, your plugin will be merged!
Community Guidelines
- Be respectful and constructive
- Help others with their contributions
- Share knowledge and best practices
- Report issues clearly with reproduction steps
- Suggest improvements, not just criticisms
Questions?
- Open an issue with the
questionlabel - Start a discussion in GitHub Discussions
- Check existing issues and documentation first
License
By contributing, you agree that your contributions will be licensed under the same license as this project (MIT License).
Thank you for contributing! 🎉