SuperAPI AI 工具集

release-prep

智能体与模型

查看项目

更新于 10-15 20:14

技能介绍

用途:在发布前整理必须落地的 changelog 条目。由于 hive CLI 与 Hive Desktop 以同一版本发布,promotion 会为每个程序各写一条条目。该技能先编辑产品文案,再把分支、提交、推送和 pull request 交给仓库的发布工具处理。

参数:不接受参数、接受一个 bump 级别(patch、minor、major),或接受一个显式版本号(如 0.60.0)。无参数表示 minor。发布工具会按该级别提升所有 tag 和 live manifest 中的最新版本。拒绝 prerelease、v 前缀和多余参数。

主要步骤:先用 git rev-parse --show-toplevel 定位仓库根目录并切换过去,阅读 ../release-notes/SKILL.md 的产品文案规则和 docs/distribution.md 的发布契约。仓库命令 mise run changelog:pr 是分支、提交、推送和 pull request 的权威,不要用 pr-create-auto、手工建分支或另写提交。

校验起始状态:运行 git fetch origin main --tags --prune、git status --porcelain=v1 --untracked-files=all、git branch --show-current、git rev-parse HEAD、git rev-parse origin/main、gh auth status。要求处于 main、HEAD 等于 origin/main 且 GitHub 认证成功。不要为通过检查而 pull、reset、stash、切换分支或丢弃工作。

两种有效工作树状态:干净时运行 mise run changelog:promote,按级别加 -- --bump <level>,或按显式版本加 -- <version>;已 promotion 时,若唯一变更是 cmd/hive/releasenotes/changelog/ 和 cmd/desktop/releasenotes/changelog/ 下各有一个同版本的未跟踪 <version>.md,且其 unreleased/ 目录下有删除文件,则继续而不再 promotion。已 promotion 的树要求条目文件名与显式版本参数匹配,其他脏状态视为无关工作,应停止并报告。

整理条目:每个程序的条目单独整理,读者是该程序的用户。阅读 promoted 条目、HEAD 中已删除的源片段以及近期已提交条目以把握语气和结构。需要验证时阅读上次发布以来的提交历史,仅在历史无法确定用户可见行为时查看聚焦 diff。把每个 promoted 条目当作一次发布来编辑:写一句带引号的摘要,说明本次发布主要的用户可见成果;合并描述同一功能或界面的条目;移除本次发布前已回滚工作的说明;更新过时条目以描述将发布的行为;在 Added、Changed、Fixed 内按用户价值排序;删除空章节并保持剩余章节顺序;保留具体 UI 标签、快捷键、配置键和平台差异;不要提及实现名称、提交、issue、pull request 或 ADR;不要编造片段或仓库历史不支持的说法。空正文条目仍需摘要,用一句话说明该程序本次发布没有用户可见变更。编辑后重读每个完整条目,检查摘要覆盖正文、近似重复条目已去除、每句话仍描述当前产品。

验证并创建 pull request:运行 go test ./cmd/hive/releasenotes/... ./cmd/desktop/releasenotes/... 和 mise run changelog:pr -- --dry-run,再运行 git diff --check,最后重读每个完整条目和已删除片段列表。修复所有失败后运行 mise run changelog:pr,它会创建固定的 release-notes 分支、仅提交 promoted 条目和已删除片段、推送分支并打开 pull request,git hooks 会运行仓库检查。不要用手工 git 或 gh 命令重复这些步骤。若命令提示已提交并推送但 gh pr create 失败,promotion 已安全保存在 release-notes 分支,按错误中的恢复命令操作,不要再次 promotion 或提交。其他失败应停止,不要重写历史或切换分支来掩盖问题。最后报告版本、摘要、分支、提交、pull request URL 和运行的测试。

限制:资料未提供该技能的收费、价格、支持平台或效果信息。