用途
bump-version 用于在插件源码仓库中同步更新版本号。它会将 package.json、.claude-plugin/plugin.json 和 .sd0x/install-state.json 中的版本字段更新为完全相同的版本字符串,避免各文件版本不一致。
主要能力
- 读取 package.json 与 .claude-plugin/plugin.json 中的当前版本,并检查 .sd0x/install-state.json 中的 plugin_version。
- 根据参数确定新版本:显式版本号直接使用;major 递增主版本(如 1.8.1 → 2.0.0);minor 递增次版本(如 1.8.1 → 1.9.0);patch 递增修订号(如 1.8.1 → 1.8.2);无参数时默认 patch。
- 使用 Edit 工具更新三个文件中的版本字段,确保完全一致。
- 更新 manifest 可防止插件源码仓库中 SessionStart 漂移哨兵在每次版本更新后误报警告。
- 提供 agentctl 模组的独立版本更新路径:仅当 mods/agentctl/.claude-plugin/plugin.json 存在时,按相同规则递增该模组自身版本,并运行 node .github/scripts/agentctl-version.js update 记录新版本与模组摘要。
使用方式
调用形式为 /bump-version agentctl [patch|minor|major|<version>] 时,仅更新 agentctl 模组,不读取或修改插件的三个文件,不触发插件发布。其他调用形式则更新插件,执行读取版本、确定新版本、更新文件、报告结果的流程。
工作流程:先选择目标(插件或 agentctl 模组),读取所有文件中的当前版本,确定新版本,更新所有文件为同一版本,最后报告结果。
报告以表格形式展示每个文件、字段、更新前与更新后的版本。
适用场景
适用于插件源码仓库中需要保持多处版本一致、避免版本漂移告警的场景,以及需要单独发布 agentctl 模组的场景。
限制
- 一次调用中不得同时更新插件和模组,二者分别发布;对 package.json 的意外改动会触发插件发布工作流。
- 当插件被更新且 node .github/scripts/agentctl-version.js check 报告模组也发生变化时,应提示用户并建议单独运行 /bump-version agentctl。
- 禁止在插件的三个文件中设置不同版本(agentctl 模组保留自己的版本)。
- 禁止修改版本清单中的其他字段;mods/agentctl/release.json 由 agentctl-version.js update 生成并仅由其写入。
- 若版本已经不同步,应在继续前警告用户。
- Claude Code 按版本缓存已安装插件,若模组变更未更新版本,已安装用户可能无法获取更新;CI 在锁记录前会失败。