claude-plugin-studio
v0.1.0
Published
Development tool for Claude Code plugins - watch, validate, and auto-sync
Maintainers
Readme
Claude Plugin Studio
Development tool for Claude Code plugins. Watch, validate, and auto-sync your plugins during development.
Features
- Watch Mode - Automatically validates and syncs plugins when files change
- Validation - Three-layer validation (JSON schema, structure, Claude CLI)
- Scaffolding - Interactively create new marketplaces and plugins
- Auto-sync - Clears cache and reinstalls plugins after successful validation
Installation
npm install -g claude-plugin-studioUsage
Watch for Changes
Start watching your plugins directory for changes. Validates and syncs automatically on each save.
cps
# or explicitly
cps watchValidate Once
Run validation without watching:
cps validateCreate a New Plugin or Marketplace
Interactively scaffold a new marketplace or plugin:
cps createOptions
All commands support verbosity flags:
cps --verbose # Detailed output
cps --quiet # Errors onlyHow It Works
Validation Layers
Validation runs in order, stopping on first failure:
- Schema - Validates
plugin.json/marketplace.jsonagainst JSON schemas - Structure - Checks that referenced directories and files exist
- Claude CLI - Runs
claude plugin validatefor final verification
Sync Process
After successful validation:
- Clears the marketplace cache at
~/.claude/plugins/cache/{marketplace-name}/ - Runs
claude plugin marketplace add <path> - Reinstalls previously installed plugins from settings
Plugin Structure
Plugins live in directories with a .claude-plugin/ folder:
my-plugin/
├── .claude-plugin/
│ └── plugin.json
├── skills/
│ └── my-skill/
│ └── SKILL.md
├── commands/
├── agents/
└── hooks/plugin.json
{
"name": "my-plugin",
"version": "1.0.0",
"description": "My awesome plugin"
}Marketplace Structure
Marketplaces catalog multiple plugins:
my-marketplace/
├── .claude-plugin/
│ └── marketplace.json
├── plugin-a/
│ └── .claude-plugin/
│ └── plugin.json
└── plugin-b/
└── .claude-plugin/
└── plugin.jsonmarketplace.json
{
"name": "my-marketplace",
"version": "1.0.0",
"owner": {
"name": "Your Name",
"email": "[email protected]"
},
"plugins": [
{ "name": "plugin-a", "source": "./plugin-a" },
{ "name": "plugin-b", "source": "./plugin-b" }
]
}Requirements
- Node.js 18+
- Claude Code CLI installed and available in PATH
License
MIT
