Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 09:04:17 +08:00
commit 652915e226
62 changed files with 8212 additions and 0 deletions

View File

@@ -0,0 +1,107 @@
# Plugin Templates
This directory contains templates for creating Claude Code plugins.
## Files
- `plugin.json.template` - Plugin manifest template
- `example-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
```bash
# 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
```bash
# Let build system create it for you
/build:plugin my-plugin "Description" --components=cmd,skill
```
## Best Practices
1. **Use ${CLAUDE_PLUGIN_ROOT}**:
- For all paths in hooks and MCP servers
- Ensures portability across installations
2. **Semantic Versioning**:
- Major: Breaking changes
- Minor: New features (backwards-compatible)
- Patch: Bug fixes
3. **Complete Metadata**:
- Author, repository, license
- Helps users understand plugin origin
4. **Test Locally**:
- Use local marketplace for testing
- Uninstall/reinstall to test updates
---
**Purpose**: Templates for creating plugins
**Used by**: plugin-builder agent