Version Bump & Release Workflow
IMPORTANT: You must first plan and write detailed release notes before starting the version bump workflow
Category: design Source: thedotmack/claude-memVersion Bump & Release Workflow
What Is This?
The "Version Bump & Release Workflow" skill provides a structured and automated process for managing semantic versioning and release cycles for Claude Code plugins. This workflow is designed to increment versions across all relevant configuration files (package.json, .claude-plugin/marketplace.json, and plugin/.claude-plugin/plugin.json), verify the integrity of the build, commit all changes, create annotated Git tags, push updates to the remote repository, and generate GitHub releases. The process ensures consistency and traceability across plugin releases while enforcing strict versioning and changelog practices.
Why Use It?
Managing versioning and release cycles in software projects, especially when multiple configuration files and build artifacts are involved, can be error-prone and tedious. Manual version bumps risk inconsistencies, missing files, or incomplete releases. This skill addresses these issues by providing a clear, repeatable workflow that guarantees:
- Semantic versioning compliance: Ensures every release is classified correctly as PATCH, MINOR, or MAJOR.
- Synchronization: All version strings are updated uniformly across necessary files.
- Release traceability: Annotated tags and detailed release notes help track what has changed in each release.
- Artifact integrity: The workflow verifies that all build artifacts are generated and included in the commit.
- Automation: Reduces manual steps, minimizing the risk of forgetting critical actions.
For teams or individual developers working on Claude Code plugins, adopting this workflow eliminates ambiguity and enforces best practices, resulting in higher quality and more reliable releases.
How to Use It
The workflow consists of several ordered steps, each enforcing discipline and completeness in the release process. The following details the entire process, including code commands and expected checks.
1. Plan and Write Release Notes
Before initiating the workflow, write detailed release notes describing every change, improvement, or fix included in the release. This step is mandatory and forms the basis of the GitHub release description.
2. Preparation
Analyze the change type: Decide if the update qualifies as a PATCH (for bug fixes), MINOR (for backward-compatible feature additions), or MAJOR (for breaking changes).
Identify repository details: Use the command below to confirm the remote repository:
git remote -vCheck required files: Ensure the following files exist in your repository:
package.json.claude-plugin/marketplace.jsonplugin/.claude-plugin/plugin.json
3. Increment Version Numbers
Update the version string in all configuration files. For example, to update from 1.0.0 to 1.1.0:
// package.json
{
"version": "1.1.0"
}
Repeat this version update in marketplace.json and plugin.json.
4. Verify Version Consistency
To confirm all files reflect the new version, use grep:
grep '"version": "1.1.0"' package.json .claude-plugin/marketplace.json plugin/.claude-plugin/plugin.json
This command should return a line for each file, verifying consistency.
5. Build Artifacts
Generate fresh build artifacts to ensure your release includes the latest compiled output:
npm run build
Resolve any errors before proceeding.
6. Stage and Commit All Changes
Ensure every change, including build artifacts, is staged and committed. Use:
git add -A
git commit -m "chore: bump version to 1.1.0"
7. Tag the Release
Create an annotated Git tag for traceability:
git tag -a v1.1.0 -m "Version 1.1.0"
8. Push to Remote
Push both the main branch and the new tag to the remote repository:
git push origin main
git push origin v1.1.0
9. Create a GitHub Release
Initiate a new release using the tagged version and include your detailed release notes:
gh release create v1.1.0 --title "Version 1.1.0" --notes "Paste your release notes here"
10. Final Verification
Ensure nothing is left uncommitted or unpushed:
git status
Your working directory should be clean.
When to Use It
Apply this workflow every time you prepare to release a new version of your Claude Code plugin, regardless of the scale of changes. It is suitable for:
- Routine maintenance releases (PATCH)
- Feature additions (MINOR)
- Major refactors or breaking changes (MAJOR)
Never skip steps or leave artifacts uncommitted. This process ensures every release is complete, consistent, and easily auditable.
Important Notes
- Release notes are mandatory: Begin by drafting comprehensive release notes before starting the workflow.
- Commit everything: Build artifacts and all configuration changes must be included in the commit.
- No uncommitted changes: At the end of the workflow, use
git statusto confirm a clean working directory. - Do not skip verification: Always double-check version numbers and build outputs.
- Tag and release: Annotated tags and GitHub releases are required for proper traceability.
By following this workflow, teams can maintain high standards of quality and reliability for all plugin releases, minimize errors, and provide clear documentation for every update. This skill is a critical component of any disciplined plugin development lifecycle.