用途:按 Keep a Changelog 格式维护项目变更日志,包括新建日志、分类记录变更、管理 [Unreleased] 区段,以及在发布时把条目提升为带版本号的区段;检测到 R 约定时适配 NEWS.md。
主要能力:定位或创建变更日志;解析现有结构;将变更归入 Added、Changed、Deprecated、Removed、Fixed、Security 六类;向 [Unreleased] 添加条目;发布时迁移到版本区段并更新对比链接;校验格式(版本倒序、ISO 8601 日期、无重复版本区段等)。
使用方式:输入项目根目录与变更描述(或 git log),可选目标版本号、发布日期、格式偏好。先查找常见文件名:ls -1 CHANGELOG.md CHANGELOG NEWS.md CHANGES.md HISTORY.md 2>/dev/null;无则创建带标准头与 [Unreleased] 的文件。条目以祈使动词开头,保持一行,必要时引用 issue 或 CVE。发布时新建 ## [1.3.0] - 2026-02-17 区段并清空 [Unreleased]。可用 grep "^## [" CHANGELOG.md | sort | uniq -d 检查重复版本区段。
适用场景:新项目建立变更日志、完成功能或修复后追加条目、发布前整理、发布前完整性检查、将自由格式日志转换为 Keep a Changelog 格式。
限制:不覆盖非标准格式的现有日志,仅适配其风格;结构异常时先标记而不擅自重构;版本号冲突需借助 apply-semantic-versioning 判断;不记录纯内部重构等对用户无意义的变更。具体收费、平台支持等信息暂未提供。