Dev.to AI 🤖 Ai 👁 0

发版前先别急着打 tag:/release 的 5 条硬规则

(整理自完整版 commands/release.md 实测文本与 /release 公开 Gist,非本次新实测;/release 不在 Lite 免费版、只在完整版。) 准备打 tag 发版,心里没底有没有漏东西;发版后总被问“这个版本改了啥”,才想起 changelog 还没写——最容易踩的坑是把发版当成打个 tag 就算完。/release 只做一件事:发版前把清单一项项过完,漏掉的检查不会消失,只会在上线后以用户提问的方式找

(整理自完整版 commands/release.md 实测文本与 /release 公开 Gist,非本次新实测;/release 不在 Lite 免费版、只在完整版。)

准备打 tag 发版,心里没底有没有漏东西;发版后总被问“这个版本改了啥”,才想起 changelog 还没写——最容易踩的坑是把发版当成打个 tag 就算完。/release 只做一件事:发版前把清单一项项过完,漏掉的检查不会消失,只会在上线后以用户提问的方式找回来。

调用方式:/release <版本号,如 v1.2.0,可附:major/minor/patch 变更性质>。

5 条:

  1. 版本号先按 SemVer 定对,不兼容改动必须升 major。定版本先问一句“这次有没有不兼容改动”:有 breaking change 升 major,只修 bug 升 patch,拿不准就先问、别先猜。用户是按版本号决定要不要升的,major 和 patch 的升级成本根本不是一回事。
  2. changelog 从上个 tag 到现在的 commits 整理,按新增/修复/变更/废弃分类。changelog 不是发完再补的附件,是发版的一部分。每条一句话、说人话——把 fix: xxx 翻译成用户能懂的描述,而不是把原始提交信息原样贴过去。
  3. 检查清单逐项过,是/否/不适用三选一,每项都要有依据。至少过这六项:全部测试通过(贴命令与真实结果)、文档已更新(README/CHANGELOG 与代码一致)、无调试代码残留(grep 查 TODO/FIXME/console.log/调试 print,命中文档正文的说明不算)、敏感信息无泄漏(无硬编码密钥、测试账号)、依赖无高危漏洞(有 lock 文件就检查一遍)、回滚方案明确(一句话:出问题怎么回,比如“删 tag 重打”)。纯文档仓测试不适用时标 N/A 并说明原因,别硬填“是”。
  4. 有一项不过就叫停,诚实填“否”比撒谎的清单安全。检查清单任何一项为“否”,结论就是“暂缓发版”,并说清先修什么。最危险的不是清单上有“否”,而是测试根本没跑却想全填“是”——撒谎的清单比没有清单更危险,因为它让所有人都以为已经检查过了。
  5. 发版步骤只列不执行,打 tag 推 tag 永远由你自己逐条确认。输出发版步骤时按顺序列出要执行的命令(打 tag、推 tag、发 release notes),但命令只列不执行,由用户逐条确认后再动手。

输出长什么样(取自 release.md 的格式):版本(v1.0.0,patch:修 bug,无 breaking change)、Changelog(新增/修复/变更/废弃分类)、检查清单(测试/文档/调试残留/密钥/依赖/回滚逐项)、结论(暂缓发版/可以发版)、发版步骤(待你确认执行,只列不执行)。

什么时候不要用:一天发 5 次的项目——这个命令是给“正式发版”用的,日常迭代别走这套;检查清单想全填“是”但测试根本没跑——诚实填“否”;发版步骤想让它自动执行——打 tag 推 tag 永远你自己来;还没写 changelog 就想发——changelog 是发版的一部分,不是发完再补的。

免费先试:Lite 免费版含 /review、/commit、/test 三条命令,双兼容 Claude Code 与 Codex CLI,见 Lite 仓。
完整版含 /release 在内的 10 条命令,早鸟 ¥9.90(限前 100 份)/正式 ¥19.90,付款后 12 小时内私信交付,7 天无理由退款。国内账号风控提示:优先用 Codex。

链接(文末三链接):

📰 Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.