mcpField

Changelog Sync After Ship

精选按需触发
文档最多 3 轮

关于 Changelog Sync After Ship

该循环在一次发布完成后手动启动,用于让 CHANGELOG.md 与实际改动保持一致。每一轮先列出自上个标签以来的提交,再检查 [Unreleased] 是否覆盖了所有用户可见的变更,最多运行 3 轮。

主要功能

  1. 01以最近的标签为起点比对提交
  2. 02找不到标签时回退到最近 20 个提交
  3. 03用 git log -5 --oneline 做每轮核对
  4. 04最多 3 轮,手动触发

适用场景

  1. 01版本发布后补写更新日志
  2. 02合并一批功能后检查日志是否遗漏
  3. 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 --oneline
02
对照现有条目

逐条比较提交与 CHANGELOG.md 的 [Unreleased] 内容,找出缺失、过时或不准确的条目。

03
补写更新日志

只为用户可见的变更新增或修正条目,内部重构等改动不写入。

04
核对最近提交

用 git log -5 --oneline 检查最近的提交,确认没有新改动未被记录。若仍有遗漏则进入下一轮。

未通过 → 下一轮满足条件即退出

支持的 Agent

可以直接运行这个 Loop 的编码 Agent。

Claude Code
Cursor

评论

支持 Markdown