SuperAPI AI 工具集

release-notes

通用与其它

查看项目

更新于 10-15 22:39

技能介绍

用途:在发布前生成或更新 CHANGELOG.md 的 [Unreleased] 段落,从上次发布标签以来的已合并 PR 中整理变更,也可用于预览下个版本将包含的内容。

主要能力:检测最近标签(无标签时以初始提交为起点);获取标签日期;用 gh 拉取已合并 PR 的编号、标题、标签与合并时间;按标题前缀和标签归类到 Keep a Changelog 类别(Added、Fixed、Security、Changed、Deprecated、Removed,未匹配默认 Changed);去掉 conventional commit 前缀并首字母大写;找出未关联 PR 的提交放入 Ungrouped commits;按 Keep a Changelog 格式输出并附 PR 链接,仅保留有内容的段落。

使用方式:依次执行 git describe --tags --abbrev=0 检测标签,git log -1 --format=%aI 获取标签日期,gh pr list --state merged --base main --search "merged:>$TAG_DATE" --json number,title,labels,mergedAt 收集 PR,git log "$LAST_TAG"..HEAD --oneline --no-merges 查找未分组提交。若 CHANGELOG.md 已有 [Unreleased] 内容,会询问是重新生成还是保留并补充缺失 PR;文件不存在时按标准头部创建。写入后展示完整段落供审阅,用户可要求修改或确认,未确认前不继续。

适用场景:jackin 项目发布前的变更日志整理与预览。

限制:依赖 git 与 gh 环境及 GitHub 仓库数据;分类规则基于标题前缀和标签,未匹配项默认归入 Changed;需用户确认后才写入。其他项目是否适用暂未提供。