SuperAPI AI 工具集

version-bumper

部署与运维

查看项目

更新于 10-23 18:43

技能介绍

用途

Version Bumper 用于自动管理 Claude Code 插件的语义化版本更新,确保 plugin.json、marketplace 目录以及 git 标签之间的版本一致性,并针对 claude-code-plugins 仓库的工作流进行了优化。

触发关键词

当用户提到以下内容时会被激活:

  • “bump version” 或 “update version”
  • “release” 或 “new release”
  • “major version”“minor version”“patch version”
  • “increment version”
  • “version update”

语义化版本规则

格式为 MAJOR.MINOR.PATCH(例如 2.1.3):

  • MAJOR(2.x.x):破坏性变更、不兼容的 API 变更
  • MINOR(x.1.x):新增功能、向后兼容
  • PATCH(x.x.3):缺陷修复、向后兼容

示例:

  • 1.0.0 → 1.0.1(缺陷修复)
  • 1.0.0 → 1.1.0(新增功能)
  • 1.0.0 → 2.0.0(破坏性变更)

版本递增流程

激活后执行以下步骤:

  1. 识别当前版本:读取 plugin.json 中的 version 字段。
  2. 确定递增类型:根据用户请求(major/minor/patch)、根据变更建议,或询问用户。
  3. 计算新版本:例如补丁递增 1.2.3 → 1.2.4。
  4. 更新文件:更新 .claude-plugin/plugin.json、.claude-plugin/marketplace.extended.json,并同步到 marketplace.json。
  5. 校验一致性:确认所有文件版本相同、无其他插件使用该版本、符合语义化版本格式。
  6. 创建 Git 标签(可选):git tag -a "v$new_version" -m "Release v$new_version"。

更新位置

  1. 插件 JSON:.claude-plugin/plugin.json 中的 version 字段。
  2. Marketplace Extended:.claude-plugin/marketplace.extended.json 中对应插件的 version 字段。
  3. 同步 CLI 目录:运行 npm run sync-marketplace 重新生成 marketplace.json。

递增类型

补丁递增(缺陷修复)

适用场景:缺陷修复、文档更新、小幅改进、无新功能。示例:1.2.3 → 1.2.4。

次版本递增(新功能)

适用场景:新增功能、新增命令/代理/技能、向后兼容的变更、功能增强。示例:1.2.3 → 1.3.0。

主版本递增(破坏性变更)

适用场景:破坏性 API 变更、不兼容更新、重大重构、移除功能。示例:1.2.3 → 2.0.0。

校验检查

递增前:

  • 当前版本是有效的语义化版本
  • 新版本高于当前版本
  • 没有其他插件使用新版本
  • 所有文件当前版本一致
  • Git 工作目录干净(可选)

递增后:

  • plugin.json 已更新
  • marketplace.extended.json 已更新
  • marketplace.json 已同步
  • 所有版本一致
  • CHANGELOG.md 已更新(如存在)

变更日志管理

如果存在 CHANGELOG.md,会更新其内容,例如:

# Changelog

## [1.2.4] - 2025-10-16

### Fixed
- Bug fix description
- Another fix

## [1.2.3] - 2025-10-15
...

Git 集成

方式一:版本提交

git add .claude-plugin/plugin.json
git add .claude-plugin/marketplace.extended.json
git add .claude-plugin/marketplace.json
git add CHANGELOG.md  # if exists
git commit -m "chore: Bump plugin-name to v1.2.4"

方式二:版本标签

git tag -a "plugin-name-v1.2.4" -m "Release plugin-name v1.2.4"
# 或用于 monorepo
git tag -a "v1.2.4" -m "Release v1.2.4"
git push origin plugin-name-v1.2.4

多插件更新

针对仓库范围的版本递增:

jq '.metadata.version = "1.0.40"' .claude-plugin/marketplace.extended.json

for plugin in plugins/*/; do
  # Update plugin.json
  # Update marketplace entry
done

版本一致性检查

会验证插件版本与 marketplace 版本是否匹配:

plugin_v=$(jq -r '.version' plugins/category/plugin-name/.claude-plugin/plugin.json)
market_v=$(jq -r '.plugins[] | select(.name == "plugin-name") | .version' .claude-plugin/marketplace.extended.json)

if [ "$plugin_v" != "$market_v" ]; then
  echo "❌ Version mismatch!"
  echo "Plugin: $plugin_v"
  echo "Marketplace: $market_v"
fi

发布工作流

完整发布流程:

  1. 确定递增类型:审查自上一版本以来的变更,决定 patch/minor/major。
  2. 更新版本:递增 plugin.json、更新 marketplace 目录、同步 marketplace.json。
  3. 更新变更日志:添加发布说明、列出变更、包含日期。
  4. 提交变更:git add . && git commit -m "chore: Release v1.2.4"。
  5. 创建标签:git tag -a "v1.2.4" -m "Release v1.2.4"。
  6. 推送:git push origin main && git push origin v1.2.4。
  7. 校验:检查 GitHub release 是否创建、验证 marketplace 是否更新、测试插件安装。

输出格式

输出结构化的版本递增报告,包含:

  • 插件名、旧版本、新版本、递增类型
  • 已完成的更新列表
  • 一致性检查结果
  • 变更日志条目
  • 后续步骤(审查、提交、打标签、推送)

仓库特定功能

针对 claude-code-plugins 仓库:

  • 同时处理插件版本和 marketplace 版本
  • 更新 marketplace 元数据版本
  • 管理 README 中的插件数量
  • 同步两个目录文件
  • 创建正确的发布标签

示例

用户说:“Bump the security-scanner plugin to patch version”

自动执行:读取当前版本 1.2.3 → 计算补丁递增 1.2.4 → 更新 plugin.json → 更新 marketplace.extended.json → 同步 marketplace.json → 校验一致性 → 报告成功。

用户说:“Release version 2.0.0 of plugin-name”

自动执行:识别主版本(破坏性变更)→ 更新所有版本文件 → 更新 CHANGELOG.md 并添加主版本发布说明 → 创建 git 提交 → 创建 git 标签 v2.0.0 → 提供推送命令。

用户说:“Increment version for new feature”

自动执行:识别为次版本递增 → 计算新版本(1.2.3 → 1.3.0)→ 更新所有文件 → 添加变更日志条目 → 报告完成。

限制

资料未提供关于收费、价格、平台支持范围、性能指标或具体效果保证的信息。