https://github.com/ivan-magda/claude-code-plugin-template
GitHub template for creating Claude Code plugin marketplaces. Includes plugin scaffolding, validation commands, hooks, skills, agents, and CI/CD workflows. Ready-to-use toolkit for teams distributing Claude Code plugins.
https://github.com/ivan-magda/claude-code-plugin-template
ai-coding anthropic claude-code claude-code-plugins cli developer-tools mcp plugin-marketplaces starter-kit template-repository
Last synced: about 12 hours ago
JSON representation
GitHub template for creating Claude Code plugin marketplaces. Includes plugin scaffolding, validation commands, hooks, skills, agents, and CI/CD workflows. Ready-to-use toolkit for teams distributing Claude Code plugins.
- Host: GitHub
- URL: https://github.com/ivan-magda/claude-code-plugin-template
- Owner: ivan-magda
- License: mit
- Created: 2025-10-23T20:20:11.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-06-28T02:32:16.000Z (17 days ago)
- Last Synced: 2026-07-11T03:00:26.292Z (4 days ago)
- Topics: ai-coding, anthropic, claude-code, claude-code-plugins, cli, developer-tools, mcp, plugin-marketplaces, starter-kit, template-repository
- Language: Shell
- Homepage:
- Size: 254 KB
- Stars: 60
- Watchers: 0
- Forks: 14
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rainmana - ivan-magda/claude-code-plugin-template - GitHub template for creating Claude Code plugin marketplaces. Includes plugin scaffolding, validation commands, hooks, skills, agents, and CI/CD workflows. Ready-to-use toolkit for teams distributing (Shell)
README
# Claude Code Plugin Marketplace Template
Create and distribute Claude Code plugins for your team or community. This GitHub template gives you a working marketplace structure, scaffolding commands, validation, and CI/CD automation.
[](https://github.com/ivan-magda/claude-code-plugin-template/stargazers)
[](https://github.com/ivan-magda/claude-code-plugin-template/network/members)
[](https://opensource.org/licenses/MIT)
[](https://github.com/ivan-magda/claude-code-plugin-template/actions/workflows/validate-plugins.yml)
## Features
- **Skip the boilerplate.** Marketplace structure, plugin manifests, and GitHub Actions validation come ready to use.
- **Plugin development toolkit.** Scaffold plugins, add commands, skills, agents, and hooks, then validate before release.
- **Team distribution.** Set up automatic marketplace installation for your projects.
- **Docs and a working example.** Guides for every plugin component, plus a `hello-world` plugin you can copy.
## What's Included
| Component | Description |
|-----------|-------------|
| **Marketplace Configuration** | `.claude-plugin/marketplace.json` following the [official schema](https://code.claude.com/docs/en/plugin-marketplaces#marketplace-schema) |
| **Plugin Development Toolkit** | `plugin-development` plugin with 7 slash commands, a `plugin-authoring` skill for ambient guidance, and a reviewer agent |
| **Example Plugin** | `hello-world` plugin showing a minimal working structure |
| **CI/CD Workflows** | GitHub Actions that validate every plugin on each push and PR |
| **Documentation** | Guides for plugins, hooks, settings, commands, skills, and sub-agents |
## Quick Start
### 1. Create Your Marketplace
Click **"Use this template"** on GitHub, then clone your new repository:
```bash
git clone https://github.com/your-org/your-marketplace-name.git
cd your-marketplace-name
```
### 2. Customize the Marketplace
Update `.claude-plugin/marketplace.json` with your organization details:
```json
{
"name": "my-team-marketplace",
"owner": {
"name": "Your Organization",
"email": "team@your-org.com"
},
"metadata": {
"description": "A curated collection of Claude Code plugins for our team",
"version": "1.0.0"
},
"plugins": []
}
```
### 3. Install the Plugin Development Toolkit
```bash
# Start Claude Code
claude
# Add your local marketplace
/plugin marketplace add .
# Install the development toolkit
/plugin install plugin-development@my-team-marketplace
```
### 4. Create Your First Plugin
```bash
# Scaffold a new plugin
/plugin-development:init my-awesome-plugin
# Add components
/plugin-development:add-command my-command "Description of what it does"
/plugin-development:add-skill my-skill "Use when working with..."
# Validate before publishing
/plugin-development:validate
```
## Plugin Development Commands
The `plugin-development` plugin provides these commands:
| Command | Description |
|---------|-------------|
| `/plugin-development:init [name]` | Scaffold a new plugin with standard structure |
| `/plugin-development:add-command [name] [desc]` | Add a new slash command |
| `/plugin-development:add-skill [name] [desc]` | Add a new skill with SKILL.md |
| `/plugin-development:add-agent [name] [desc]` | Add a new sub-agent |
| `/plugin-development:add-hook [event] [matcher]` | Add a hook configuration |
| `/plugin-development:validate` | Validate plugin structure and configuration |
| `/plugin-development:test-local` | Create dev marketplace for local testing |
## Repository Structure
```
├── .claude-plugin/
│ └── marketplace.json # Marketplace configuration
├── .github/
│ └── workflows/
│ └── validate-plugins.yml # CI/CD validation
├── docs/ # Documentation
│ ├── plugins.md # Plugin development guide
│ ├── plugins-reference.md # Technical specifications
│ ├── plugin-marketplaces.md # Marketplace management
│ ├── hooks.md # Event-driven automation
│ ├── settings.md # Configuration options
│ ├── slash-commands.md # Command system reference
│ ├── skills.md # Agent skills guide
│ └── sub-agents.md # Sub-agent system
└── plugins/
├── hello-world/ # Example plugin
└── plugin-development/ # Development toolkit
```
## Team Distribution
Configure automatic marketplace installation for your team by adding `.claude/settings.json` to your projects:
```json
{
"extraKnownMarketplaces": {
"my-team-marketplace": {
"source": {
"source": "github",
"repo": "your-org/your-marketplace-name"
}
}
}
}
```
When team members trust the repository folder, Claude Code installs the marketplace for them. See [Configure team marketplaces](https://code.claude.com/docs/en/discover-plugins#configure-team-marketplaces) for details.
## Installing from GitHub
Once your marketplace is published to GitHub, users can install plugins with:
```bash
# Add the marketplace
/plugin marketplace add your-org/your-marketplace-name
# Install a plugin
/plugin install plugin-name@your-marketplace-name
```
## Local Testing
Test your plugins before publishing:
```bash
# Navigate to your marketplace
cd your-marketplace-name
# Start Claude Code
claude
# Add local marketplace
/plugin marketplace add .
# Install and test a plugin
/plugin install hello-world@my-team-marketplace
/hello World
```
For iterative development:
```bash
# After making changes
/plugin-development:validate
/plugin uninstall plugin-name@my-team-marketplace
/plugin install plugin-name@my-team-marketplace
```
## Uninstalling
Remove the marketplace and its plugins from Claude Code:
```bash
# Remove a specific plugin
/plugin uninstall plugin-name@my-team-marketplace
# Remove the marketplace entirely
/plugin marketplace remove my-team-marketplace
```
To remove everything, delete the cloned repository directory.
## Creating Plugins Manually
If you prefer manual setup over the scaffolding commands:
### 1. Create Plugin Directory
```bash
mkdir -p plugins/my-plugin/.claude-plugin
mkdir -p plugins/my-plugin/commands
```
### 2. Add Plugin Manifest
Create `plugins/my-plugin/.claude-plugin/plugin.json`:
```json
{
"name": "my-plugin",
"version": "1.0.0",
"description": "Description of what your plugin does",
"author": {
"name": "Your Name",
"email": "your-email@example.com"
},
"license": "MIT",
"keywords": ["keyword1", "keyword2"]
}
```
### 3. Create a Command
Create `plugins/my-plugin/commands/my-command.md`:
```markdown
---
description: Brief description of what the command does
argument-hint: [arg1] [arg2]
---
# My Command
Instructions for Claude on how to execute this command.
## Steps
1. First step
2. Second step
3. Third step
```
### 4. Register in Marketplace
Add to `.claude-plugin/marketplace.json`:
```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"]
}
]
}
```
## Documentation
### Local Guides (in `docs/`)
| Guide | Description |
|-------|-------------|
| [Plugin Development](docs/plugins.md) | Guide to creating plugins |
| [Plugin Reference](docs/plugins-reference.md) | Technical specifications and schemas |
| [Plugin Marketplaces](docs/plugin-marketplaces.md) | Marketplace creation and management |
| [Hooks](docs/hooks.md) | Event-driven automation |
| [Settings](docs/settings.md) | Configuration and customization |
| [Slash Commands](docs/slash-commands.md) | Command system reference |
| [Skills](docs/skills.md) | Agent capabilities and expertise |
| [Sub-Agents](docs/sub-agents.md) | Specialized AI assistants |
### Official Claude Code Documentation
- [Plugins Overview](https://code.claude.com/docs/en/plugins): plugin development guide
- [Plugin Marketplaces](https://code.claude.com/docs/en/plugin-marketplaces): marketplace management
- [Plugins Reference](https://code.claude.com/docs/en/plugins-reference): technical specifications
- [Slash Commands](https://code.claude.com/docs/en/slash-commands): command development
## Example Plugins
### hello-world
A minimal plugin showing the basic structure:
```bash
/plugin install hello-world@my-team-marketplace
/hello World
# Output: Hello, World! 👋
```
### plugin-development
The toolkit you use to build and validate plugins:
- **7 slash commands** for scaffolding and validation
- **plugin-authoring skill** for ambient guidance
- **plugin-reviewer agent** for release readiness audits
- **Automated hooks** for validation and formatting
See the [plugin-development README](plugins/plugin-development/README.md) for details.
## Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-plugin`)
3. Make your changes
4. Run validation (`/plugin-development:validate`)
5. Commit your changes (`git commit -m 'Add amazing plugin'`)
6. Push to the branch (`git push origin feature/amazing-plugin`)
7. Open a Pull Request
## Acknowledgments
Built for [Claude Code](https://claude.com/claude-code) by [Anthropic](https://www.anthropic.com/).
## License
MIT License. See [LICENSE](LICENSE) for details.
## Resources
- [Claude Code Documentation](https://code.claude.com/docs)
- [Anthropic Discord](https://discord.com/invite/anthropic): community support
- [Claude Code GitHub](https://github.com/anthropics/claude-code): official repository