完成发布Skill finish-release

此技能用于在Git流程中自动化完成软件发布。它通过识别版本、运行测试、更新变更日志、使用git-flow-next CLI完成发布并合并到main和develop分支,最后创建GitHub发布,实现发布流程的标准化和高效管理。关键词:Git发布、完成发布、合并分支、更新日志、自动化发布、DevOps、软件发布流程、版本控制。

DevOps 0 次安装 0 次浏览 更新于 3/16/2026

name: 完成发布 allowed-tools: Bash(git:), Bash(gh:), Read, Write description: 当用户要求“完成发布”、“合并发布分支”、“完成发布”、“git flow release finish”或希望最终化发布并将其合并到main和develop分支并打标签时,应使用此技能。 model: haiku argument-hint: [版本] user-invocable: true

前置操作检查

验证工作树干净,并且当前分支匹配release/*,依据${CLAUDE_PLUGIN_ROOT}/references/invariants.md

阶段1:识别版本

目标:从当前分支或参数确定发布版本。

操作

  1. 如果提供了$ARGUMENTS,则将其用作版本(去除’v’前缀,如果存在)
  2. 否则,从当前分支提取:git branch --show-current(去除release/前缀)
  3. 存储干净的版本,不带’v’前缀(例如,“1.0.0”)

阶段2:完成前检查

目标:在完成前运行测试。

操作

  1. 识别测试命令(检查package.json、Makefile等)
  2. 运行测试(如果可用);如果测试失败则退出

阶段3:更新变更日志

目标:从提交生成变更日志。

操作

  1. 获取上一个标签:git tag --sort=-v:refname | head -1
  2. 收集提交,依据${CLAUDE_PLUGIN_ROOT}/references/changelog-generation.md
  3. 更新CHANGELOG.md,依据${CLAUDE_PLUGIN_ROOT}/examples/changelog.md
  4. 提交:chore: update changelog for v$VERSION,带有Co-Authored-By页脚

阶段4:完成发布

目标:使用git-flow-next CLI完成发布。

操作

  1. 运行git flow release finish $VERSION --tagname "v$VERSION" -m "Release v$VERSION"
  2. 验证当前分支:git branch --show-current(应该切换到develop)
  3. 推送所有:git push origin main develop --tags

阶段5:GitHub发布

目标:从现有标签创建GitHub发布。

操作

  1. 从CHANGELOG.md提取此版本的变更日志
  2. 运行gh release create "v$VERSION" --title "v$VERSION" --notes "<changelog>" --verify-tag