A GitHub template repository for creating and managing your own Claude Code plugin marketplace with a plugin development toolkit.
-
Click "Use this template" button on GitHub
-
Create your new repository
-
Clone your new repository:
git clone https://github.com/your-org/your-marketplace-name.git cd your-marketplace-name -
Customize the marketplace:
# Update marketplace metadata vim .claude-plugin/marketplace.json -
Install the plugin development tools:
# Add your local marketplace /plugin marketplace add ./path-to-your-marketplace # Install the plugin-development plugin /plugin install plugin-development@my-team-plugin-marketplace
-
Test locally (see Testing section)
This template provides:
- Marketplace Configuration (
.claude-plugin/marketplace.json): Central registry for all plugins following the official schema - Plugin Development Plugin (
plugin-development): Comprehensive toolkit for creating, validating, and managing plugins with:- Scaffolding and component generation commands
- Automated validation and testing
- Best practices and documentation integration
- Review agent for release readiness
- Sample Plugin (
hello-world): Fully functional example demonstrating:- Proper plugin manifest structure
- Command with frontmatter
- Best practices and documentation
- Comprehensive Documentation (
docs/): Complete guides for plugin development, hooks, settings, commands, skills, and sub-agents - GitHub Actions: Automated plugin validation workflow
Edit .claude-plugin/marketplace.json to customize your marketplace:
{
"name": "my-team-plugin-marketplace",
"owner": {
"name": "Your Organization",
"email": "[email protected]"
},
"metadata": {
"description": "A curated collection of plugins for our team",
"version": "1.0.0"
},
"plugins": [
// Add your plugins here
]
}Note: The name field should use kebab-case (lowercase with hyphens). See the Plugin Marketplaces documentation for complete schema details.
You can configure automatic marketplace installation for team projects by adding .claude/settings.json:
{
"extraKnownMarketplaces": {
"team-tools": {
"source": {
"source": "github",
"repo": "your-org/your-marketplace-name"
}
}
}
}When team members trust the repository folder, Claude Code automatically installs these marketplaces. See Configure team marketplaces for details.
-
Navigate to your project directory:
cd your-marketplace-name -
Start Claude Code:
claude
-
Add your local marketplace:
/plugin marketplace add ./path-to-your-marketplace -
Install a plugin:
/plugin install hello-world@marketplace-name /plugin install plugin-development@marketplace-name -
Test commands:
/hello World /plugin-development:validate -
Verify installation:
/helpYour plugin commands should appear in the help list.
Once published to GitHub, users can add your marketplace:
# Add marketplace from GitHub
/plugin marketplace add your-org/your-repo-name
# Install plugins
/plugin install plugin-name@your-marketplace-nameThis template includes a powerful plugin-development plugin that automates plugin scaffolding:
# After cloning and adding this marketplace
/plugin install plugin-development@my-team-plugin-marketplace
# Scaffold a new plugin
/plugin-development:init my-new-plugin
# Add components as needed
/plugin-development:add-command my-command "Description of what the command does"
/plugin-development:add-skill my-skill "Use when working with..."
/plugin-development:validateSee the plugin-development README for complete documentation.
# Create plugin directory
mkdir -p plugins/my-plugin/.claude-plugin
mkdir -p plugins/my-plugin/commands
# Create plugin metadata
touch plugins/my-plugin/.claude-plugin/plugin.json
touch plugins/my-plugin/README.mdEdit plugins/my-plugin/.claude-plugin/plugin.json:
{
"name": "my-plugin",
"version": "1.0.0",
"description": "Description of what your plugin does",
"author": {
"name": "Your Name",
"email": "[email protected]",
"url": "https://github.com/your-username"
},
"homepage": "https://github.com/your-org/your-marketplace-name",
"repository": "https://github.com/your-org/your-marketplace-name",
"license": "MIT",
"keywords": ["keyword1", "keyword2"]
}Note: The author field must be an object with name, email, and optionally url. See the Plugins Reference for complete schema details.
Create plugins/my-plugin/commands/my-command.md:
---
description: Brief description of what the command does
argument-hint: [arg1] [arg2]
---
# My Command
[Detailed instructions for Claude on how to execute this command]
## Instructions
1. [Step 1]
2. [Step 2]
3. [Step 3]
[Additional context and guidelines]Note: Commands should include frontmatter with description and optionally argument-hint. The content is a prompt that Claude executes. See the Slash Commands documentation for details.
Add to .claude-plugin/marketplace.json:
{
"plugins": [
{
"name": "my-plugin",
"description": "Description of what your plugin does",
"version": "1.0.0",
"author": {
"name": "Your Name"
},
"source": "./plugins/my-plugin",
"category": "utilities",
"tags": ["tag1", "tag2"],
"keywords": ["keyword1", "keyword2"]
}
]
}Note: The marketplace plugin entry uses the same schema as plugin.json with all fields optional, plus marketplace-specific fields like source, category, and tags. The author field should be an object.
This repository includes comprehensive documentation for the Claude Code plugin system in the docs/ directory:
- Plugin Development: Complete guide to creating and managing plugins
- Plugin Reference: Technical specifications and advanced features
- Plugin Marketplaces: Marketplace creation and management
- Hooks: Event-driven automation and workflows
- Settings: Configuration and customization options
- Slash Commands: Command system and custom commands
- Skills: Agent capabilities and expertise packages
- Sub-Agents: Specialized AI assistants and task delegation
Start with docs/plugins.md for plugin development basics, or docs/README.md for a complete overview of all available documentation.
- Claude Code Plugins: Complete plugin development guide
- Plugin Marketplaces: Marketplace creation and management
- Plugins Reference: Technical specifications and schemas
- Slash Commands: Command development details
MIT License - see LICENSE file for details