用途:该技能引导完成 ButterCut 的完整发布流程,包括版本号提升、变更日志、Git 操作和创建 GitHub Release,适用于发布新版本或在合并需要发布的功能与修复之后。
主要能力与流程:先运行测试,命令为 bundle exec rspec,测试失败必须停止并请用户修复;随后检查当前状态,读取 lib/buttercut/version.rb、执行 git status(必须干净)和 git tag -l;再按语义化版本确定新版本(MAJOR 破坏性变更、MINOR 向后兼容的新功能、PATCH 向后兼容的缺陷修复);更新版本文件后运行 bundle install 使 Gemfile.lock 反映新版本;读取上次标签以来的提交并整理变更日志,CHANGELOG.md 面向视频剪辑师而非工程师,用平实语言描述用户可感知的变化,按 New & Improved 与 Fixed 分组;然后提交版本提升,命令为 git add lib/buttercut/version.rb Gemfile.lock CHANGELOG.md 与 git commit -m "Bump version to 0.8.0";接着创建并推送标签 git tag v0.8.0、git push origin main、git push origin v0.8.0;最后用 gh release create v0.8.0 --title "v0.8.0" --notes "[Release notes from changelog]" 创建 GitHub Release,若无 gh CLI 则按指引在 https://github.com/barefootford/buttercut/releases/new 手动创建,并验证发布结果。
限制与注意:始终先跑测试,测试失败不得发布;发布前 Git 必须干净;必须先推送标签再创建 GitHub Release;严格遵循语义化版本;每次发布都要有变更日志。ButterCut 仅通过 git clone 分发,RubyGems 上的 buttercut gem 自 0.7.1 起已弃用且不再发布,不要执行 gem build 或 gem push。更新已有安装可使用 update-buttercut 技能,或执行 cd /path/to/buttercut && git pull。常见问题包括测试失败、Git 不干净、标签已存在、未安装 GitHub CLI。