用途:把变更内容与对接负责人整理进 CHANGELOG.md,并同步提升 package.json 中的版本号。触发场景包括要求编写 changelog、整理变更历史、撰写发布说明或“升版本同时更新 changelog”。
主要流程:先摸清现状,用 grep -m 1 '"version"' package.json 查看当前版本,用 git tag --sort=-v:refname | head -1 取最近标签并配合 git log 查看其后的提交(无标签则看全部或最近提交),再查看现有 CHANGELOG.md 头部。随后向用户确认版本类型:patch 对应 X.Y.Z→X.Y.(Z+1)(修 bug、小改动)、minor 对应 X.(Y+1).0(向后兼容的新功能)、major 对应 (X+1).0.0(不兼容的大改动)。接着分析提交日志并按约定式提交分类,各带图标:feat ✨、fix 🐛、refactor ♻️、docs 📝、style 💄、test ✅、chore/build/ci 🔧。用 git log 的 %an 提取提交作者,作为负责人标注。
写作与更新:在 CHANGELOG.md 顶部新增版本区块,格式为 ## [X.Y.Z] - YYYY-MM-DD,按分类列出条目,每条末尾以 — @负责人 标注,无变更的分类省略,日期用当天日期,新内容插入顶部而非覆盖已有内容。文件不存在或为空时,用 Keep a Changelog 风格的头部开始。之后用编辑工具把 package.json 的 version 字段改为新版本,单仓库中只改对应包。最后用 git diff --stat 和 head -30 CHANGELOG.md 展示结果。
注意:修改 package.json 前必须经用户确认;提交作者与实际负责人可能不同,需向用户核实;负责人默认取 Git 提交作者但可由用户修改。资料未提供具体依赖或安装方式。