Version Bumper
Overview
Automates semantic version bumps across all version-bearing files in a Claude Code plugin. Ensures consistency between plugin.json, marketplace.extended.json, and the generated marketplace.json catalog.
Prerequisites
jqinstalled and available on PATH for JSON manipulation- Read/write access to
.claude-plugin/plugin.jsonand.claude-plugin/marketplace.extended.json pnpm run sync-marketplaceavailable at the repository root- Git installed for optional tag creation
Instructions
- Identify the target plugin directory and read the current version from
.claude-plugin/plugin.jsonusingjq -r '.version'. - Determine the bump type (major, minor, or patch) from the user request. If unspecified, infer from the nature of changes: breaking changes warrant major, new features warrant minor, and fixes warrant patch.
- Parse the current version into its
major.minor.patchcomponents and compute the new version according to semver rules (see${CLAUDE_SKILL_DIR}/references/version-bump-process.md). - Update the
"version"field in.claude-plugin/plugin.jsonwith the new version string. - Locate the plugin entry in
.claude-plugin/marketplace.extended.jsonand update its"version"field to match (see${CLAUDE_SKILL_DIR}/references/update-locations.md). - Run
pnpm run sync-marketplaceat the repository root to regeneratemarketplace.json. - Verify version consistency across all three files by reading each and confirming the version strings match.
- Optionally create a git tag (
git tag -a "v<new_version>" -m "Release v<new_version>") and prepare a commit message following thechore: Release v<version>convention (see${CLAUDE_SKILL_DIR}/references/release-workflow.md).
Output
A version bump execution summary containing:
- The computed transition (
old_versiontonew_version) - The exact files updated:
.claude-plugin/plugin.json,.claude-plugin/marketplace.extended.json, and regenerated.claude-plugin/marketplace.json - Validation confirmation that all files carry the same version
- Suggested next commands (
git add,git commit,git tag, validation scripts)
Error Handling
| Error | Cause | Solution |
|---|---|---|
| jq: command not found | jq not installed | Install via apt install jq or brew install jq |
| Version format invalid | Non-semver string in plugin.json | Correct to x.y.z format before bumping |
| Plugin not found in marketplace | Missing catalog entry | Add the plugin to marketplace.extended.json first |
| Sync marketplace failure | Schema mismatch or missing fields | Run jq empty on both JSON files to locate syntax errors |
| Version mismatch after sync | sync-marketplace did not pick up changes | Verify the plugin name in marketplace.extended.json matches plugin.json exactly |
Examples
Patch bump for a specific plugin:
Trigger: "Bump the security-scanner plugin to patch version"
Process: Read current version 1.2.3, compute 1.2.4, update plugin.json and marketplace.extended.json, run sync, verify consistency, report success.
Explicit major release:
Trigger: "Release version 2.0.0 of plugin-name"
Process: Set version to 2.0.0 in all files, sync marketplace, create git tag v2.0.0, prepare commit with chore: Release v2.0.0.
Feature-based minor bump: Trigger: "Increment version for new feature" Process: Detect minor bump, compute 1.2.3 to 1.3.0, update all version locations, sync, validate, report completion.
Resources
${CLAUDE_SKILL_DIR}/references/version-bump-process.md-- step-by-step bump algorithm${CLAUDE_SKILL_DIR}/references/update-locations.md-- all files requiring version updates${CLAUDE_SKILL_DIR}/references/release-workflow.md-- full release process including git tags${CLAUDE_SKILL_DIR}/references/examples.md-- additional usage scenarios- Semantic Versioning specification