用途:为开源文档站点编写新的变更日志条目。它通过审阅上次已记录条目之后的提交、对变更分类,并按 Keep a Changelog 格式追加条目来完成工作。
主要能力与流程:
- 查找变更日志文件,常见位置包括 CHANGELOG.md、changelog.md、docs/changelog.md、docs/CHANGELOG.md、src/pages/changelog.md、src/content/changelog.mdx、content/changelog.md;标准位置未找到时可用 **/changelog.{md,mdx} 和 **/CHANGELOG.{md,mdx} 等 glob 模式搜索。若有多个候选,需询问用户使用哪一个。
- 解析最后一条条目,提取最近版本头 ## [X.Y.Z] - YYYY-MM-DD 中的版本号与日期;若变更日志为空或只有 [Unreleased] 头,则用仓库最早的标签或首次提交作为边界。
- 收集提交,运行 git log --oneline --no-merges --after="YYYY-MM-DD" HEAD,并用 git tag -l --sort=-creatordate | head -5 检查标签;若存在比上次变更日志更新的标签,则用它作为新版本号,否则询问用户版本号。
- 按 Added、Changed、Deprecated、Removed、Fixed、Security 分类;提交信息含糊时阅读 diff,合并相关提交为一条,跳过纯内部提交(CI 配置、lint、仅格式化)以及合并与版本号提升提交。
- 在 # Changelog 头下方(或 ## [Unreleased] 下方)插入新条目,省略无内容的分类段。每条一句话,以过去式动词开头,面向文档站点的最终用户;可链接相关页面或 PR,保持可扫读,沿用项目既有语气,日期默认用当天。
- 验证条目按时间倒序排列,必要时更新文件底部的版本链接引用,通读最终文件确保格式整洁,并在任务完成前把新条目交给用户审阅。
限制:官方页面未提供收费、价格、平台支持等更多信息;技能的具体安装命令与运行环境在现有资料中暂未提供。