This guide documents the complete release process for the claude-code-plugins marketplace.
# Bug fix release (most common)
./scripts/bump-version.sh patch --push
# New feature release
./scripts/bump-version.sh minor --push
# Breaking change release
./scripts/bump-version.sh major --push
# Preview changes without applying
./scripts/bump-version.sh patch --dry-runWhen you push to the main branch on GitHub:
- Auto-update enabled users: Receive updates automatically on next Claude Code restart
- Manual update users: Run
/plugin marketplace updatethen restart
| Marketplace Type | Default Behavior |
|---|---|
| Official (Anthropic) | Auto-updates enabled |
| Third-party (this repo) | Requires user opt-in |
User command to enable auto-updates:
/plugin marketplace edit cpicon-claude-plugins
# Set auto-update: true
Before releasing, ensure:
- All changes are tested locally
- Working directory is clean (
git statusshows no changes) - You're on the
mainbranch - CHANGELOG.md is updated (for non-trivial releases)
-
jqis installed (brew install jqif not)
When you install a plugin, files exist in three locations:
| Location | Path | Description |
|---|---|---|
| Source | ./agent-team-creator/ |
Where you edit code |
| Installed | ~/.claude/plugins/agent-team-creator/ |
Active plugin copy |
| Cache | ~/.claude/plugins/cache/*/agent-team-creator/ |
Versioned cache |
Problem: Editing source files doesn't update the installed/cached versions.
# 1. Make your changes in the source directory
# Edit files in ./agent-team-creator/
# 2. Reinstall the plugin to apply changes
# In Claude Code:
/plugin uninstall agent-team-creator
/plugin install agent-team-creator
# 3. Restart Claude Code
# 4. Test your changes
/generate-agent-team
# or other commandsFor faster iteration, symlink the cache to your source:
# Remove existing cache
rm -rf ~/.claude/plugins/cache/local-marketplace/agent-team-creator/
# Create symlink
ln -s /path/to/claude-code-plugins/agent-team-creator \
~/.claude/plugins/cache/local-marketplace/agent-team-creator/devNote: This may require editing ~/.claude/plugins/installed_plugins.json to point to the "dev" version.
The bump-version.sh script handles everything:
# Step 1: Ensure clean working directory
git status # Should show no changes
# Step 2: Update CHANGELOG.md manually (for significant releases)
# Add entry under [Unreleased] section
# Step 3: Commit CHANGELOG if updated
git add CHANGELOG.md
git commit -m "docs: update changelog for X.Y.Z release"
# Step 4: Run the release script
./scripts/bump-version.sh patch --pushWhat the script does:
- Parses current version from
plugin.json - Calculates new version based on bump type
- Updates
agent-team-creator/.claude-plugin/plugin.json - Updates
.claude-plugin/marketplace.json - Creates git commit with conventional message
- Creates annotated git tag
- Pushes to GitHub (if
--pushflag used)
./scripts/bump-version.sh [type] [options]
Types:
patch Bug fixes (1.0.0 → 1.0.1)
minor New features (1.0.0 → 1.1.0)
major Breaking changes (1.0.0 → 2.0.0)
Options:
--push Push to GitHub after creating commit/tag
--dry-run Preview changes without applying
--help Show help messageIf the script fails or you prefer manual control:
File 1: agent-team-creator/.claude-plugin/plugin.json
{
"version": "1.0.1" // ← Update this
}File 2: .claude-plugin/marketplace.json
{
"plugins": [
{
"name": "agent-team-creator",
"version": "1.0.1" // ← Update this too
}
]
}## [1.0.1] - 2026-01-10
### Fixed
- Description of what was fixedgit add .
git commit -m "chore(release): bump version to 1.0.1
- Fixed: description
- Updated plugin.json and marketplace.json"git tag -a v1.0.1 -m "Release v1.0.1
Bug fix release.
See CHANGELOG.md for details."git push origin main
git push origin v1.0.1| Bump Type | When to Use | Example Changes |
|---|---|---|
| patch | Bug fixes, typos, minor improvements | Fix null reference, correct spelling |
| minor | New features, new commands/agents | Add /new-command, new agent |
| major | Breaking changes | Change output format, remove features |
- Use semantic versioning:
MAJOR.MINOR.PATCH - Start at
1.0.0(already done) - Keep both JSON files in sync
- Tags use
vprefix:v1.0.1
Use Keep a Changelog format:
## [Unreleased]
## [1.1.0] - 2026-01-15
### Added
- New `/review-code` command for code reviews
### Changed
- Improved agent trigger detection accuracy
## [1.0.1] - 2026-01-10
### Fixed
- Fixed team-architect agent not recognizing Python files- Added: New features
- Changed: Changes in existing functionality
- Deprecated: Soon-to-be removed features
- Removed: Removed features
- Fixed: Bug fixes
- Security: Vulnerability fixes
# Install jq
brew install jq# Commit or stash your changes first
git stash
./scripts/bump-version.sh patch --push
git stash pop# Delete local tag
git tag -d v1.0.1
# Delete remote tag (if pushed)
git push origin :refs/tags/v1.0.1
# Then retry
./scripts/bump-version.sh patch --push-
Check if they have auto-update enabled:
/plugin marketplace edit cpicon-claude-plugins -
Have them manually update:
/plugin marketplace update -
Verify by checking installed version:
/plugin list
Both files must have matching versions. Fix manually:
# Check current versions
jq '.version' agent-team-creator/.claude-plugin/plugin.json
jq '.plugins[0].version' .claude-plugin/marketplace.json
# If different, update the one that's wrong and commit## Release Checklist for vX.Y.Z
### Before Release
- [ ] All changes tested locally (reinstall and run commands)
- [ ] Working directory is clean
- [ ] On `main` branch
- [ ] CHANGELOG.md updated (if needed)
### Release
- [ ] Ran `./scripts/bump-version.sh [type] --push`
- [ ] Verified tag exists: `git tag -l | grep vX.Y.Z`
- [ ] Verified push succeeded: check GitHub
### After Release
- [ ] Tested update flow on fresh install (optional)
- [ ] Announced release if significant (optional)| File | Purpose |
|---|---|
scripts/bump-version.sh |
Automated version bump script |
CHANGELOG.md |
Version history |
agent-team-creator/.claude-plugin/plugin.json |
Plugin version |
.claude-plugin/marketplace.json |
Marketplace plugin listing |