用途:从 git 历史生成变更日志,适用于撰写 changelog、生成发布说明、记录版本间变化或总结改动。默认输出 Keep a Changelog 格式。
主要流程:
- 确定范围:from/to 可为 tag、commit 或日期(默认 HEAD),并选定版本标签。可用 scripts/collect_commits.py --list-tags 建议基准 tag。
- 收集提交:python <skill-dir>/scripts/collect_commits.py --from <base> [--to <target>],输出 hash、日期、作者、主题。
- 过滤噪音:除非要求,排除合并、仅 CI、依赖升级(除非涉及 CVE 或破坏性变更)。
- 分类:Added 对应 feat:;Changed 对应 refactor:、perf:;Deprecated 对应 deprecate:;Removed 对应 remove:;Fixed 对应 fix:;Security 对应 fix(security):、sec:。无 Conventional Commits 时按主题措辞推断。
- 撰写并前置:格式如 ## [1.x.0] - YYYY-MM-DD,下分 ### Added、### Fixed 等,条目为简短描述加 #PR 或 hash。插入到 # Changelog 下方(缺失则创建),不修改已有条目。
输出格式:默认 Keep a Changelog;按需可输出 GitHub Release notes 或 Conventional Commits 摘要。
限制:资料未提供安装方式、依赖环境、收费与平台信息。