Follow these steps in order. Do not skip steps.
Pre-flight checks
Step 1: Verify all plugin versions are in sync
Run:
for p in plugins/*/.claude-plugin/plugin.json; do
echo "$p: $(node -e "console.log(JSON.parse(require('fs').readFileSync('$p','utf8')).version)")"
done
All versions must match the current marketplace version in .claude-plugin/marketplace.json.
If any are out of sync, fix them before proceeding and commit the fix separately.
Step 2: Validate plugin structure
Run:
node scripts/validate-plugins.mjs
All plugins must pass validation. Fix any errors before proceeding.
Step 3: Verify working tree is clean
Run:
git status
Expected: nothing to commit, working tree clean
Run the release
Step 4: Run release-it
npm run release
This will:
- Prompt for the next version (patch/minor/major)
- Update
package.json,.claude-plugin/marketplace.json, and ALLplugins/*/.claude-plugin/plugin.jsonvia the bumper - Generate/update
CHANGELOG.mdfrom conventional commits - Create a git tag
v<version> - Commit with message
chore: release v<version>
Step 5: Post-release verification
Run:
for p in plugins/*/.claude-plugin/plugin.json; do
echo "$p: $(node -e "console.log(JSON.parse(require('fs').readFileSync('$p','utf8')).version)")"
done
All 10 plugin versions should show the new version number.
Step 6: Push tag and commits
git push && git push --tags
Plugins covered by the bumper (bumped automatically)
plugins/glean-coreplugins/glean-searchplugins/glean-peopleplugins/glean-meetingsplugins/glean-docsplugins/glean-codeplugins/glean-dev-docsplugins/glean-skillsplugins/glean-productivityplugins/glean-project
Adding a new plugin? You MUST add its plugin.json path to the @release-it/bumper out array in .release-it.json, or its version will silently drift on the next release.