3.2 KiB
3.2 KiB
Plugin Templates
This directory contains templates for creating Claude Code plugins.
Files
plugin.json.template- Plugin manifest templateexample-plugin/- Complete working example plugin
Template Variables
| Variable | Purpose | Example |
|---|---|---|
{{PLUGIN_NAME}} |
Unique identifier (kebab-case) | deployment-tools |
{{VERSION}} |
Semantic version | 1.0.0 |
{{DESCRIPTION}} |
Plugin purpose | Deployment automation |
{{AUTHOR_NAME}} |
Author name | Dev Team |
{{AUTHOR_EMAIL}} |
Author email | dev@company.com |
{{HOMEPAGE_URL}} |
Documentation URL | https://docs.example.com |
{{REPOSITORY_URL}} |
Source code URL | https://github.com/org/plugin |
{{LICENSE}} |
License identifier | MIT, Apache-2.0 |
{{KEYWORDS}} |
Discovery tags (array) | ["deployment", "ci-cd"] |
Plugin Structure
plugin-name/
├── .claude-plugin/ # Metadata directory
│ └── plugin.json # Required: plugin manifest
├── commands/ # Slash commands (auto-discovered)
│ ├── deploy.md
│ └── status.md
├── agents/ # Subagents for multi-step tasks (auto-discovered)
│ ├── deployment-orchestrator.md
│ └── validator.md
├── skills/ # Background skills (auto-discovered)
│ ├── deployment-skill/
│ │ ├── SKILL.md
│ │ ├── scripts/
│ │ └── templates/
│ └── monitoring-skill/
│ └── SKILL.md
├── hooks/ # Event hooks (optional)
│ └── pre-deploy.hook.md
├── docs/ # Documentation (optional)
│ ├── guide.md
│ ├── examples.md
│ └── api.md
├── memory/ # Persistent state (optional)
│ ├── state.json
│ └── cache/
├── LICENSE # License file (optional)
└── README.md # Plugin overview (optional)
Critical:
- All directories at plugin root, NOT inside
.claude-plugin/ commands/,agents/,skills/are auto-discovered if present- Only list in plugin.json if using custom locations
Usage
Creating from Template
# Create plugin structure
mkdir -p my-plugin/.claude-plugin
# Copy and fill manifest
cp plugin.json.template my-plugin/.claude-plugin/plugin.json
# Edit plugin.json and replace {{VARIABLES}}
# Add components
mkdir my-plugin/commands
mkdir my-plugin/skills
Using Build Command
# Let build system create it for you
/build:plugin my-plugin "Description" --components=cmd,skill
Best Practices
-
Use ${CLAUDE_PLUGIN_ROOT}:
- For all paths in hooks and MCP servers
- Ensures portability across installations
-
Semantic Versioning:
- Major: Breaking changes
- Minor: New features (backwards-compatible)
- Patch: Bug fixes
-
Complete Metadata:
- Author, repository, license
- Helps users understand plugin origin
-
Test Locally:
- Use local marketplace for testing
- Uninstall/reinstall to test updates
Purpose: Templates for creating plugins Used by: plugin-builder agent