用途:把分支的真实改动转化为 Helmor 的发布元数据,包括 .changeset/.md 条目,以及当改动值得在应用内提示“New in vX”时生成待处理的 .announcements/.json 片段。
主要能力:先运行 scripts/collect_release_context.py 收集自基础分支以来的提交、按区域分组的变更文件和简短建议摘要;随后自行判断版本号(patch/minor/major)与正文形态,直接写入 .changeset/ 下的单个文件,无需事先征求用户同意。正文有两种形态:单句(Shape A,适用于大多数 patch 修复与小改动)或摘要行加项目符号(Shape B,仅当存在两个及以上不同的用户可见改动时使用)。正文不得以 - 开头,因为 @changesets/changelog-github 会把首行内联到 Thanks @user! 之后。
应用内公告:仅针对新的用户可见功能或工作流变化创建 .announcements/ 下的待处理片段,跳过 bug 修复、内部重构、常规性能工作和发布管道改动。片段 JSON 只含 items 数组,每项有 text,可选 action(openSettings 或 setRightSidebarMode),不要写 id 或 releaseVersion。发布计划时 bun run release:version 会合并所有待处理片段并删除它们。
确认方式:文件写好后报告路径、版本号、正文与公告文本,并给出编号调整菜单,用户可选子集或直接接受,不要问“是否批准”。
版本建议:修复与打磨用 patch,新用户可见功能用 minor,仅不兼容变更用 major;当前早期阶段优先 patch 或 minor。
限制:不逐字照搬提交信息,不列内部重构,不提实现细节文件名,不为单个改动硬凑项目符号;GitHub Release 说明由 Changesets 从 CHANGELOG.md 派生,不要另造格式。更多细节见 references/release-format.md。