mcpField
R
release

release

github.com/barefootford云与 DevOps61451 次安装5 周前更新
代码仓库

关于 release

指导维护者准备并发布 ButterCut 版本的 Skill,涵盖测试、版本更新、变更日志、Git 标签和 GitHub Release;不包含发布到 RubyGems。

主要功能

  1. 01发布前运行测试
  2. 02更新项目版本号
  3. 03编写面向用户的变更日志
  4. 04创建并推送 Git 标签
  5. 05发布 GitHub Release

适用场景

  1. 01发布已合并的功能或修复
  2. 02准备语义化版本发布
  3. 03验证已发布的版本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/barefootford/buttercut --skill release

安装后在 Claude Code 中输入/release确认已加载。

详细介绍

技能:发布 ButterCut

指导完成整个发布流程:提升版本号、更新变更日志、执行 Git 操作,以及创建 GitHub Release。

ButterCut 仅通过 git clone 分发。RubyGems 上的 buttercut gem 已于 0.7.1 弃用,不再发布。请勿在此技能中运行 gem build 或 gem push,这些步骤已移除。

使用时机

  • 发布 ButterCut 的新版本
  • 合并了应当发布的功能或修复后

工作流

1. 先运行测试

重要:发布前务必运行测试。测试失败时,绝不发布。

bundle exec rspec

如果任何测试失败,请立即停止,并要求用户先修复问题,再继续发布。

2. 检查当前状态
# Read current version
cat lib/buttercut/version.rb

# Check git status (must be clean)
git status

# Check existing tags
git tag -l

如果 git status 不干净,请停止,并要求用户先提交或暂存更改,再继续。

3. 确定新版本号

询问用户要发布哪种版本,遵循 语义化版本规范:

  • MAJOR(1.0.0):有不兼容的更改
  • MINOR(0.2.0):新增功能,向后兼容
  • PATCH(0.1.1):错误修复,向后兼容

根据当前版本和发布类型计算新版本号。

4. 更新版本文件

在 lib/buttercut/version.rb 中编辑新版本号:

class ButterCut
  VERSION = "0.8.0"  # Update this
end
5. 更新 Gemfile.lock

运行 bundle install,使 Gemfile.lock 反映新版本:

bundle install

继续之前,确认 Gemfile.lock 中的版本号已更新。

6. 收集变更日志内容

阅读上一个标签之后的提交(git log --oneline v<last>..HEAD),并按对用户的意义进行归类。请用户补充任何遗漏:

  • 此版本有哪些更改?
  • 有哪些新功能?
  • 有哪些错误修复?
  • 有哪些不兼容的更改?
7. 更新 CHANGELOG.md

变更日志面向客户。读者是视频剪辑师,而不是工程师。每条内容都要写出用户获得的益处,而不是描述代码改了什么。

文风规则:

  • 面向客户,不要推销。 描述用户现在可以做什么,或什么问题得到修复。不要使用夸张词语(“快如闪电”“改变游戏规则”“大幅提升”)。
  • 直截了当。 使用通俗语言,直接说明内容。
  • 遵循 AP Style。 使用句首字母大写格式、使用系列逗号、小于 10 的数字拼写出来等。
  • 尽可能使用主动语态。 使用“ButterCut 打开你的时间线”,而不是“时间线被打开”。
  • 不要使用 em dash 或 en dash。 改用句号、逗号或括号。
  • 使用剪辑师的词汇。 像剪辑师一样交流(剪切、序列、时间线、素材、素材库),而不是开发者。省略内部细节、代码符号、文件路径和类名。如果更改不会对用户产生可见影响(重构、测试覆盖率、仓库清理),则不要写入。

在 ## [Unreleased] 下方新增条目,按 ### New & Improved 和 ### Fixed 分类(仅在用户可见行为发生更改时添加 ### Changed):

## [0.8.0] - 2026-MM-DD

One or two plain sentences on what this release means for the user.

### New & Improved
- **Short benefit headline.** A sentence on what the user can now do.

### Fixed
- **Short benefit headline.** What used to go wrong, and that it now works.
8. 提交版本号更改
git add lib/buttercut/version.rb Gemfile.lock CHANGELOG.md
git commit -m "Bump version to 0.8.0"
9. 创建并推送 Git 标签
git tag v0.8.0
git push origin main
git push origin v0.8.0
10. 创建 GitHub Release

使用 GitHub CLI:

gh release create v0.8.0 \
  --title "v0.8.0" \
  --notes "[Release notes from changelog]"

如果没有 gh CLI:

指导用户手动创建 Release:

  1. 前往 https://github.com/barefootford/buttercut/releases/new
  2. 选择标签:v0.8.0
  3. 设置标题:v0.8.0
  4. 在说明中粘贴变更日志内容
  5. 点击“Publish release”
11. 验证发布

检查以下内容是否正常:

12. 返回成功响应

提供摘要:

✓ ButterCut 0.8.0 released successfully

  Version: 0.8.0
  Git tag: v0.8.0
  GitHub Release: https://github.com/barefootford/buttercut/releases/tag/v0.8.0

Update existing installs with the `update-buttercut` skill, or:
  cd /path/to/buttercut && git pull

关键原则

务必先运行测试 —— 测试失败时,绝不发布。 Git 工作区必须干净 —— 发布前不得有未提交的更改。 先推送,再发布 —— 创建 GitHub Release 前,必须先推送标签。 遵循语义化版本规范 —— 严格遵循语义化版本号规则。 必须提供变更日志 —— 每次发布都要记录更改。 不要发布到 RubyGems —— 此 gem 已于 0.7.1 弃用,且 gemspec 已从仓库移除。如果你准备运行 gem build 或 gem push,请停下来重新阅读此技能。

常见问题

**测试失败:**请先让用户修复测试,再继续。 **Git 工作区不干净:**请先让用户提交或暂存更改。 **标签已存在:**确认这不是重复发布。 **未安装 GitHub CLI:**提供手动发布说明。

评论

支持 Markdown