name: finish-hotfix allowed-tools: Bash(git:*), Read, Write description: 当用户请求“完成热修复”、“合并热修复分支”、“完成热补丁”、“git flow hotfix finish”,或想要完成热修复并将其合并到main和develop分支时使用此技能。 model: haiku argument-hint: [version] user-invocable: true
操作前检查
验证工作树是否干净,并且当前分支匹配 hotfix/*,参照 ${CLAUDE_PLUGIN_ROOT}/references/invariants.md。
阶段1:识别版本
目标:从当前分支或参数确定热修复版本。
操作:
- 如果提供了
$ARGUMENTS,将其用作版本(去除’v’前缀如果存在) - 否则,从当前分支提取:
git branch --show-current(去除hotfix/前缀) - 存储干净的版本,不带’v’前缀(例如,“1.0.1”)
阶段2:完成前检查
目标:在完成前运行测试。
操作:
- 识别测试命令(检查package.json、Makefile等)
- 如果有可用的测试,运行测试;如果测试失败则退出
阶段3:更新变更日志
目标:从提交生成变更日志。
操作:
- 获取上一个标签:
git tag --sort=-v:refname | head -1 - 根据
${CLAUDE_PLUGIN_ROOT}/references/changelog-generation.md收集提交 - 根据
${CLAUDE_PLUGIN_ROOT}/examples/changelog.md更新 CHANGELOG.md - 提交:
chore: update changelog for v$VERSION带有Co-Authored-By脚注
阶段4:完成热修复
目标:使用 git-flow-next CLI 完成热修复。
操作:
- 运行
git flow hotfix finish $VERSION --tagname "v$VERSION" -m "Release v$VERSION" - 验证当前分支:
git branch --show-current(应该在develop上) - 推送所有:
git push origin main develop --tags