SuperAPI AI 工具集

changelog management

通用与其它

查看项目

更新于 10-16 01:50

技能介绍

用途:为项目维护 CHANGELOG.md,按 git 标签与版本号组织变更条目,并处理提交归类与合并。

主要能力:提供 PowerShell 脚本从上次标签以来的提交生成草稿,支持仅预览、输出到文件或直接应用到 docs/CHANGELOG.md;支持指定 -FromTag、-Version 与 -Apply。脚本按 ## vX.Y.Z 插入或在 ## Unreleased 之后插入,已存在同版本段则替换。

版本分组策略:检查 git tag -l 确定最后发布标签;两个标签之间只保留一个版本标题,其后所有提交合并到下一个次要版本;即使标签或 Directory.Build.props 未显式体现,也要按次要版本拆分;补丁版本合并到下一个重要次要版本;发布后修复归入下一个次要版本。

提交处理:可尊重用户指定的提交归属版本,但需先核对哈希与主题;外部贡献者的 PR 需标注编号与用户名,格式为 (#PR_NUMBER, @username);维护者合并提交通常不加归属,除非包含未被其他提交覆盖的独特工作。

分类与条目合并:按 Feature、Fix、Refactor、Build、Core、Infrastructure 分类;合并同一组件、同一目的的提交,保留全部短哈希,目标减少 30-50% 行数。不同组件、有外部归属或重要独立功能不合并。格式遵循 Keep a Changelog 与语义化版本。

使用方式:脚本路径为 .ai/skills/update-changelog/scripts/update-changelog.ps1。常用命令:预览为 powershell -NoProfile -ExecutionPolicy Bypass -File .ai/skills/update-changelog/scripts/update-changelog.ps1;生成草稿并保存为 powershell -NoProfile -ExecutionPolicy Bypass -File .ai/skills/update-changelog/scripts/update-changelog.ps1 -FromTag v0.18.9 -Version 0.19.0 -OutputPath build/changelog-draft.md;直接应用为同上参数再加 -Apply。工作流包括:识别最后标签、获取自标签以来的提交、读取 Directory.Build.props 中的当前版本、合并版本标题、分类提交、合并相关条目、格式化并核验。

限制:-Version 默认取根 Directory.Build.props,-FromTag 默认取 git describe --tags --abbrev=0;版本合并质量与贡献者归属仍需人工复核。其适用平台、依赖环境及其他未提及信息暂未提供。