SuperAPI AI 工具集

changelog-generator

编程与开发

查看项目

更新于 10-15 17:31

技能介绍

该技能用于把 git 提交整理成易读的 changelog 或发布说明,基于 Keep a Changelog 原则,强调 changelog 面向人而非机器,不应直接堆砌 git 日志,而要说明对终端用户有价值的差异。

适用场景:准备新版本的发布说明、分支完成后更新 changelog、编写周期性的产品更新、为客户记录变更。

工作流程:先定位 changelog 文件,可用 ls CHANGELOG.md changelog.md docs/CHANGELOG.md 2>/dev/null 查找;不存在则在仓库根目录创建 CHANGELOG.md。随后判定版本:禁止使用 [Unreleased],每条记录必须有版本号;禁止手动修改 package.json 版本,仅在确需时使用 bun scripts/version.ts patch。若当前分支版本已高于 main,则沿用当前版本并更新已有条目,不再重复 bump,因为一个 MR 对应一个版本;否则先 bump。获取提交时,用 git fetch origin main --quiet 后计算 git merge-base origin/main HEAD,再执行 git log --oneline $MERGE_BASE..HEAD --no-merges;若记录已合并版本,则改用合并边界。

还需检查是否有未记录的近期版本,分析提交时阅读实际代码差异而非仅看提交信息,过滤 chore、docs(除非面向用户)、test、refactor(除非影响体验)等提交,按 Added、Changed、Fixed、Removed、Security 归类,条目格式为 - 加粗标题:通俗描述,只写用户可感知的变化,不暴露文件名、函数名等实现细节,每条一行。更新时日期改为当天,若该版本已有条目则就地合并,不新建重复段落。

限制:资料未提供完整代码示例与全部参考文件内容;具体版本推进命令与 Digimon 代号清单仅按原文保留,未展开。