关于 release
用于当前仓库起草变更日志并在用户明确确认后执行发布的技能。它规定提交分类、版本更新、打标签、发布及日语汇报步骤。
主要功能
- 01起草分类后的 Unreleased 说明
- 02发布前请求用户确认
- 03更新版本、提交并创建标签
- 04发布 GitHub Release 并推送更改
适用场景
- 01根据标签后的更改准备发布说明
- 02获批后发布补丁版本
- 03汇报发布文件、标签和网址
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ yoshiko-pg/ difit --skill release安装后在 Claude Code 中输入/release确认已加载。
详细介绍
发布工作流
按照此工作流处理当前仓库。
准备变更日志草稿
- 运行
./scripts/get-changes-since-tag.sh。 - 根据需要将变更分类到以下部分:
Added、Changed、Deprecated、Removed、Fixed、Security、Thanks。 - 遵循脚本输出规则:
- 使用脚本输出中的 GitHub 用户名。
- 从
Thanks中排除yoshiko-pg和renovate[bot]。 - 有 PR 编号时,请包含编号。
- 每个部分中,带 PR 编号的条目按 PR 编号升序排列;同一条目中的多个 PR 编号也按升序排列。
- 根据提交主题和正文进行分类。
- 将常规的仅依赖项更新(包括分组依赖项更新、包管理器升级和普通的单个依赖项升级)合并为一条
Changed条目,格式为- Update dependencies (#123 #124 #125);只有依赖项变更明确涉及常规维护之外的用户可见内容时,才单独列出。
- 将分类后的内容写入
CHANGELOG.md的## [Unreleased]下方。 - 用日语请用户确认。
明确确认后发布
- 确认后,对
CHANGELOG.md仅允许进行以下编辑:- 在
## [Unreleased]下方直接插入带有当天日期的新版本标题 - 将已记录的
Unreleased正文原样放在新标题下 - 将
## [Unreleased]留空 - 更新底部的
Unreleased和新版本比较链接
- 在
- 运行
npm version --no-git-tag-version patch。 - 将当前
Unreleased内容移至新的版本部分,并添加当天日期。 - 更新底部链接:
- 将
Unreleased比较链接更新为指向新版本标签。 - 添加新版本的比较链接。
- 将
- 使用英文提交消息
chore: release vX.Y.Z提交CHANGELOG.md和package.json。 - 创建标签
vX.Y.Z。 - 推送
main和标签:git push origin main --tags。 - 如果推送因非快进错误被拒绝:
- 运行
git pull --rebase origin main。 - 重试
git push origin main --tags。
- 运行
- 根据
CHANGELOG.md中新版本部分的文本编写发布说明。 - 在 origin 上创建 GitHub 发布:
gh release create vX.Y.Z --title "vX.Y.Z" --notes-file <notes-file>
向用户输出
- 用日语回复。
- 报告已更新的文件、创建的标签和 GitHub 发布 URL。
- 如果执行了恢复步骤(例如因非快进错误而进行变基),请予以说明。
评论
支持 Markdown