Create a new release with version bump, changelog, and GitHub release
Creates a new release with version bump, changelog, and GitHub release
/plugin marketplace add gopherguides/gopher-ai/plugin install productivity@gopher-ai[patch|minor|major]basename $(git rev-parse --show-toplevel)jq -r '.plugins[0].version' .claude-plugin/marketplace.json 2>/dev/null || echo "unknown"git describe --tags --abbrev=0 2>/dev/null || echo "No tags found"git log $(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD)..HEAD --oneline 2>/dev/null | wc -l | tr -d ' 'Create a new release for the gopher-ai plugin marketplace.
If $ARGUMENTS is provided (patch, minor, or major), use that bump type.
If $ARGUMENTS is empty, analyze commits since the last tag to suggest a bump type:
BREAKING CHANGE:, !: suffix)feat:)fix:, chore:, docs:, etc.)Ask the user to confirm the bump type using AskUserQuestion before proceeding.
Validate State
git status --porcelainCalculate New Version
.claude-plugin/marketplace.jsonUpdate Versions
.claude-plugin/marketplace.json:jq --arg v "NEW_VERSION" '
.metadata.version = $v |
.plugins[].version = $v
' .claude-plugin/marketplace.json > /tmp/marketplace.json.tmp && \
mv /tmp/marketplace.json.tmp .claude-plugin/marketplace.json
plugin.json (Claude Code uses these for cache paths):for pjson in plugins/*/.claude-plugin/plugin.json; do
jq --arg v "NEW_VERSION" '.version = $v' "$pjson" > /tmp/pj.tmp && mv /tmp/pj.tmp "$pjson"
done
Generate Changelog Summary
git log LAST_TAG..HEAD --format="%s" --reverseCommit and Tag
git add .claude-plugin/marketplace.json plugins/*/.claude-plugin/plugin.json
git commit -m "chore: release vX.Y.Z"
git tag -a vX.Y.Z -m "Release vX.Y.Z"
Push to Remote
git push origin main
git push origin vX.Y.Z
Create GitHub Release
gh release create vX.Y.Z --title "vX.Y.Z" --generate-notes
Report Success
./scripts/refresh-plugins.sh to update local cache/release - Auto-detect bump type from commits/release patch - Force patch bump (1.1.0 → 1.1.1)/release minor - Force minor bump (1.1.0 → 1.2.0)/release major - Force major bump (1.1.0 → 2.0.0)/releasePrepare a new release by updating changelog, version, and documentation