Changelog Sync After Ship
精选按需触发文档最多 3 轮
关于 Changelog Sync After Ship
该循环在一次发布完成后手动启动,用于让 CHANGELOG.md 与实际改动保持一致。每一轮先列出自上个标签以来的提交,再检查 [Unreleased] 是否覆盖了所有用户可见的变更,最多运行 3 轮。
主要功能
- 01以最近的标签为起点比对提交
- 02找不到标签时回退到最近 20 个提交
- 03用 git log -5 --oneline 做每轮核对
- 04最多 3 轮,手动触发
适用场景
- 01版本发布后补写更新日志
- 02合并一批功能后检查日志是否遗漏
- 03准备发布说明前核对变更范围
- 目标
- CHANGELOG.md 的 [Unreleased] 部分准确记录了本次发布的全部改动。
- 退出条件
- 更新日志已覆盖所有用户可见的变更时停止。
- 每轮之间运行
- git log -5 --oneline
启动提示词
在 Claude Code 中粘贴运行,Agent 会按下面的步骤循环执行,直到满足退出条件。
prompt.md
开始运行“Changelog Sync After Ship”循环。 目标:CHANGELOG.md 的 [Unreleased] 部分准确记录了本次发布的全部改动。 最大轮数:3。 第 1 步:列出标签以来的提交 — 运行提交对比命令,取得自上个标签(无标签时为 HEAD~20)至 HEAD 的提交列表,作为本次发布的改动范围。 `git log $(git describe --tags --abbrev=0 2>/dev/null || echo HEAD~20)..HEAD --oneline` 第 2 步:对照现有条目 — 逐条比较提交与 CHANGELOG.md 的 [Unreleased] 内容,找出缺失、过时或不准确的条目。 第 3 步:补写更新日志 — 只为用户可见的变更新增或修正条目,内部重构等改动不写入。 第 4 步:核对最近提交 — 用 git log -5 --oneline 检查最近的提交,确认没有新改动未被记录。若仍有遗漏则进入下一轮。 每轮之间运行:`git log -5 --oneline` 退出条件:更新日志已覆盖所有用户可见的变更时停止。
步骤
每一轮按顺序执行;未满足退出条件会进入下一轮,最多重复 3 轮。
01
列出标签以来的提交
运行提交对比命令,取得自上个标签(无标签时为 HEAD~20)至 HEAD 的提交列表,作为本次发布的改动范围。
$
git log $(git describe --tags --abbrev=0 2>/dev/null || echo HEAD~20)..HEAD --oneline02
对照现有条目
逐条比较提交与 CHANGELOG.md 的 [Unreleased] 内容,找出缺失、过时或不准确的条目。
03
补写更新日志
只为用户可见的变更新增或修正条目,内部重构等改动不写入。
04
核对最近提交
用 git log -5 --oneline 检查最近的提交,确认没有新改动未被记录。若仍有遗漏则进入下一轮。
未通过 → 下一轮满足条件即退出
支持的 Agent
可以直接运行这个 Loop 的编码 Agent。
Claude Code
Cursor
评论
支持 Markdown