version-bump 精选
Automated semantic versioning and release workflow for Claude Code plugins. Handles version increments across package.json, marketplace.json, plugin.json manifests, build verification, git tagging, GitHub releases, and changelog generation. Ends with the agent running npm publish itself using the maintainer's npm token.
安装方式
cp -r plugin/skills/version-bump ~/.claude/skills/version-bump把该 skill 目录放进客户端 skills 目录。不同客户端的目录可能不同,Claude Code 默认是 ~/.claude/skills/
/plugin marketplace add thedotmack/claude-mem⚠️ 该命令形态随客户端版本变化,仅在检测到 .claude-plugin/marketplace.json 时展示;不可用时请用「目录复制」。
https://raw.githubusercontent.com/thedotmack/claude-mem/356b7c08f64c29f931171e264e848772a039da62/plugin/skills/version-bump/SKILL.md下载后另存为 ~/.claude/skills/version-bump/SKILL.md。链接锁定采集时的 commit,内容与本站展示一致。
整仓一次性获取:git clone --depth 1 https://github.com/thedotmack/claude-mem.git
依赖与权限
- 需要 API Key —— 使用前需配置相应的密钥环境变量
- 需要联网访问外部服务
- 依赖外部命令:
gitnodenpmghnpxgo - 以上为按正文与 frontmatter 自动推断的信号,仅供参考;安装前建议先阅读原文。
SKILL.md 正文
Version Bump & Release Workflow
IMPORTANT: Plan and write detailed release notes before starting.
CRITICAL: Commit EVERYTHING (including build artifacts). At the end of this workflow, NOTHING should be left uncommitted or unpushed. Run git status at the end to verify.
Preparation
- Analyze: Determine if the change is PATCH (bug fixes), MINOR (features), or MAJOR (breaking).
- Environment: Identify repository owner/name from
git remote -v. - Paths — every file that carries the version string:
package.json— the npm/npx-published version (npx [email protected]resolves from this)plugin/package.json— bundled plugin runtime deps.claude-plugin/marketplace.json— version insideplugins[0].version.claude-plugin/plugin.json— top-level Claude-plugin manifestplugin/.claude-plugin/plugin.json— bundled Claude-plugin manifest.codex-plugin/plugin.json— Codex-plugin manifestplugin/.codex-plugin/plugin.json— bundled Codex-plugin manifestopenclaw/openclaw.plugin.json— OpenClaw plugin manifest.grok-plugin/plugin.json— Grok plugin manifestclaude-mem-cursor/.cursor-plugin/plugin.json— Cursor plugin manifestclaude-mem-grok-bot/.cursor-plugin/plugin.json— Grok Bot Cursor plugin manifestdsh/package.json— bundled DSH plugin packageREADME.md— the version badge (version-X.Y.Z-green), not a"version"key
Verify coverage before editing: git grep -l "\"version\": \"<OLD>\"" should list the twelve JSON files above, and git grep -n "version-<OLD>-green" the README badge. If a new manifest has been added since this doc was last updated, update this list.
Workflow
- Update: Increment the version string in every path above. Do NOT touch
CHANGELOG.md— it's regenerated. - Verify:
git grep -n "\"version\": \"<NEW>\""— confirm all twelve JSON files match, and the README badge readsversion-<NEW>-green.git grep -n "\"version\": \"<OLD>\""— should return zero hits. - Build and sync:
npm run build-and-syncto regenerate artifacts, sync the local marketplace copy, restart the worker, and clear the queue. Do not use plainnpm run buildfor release validation because it can leave the local marketplace/worker out of sync. - Commit:
git add -A && git commit -m "chore: bump version to X.Y.Z". - Tag:
git tag -a vX.Y.Z -m "Version X.Y.Z". - Push:
git push origin main && git push origin vX.Y.Z. - GitHub release:
gh release create vX.Y.Z --title "vX.Y.Z" --notes "RELEASE_NOTES". - Changelog: Regenerate via the project's changelog script:
npm run changelog:generate
(Runs node scripts/generate-changelog.js, which pulls releases from the GitHub API and rewrites CHANGELOG.md.)
- Sync changelog: Commit and push the updated
CHANGELOG.md. - Pre-publish audit: Verify the release commit, tag, GitHub release, and
changelog are pushed; confirm the release worktree has no pending tracked
changes; and ensure its build dependencies are present because
prepublishOnly rebuilds the package. If npm view [email protected] version
already resolves, skip the publish and continue with post-publish checks.
- Publish to npm — the agent runs it. The old "human handoff" rule is
obsolete: the maintainer allows agents to publish. The token is a
30-day granular npm token (read/write on claude-mem only, bypass 2FA)
in the maintainer's Mac ~/.npmrc; he issues a new one every month. It is
deliberately NOT in any backup (grok-bot-backups excludes secrets), so do
not go looking for it elsewhere. Publish from a clean worktree of the tag
(inside the project's .scratch/) so uncommitted edits never ship:
git worktree add --detach .scratch/release-X.Y.Z vX.Y.Z
cd .scratch/release-X.Y.Z && npm install --ignore-scripts
npm whoami # must print thedotmack; 401 = token expired
npm publish --access public # prepublishOnly rebuilds the package
If npm whoami fails, the monthly token has expired. Finish every other
step, then: open https://www.npmjs.com/settings/thedotmack/tokens/granular-access-tokens/new
for the maintainer (open <url>), replace the token value in ~/.npmrc with
PASTE_NEW_TOKEN_HERE, and open -e ~/.npmrc so he can paste the new token
there. Never ask for the token in chat. Re-run npm whoami, then publish.
Do not wait on .github/workflows/npm-publish.yml — its NPM_TOKEN secret
has failed every tag since v13.26.1 (E404 ... PUT https://registry.npmjs.org/claude-mem).
The publish rebuild rewrites plugin/scripts/*.cjs with minifier-name churn
only; discard it with the worktree (git worktree remove --force).
- Post-publish verification and notification: After publishing, verify
both the exact version and the latest dist-tag:
npm view [email protected] version
npm view claude-mem version
If the publish build touched tracked artifacts, run npm run build-and-sync,
review the result, and commit/push any legitimate changes. Then run the
Discord notification from ~/Scripts/claude-mem/, where the .env with
webhook details lives:
cd ~/Scripts/claude-mem/ && npm run discord:notify vX.Y.Z
Do this only after npm verification, and even when the release worktree does
not have a local .env.
- Finalize:
git status— working tree must be clean and everything must
be pushed.
Checklist
- [ ] All thirteen version files (twelve JSON manifests and the README badge) have matching versions
- [ ]
git grepfor old version returns zero hits - [ ]
npm run build-and-syncsucceeded - [ ] Git tag created and pushed
- [ ] GitHub release created with notes
- [ ]
CHANGELOG.mdupdated and pushed - [ ] Pre-publish audit passed
- [ ]
npm whoamisucceeded and the agent rannpm publish --access public - [ ] Exact npm version and
latestboth verified after publishing - [ ] Discord notification run from
~/Scripts/claude-mem/only after npm verification - [ ]
git statusshows clean tree
质量与来源
- 所属仓库
- thedotmack/claude-mem
- 仓库星标
- 10.0 万
- 最近更新
- 今天
- 采集时间
- 今天
- commit
- 356b7c08f64c
- 内容指纹
- sha256:3abadc2958f43c8
- 文件路径
- plugin/skills/version-bump/SKILL.md