用途:根据 git 提交历史生成并更新 CHANGELOG.md,产出符合 Keep a Changelog 格式的变更条目。
主要能力:按工作流依次执行检测提交范围、收集提交、补充 PR 信息、分类、格式化与更新文件。可用命令查找最新版本标签(git tag --sort=-v:refname | head -20)、收集提交(git log v1.0.0..HEAD --format="%H|%s|%an|%aI" --no-merges)、获取已合并 PR(gh pr list --state merged --base main --json number,title,labels,mergedAt --limit 100)。分类依据 Conventional Commits 前缀与 PR 标签映射到 Added、Changed、Deprecated、Removed、Fixed、Security,前缀优先于标签,无前缀无标签归为 Changed,并跳过 chore:、ci:、docs: 及 Merge 类提交。输出时每项逻辑变更为一条,带粗体 scope、PR 与 issue 链接,使用祈使语气,类别按固定顺序排列。
使用方式:支持默认“更新变更日志”以收集上次标签后的全部变更;用“Release v2.1.0”把未发布条目转为带版本与日期的段落;用“Changelog for v1.0.0..v2.0.0”指定范围;无 CHANGELOG.md 时可从零创建,并维护文件底部的对比链接。
限制与边界:需在 git 仓库中使用;PR 补充信息依赖 GitHub 环境与 gh 命令,非 GitHub 仓库暂未提供替代方案。对 squash 合并、monorepo(可用 -- path 过滤)、无 Conventional Commits 的仓库、变基或修订历史(可用 --first-parent)、同一提交多标签等情形有相应处理规则。具体安装方式、收费与平台支持情况暂未提供。