diff --git a/.claude/skills/glean-plugin-checklist/SKILL.md b/.claude/skills/glean-plugin-checklist/SKILL.md index 1adf2b1..edf7306 100644 --- a/.claude/skills/glean-plugin-checklist/SKILL.md +++ b/.claude/skills/glean-plugin-checklist/SKILL.md @@ -120,6 +120,27 @@ When releasing a new version: 2. Update `package.json` version 3. Update ALL `plugins/*/.claude-plugin/plugin.json` versions +### 6. Add to .release-it.json bumper (REQUIRED) + +Path: `.release-it.json` + +Add an entry to the `plugins["@release-it/bumper"].out` array, after the last existing entry: + +```json +{ + "file": "plugins//.claude-plugin/plugin.json", + "path": "version" +} +``` + +**If you skip this step**, the plugin version will fall behind the marketplace version on every future release. This failure is silent — no error will be thrown and no CI check will catch it. + +Verify the entry was added: + +```bash +node .claude/skills/glean-plugin-checklist/scripts/check-bumper.mjs +``` + ## Verification Commands After adding a plugin, verify with: @@ -138,6 +159,9 @@ done # Check README mentions the plugin grep "" README.md + +# Check .release-it.json bumper includes the plugin +node .claude/skills/glean-plugin-checklist/scripts/check-bumper.mjs ``` ## Common Mistakes to Avoid diff --git a/.claude/skills/glean-plugin-checklist/scripts/check-bumper.mjs b/.claude/skills/glean-plugin-checklist/scripts/check-bumper.mjs new file mode 100644 index 0000000..1494c5a --- /dev/null +++ b/.claude/skills/glean-plugin-checklist/scripts/check-bumper.mjs @@ -0,0 +1,24 @@ +#!/usr/bin/env node +// Check if a plugin is registered in the .release-it.json bumper. +// Usage: node scripts/check-bumper.mjs +// Exit code 0 = found, 1 = missing + +import { readFileSync } from 'fs'; + +const pluginName = process.argv[2]; +if (!pluginName) { + console.error('Usage: node scripts/check-bumper.mjs '); + process.exit(1); +} + +const config = JSON.parse(readFileSync('.release-it.json', 'utf8')); +const found = config.plugins['@release-it/bumper'].out.some( + o => o.file.includes(pluginName) +); + +if (found) { + console.log('in bumper: ok'); +} else { + console.error(`MISSING from bumper: add plugins/${pluginName}/.claude-plugin/plugin.json to .release-it.json`); + process.exit(1); +} diff --git a/.gitignore b/.gitignore index 9cb3102..a0d361e 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,6 @@ plugins/**/[0-9]*.[0-9]*.[0-9]* # Bun lockfile (not used in this project) bun.lock + +# Local planning documents +docs/plans/