关于 claude-code-plugin-release
用于 claude-code-plugin 的发布工作流技能,指导版本更新、构建验证、提交、打标签、移交发布及后续处理。
主要功能
- 01判断版本变更类型
- 02更新版本清单
- 03构建并同步产物
- 04提交、打标签并推送
- 05移交 npm 发布
- 06创建发布并更新变更日志
适用场景
- 01准备插件版本发布
- 02验证各清单中的版本一致
- 03完成需要维护者操作的发布步骤
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ thedotmack/ claude-mem --skill claude-code-plugin-release安装后在 Claude Code 中输入/claude-code-plugin-release确认已加载。
附带文件scripts/generate_changelog.js
详细介绍
版本升级与发布工作流
重要: 开始前,请规划并撰写详细的发布说明。
关键: 提交所有内容(包括构建产物)。此工作流结束时,不得有任何未提交或未推送的内容。最后运行 git status 进行确认。
准备工作
-
分析:判断此次变更属于 PATCH(错误修复)、MINOR(功能)还是 MAJOR(破坏性变更)。
-
环境:通过
git remote -v确定仓库所有者和名称。 -
路径 — 每个包含版本字符串的文件:
package.json— npm/npx 发布的版本(npx [email protected]从此处解析版本)plugin/package.json— 打包的插件运行时依赖.claude-plugin/marketplace.json—plugins[0].version中的版本.claude-plugin/plugin.json— 顶层 Claude 插件清单plugin/.claude-plugin/plugin.json— 打包的 Claude 插件清单.codex-plugin/plugin.json— Codex 插件清单plugin/.codex-plugin/plugin.json— 打包的 Codex 插件清单openclaw/openclaw.plugin.json— OpenClaw 插件清单
编辑前确认覆盖范围:
git grep -l "\"version\": \"<OLD>\""应列出全部八个文件。如果自本文档上次更新后新增了清单,请更新此列表。
工作流
- 更新:更新上述每个路径中的版本字符串。不要修改
CHANGELOG.md— 它会重新生成。 - 验证:运行
git grep -n "\"version\": \"<NEW>\"",确认八个文件中的版本均已更新。运行git grep -n "\"version\": \"<OLD>\"",结果应为空。 - 构建并同步:运行
npm run build-and-sync,以重新生成构建产物、同步本地市场副本、重启工作进程并清空队列。发布验证时不要使用普通的npm run build,因为它可能导致本地市场或工作进程未同步。 - 提交:
git add -A && git commit -m "chore: bump version to X.Y.Z"。 - 打标签:
git tag -a vX.Y.Z -m "Version X.Y.Z"。 - 推送:
git push origin main && git push origin vX.Y.Z。 - 发布到 npm — 移交人工处理。 人类维护者提出了 npm 安全问题,因此现在发布需要他们才能提供的凭据或 2FA。Agent 不得自行运行
npm publish(或np/npm run release:*,这些命令也会执行发布)。现在将 npm 发布移交给人工处理: 停止操作,并告知维护者版本已提交、打标签并推送,且他们必须发布到 npm,才能使npx [email protected]正常解析。提供以下命令:
等待维护者确认已发布,然后验证发布是否成功:npm publish # 由 HUMAN 运行 — prepublishOnly 脚本会重新构建软件包
如果发布构建修改了本地构建产物,之后再次运行npm view [email protected] version # 应输出 X.Y.Znpm run build-and-sync。 - GitHub 发布:
gh release create vX.Y.Z --title "vX.Y.Z" --notes "RELEASE_NOTES"。 - 变更日志:通过项目的变更日志脚本重新生成:
(运行npm run changelog:generatenode scripts/generate-changelog.js,该脚本会从 GitHub API 获取发布记录并重写CHANGELOG.md。) - 同步变更日志:提交并推送更新后的
CHANGELOG.md。 - 通知:从
~/Scripts/claude-mem/运行 Discord 通知命令;其中存有包含 Discord webhook 详情的.env:
即使发布工作区中没有本地cd ~/Scripts/claude-mem/ && npm run discord:notify vX.Y.Z.env,也要执行此操作。 - 完成:运行
git status— 工作区必须干净。
检查清单
- 八个配置文件的版本号均一致
- 使用
git grep搜索旧版本号,结果为零 -
npm run build-and-sync已成功运行 - Git 标签已创建并推送
- 已将 NPM 发布交由人工处理(Agent 不会运行
npm publish——人工提出了安全方面的顾虑);人工完成发布后,npm view [email protected] version会确认发布成功(因此npx [email protected]可以解析) - 已创建附有说明的 GitHub 发布版本
-
CHANGELOG.md已更新并推送 - 已从
~/Scripts/claude-mem/发送 Discord 通知 -
git status显示工作区干净
评论
支持 Markdown