SuperAPI AI 工具集

re0-release

部署与运维

查看项目

更新于 10-24 16:20

技能介绍

用途

re0-release 用于把「准备并发布一个版本」变成一条有意识的单一命令,而不是每次手工重新推导发布与上线清单。它由用户主动调用,针对一个待提交的改动走完仓库的发布清单,并在确认后打标签、推送。

主要能力

  • 对照待提交的 diff 确认发布就绪状态,覆盖 AGENTS.md 的 Shipping 清单中除版本号变更和 sip 运行之外的每一项。
  • 检查新增或修改的 SKILL.md 形态是否正确(frontmatter 的 name+description、仅在用户主动调用时使用 disable-model-invocation、正文包含 Goal/Workflow/Rules/Verification 等章节)。
  • 检查 README 及 docs/readme/ 下各本地化副本是否准确列出该技能,调用列与名册逻辑顺序是否正确,并与 plugin.json、scripts/catalog.cjs 及 re0-upgrade 的目录保持同步。
  • 检查 plugin.json 是否注册其路径;重命名是否在 re0-upgrade 的弃用清单中按发布顺序追加 old -> new 行;跨技能共享规则(edit-safety、negatives-as-corpus、commit-economy)在各副本中是否保持一致。
  • 对版本号变更进行分类:新技能为 minor;修复或纯文档改动为 patch;无替代路径地移除技能为 major。对现有技能的增强这一边界情况,按性质而非规模判断,并说明理由。
  • 在已安装时运行 sip 并应用其发现;未安装时按顺序直接执行其检查:cold-read(shower)、仅在存在声明或评估时做 truth checks(factchk/mandela)、一致性检查(先 ssotize audit,批准后才 consolidation)、最后 tidy(re0)。
  • 将 package.json 的版本更新为分类结果。
  • 按 commit-economy 起草提交信息:每个真实且持久的改动一条要点,支撑性编辑并入其中,不写 diff 或版本已能证明的内容,不加 co-author 标签,匹配本地日志的形态。
  • 在获得明确确认后提交。
  • 写入 .re0/release/RELEASE_NOTES.local.md,这是一个被 gitignore、永不随包发布的本地草稿文件,作为签名标签的消息。
  • 在第二次单独确认后执行打标签与推送:git tag -s vX.Y.Z -F .re0/release/RELEASE_NOTES.local.md --cleanup=verbatim,推送 main 与标签。
  • 观察触发的发布工作流直至完成,报告成功或真实失败。
  • 关闭该版本落地的每个外部贡献:由审阅者在关闭前批准 PR,关闭评论带上发布说明给出的署名。
  • 归档已发布的迭代周期:将 .re0/iteration/<version>-<workname>/ 文件夹移动到 .re0/iteration/completed/<version>-<workname>/,不重命名,使用普通文件系统移动(mv)而非 git mv。

使用方式

由用户主动调用,针对一个待提交的改动运行。流程中把「提交」和「打标签 + 推送」视为两个分别确认的时刻:提交保持本地且可回退,打标签 + 推送是唯一对外公开的步骤。提交前需要一次明确确认,打标签与推送前需要第二次单独确认。

适用场景

适用于需要按仓库既定发布清单走完上线流程、并希望把发布说明、版本分类、提交信息与迭代归档统一处理的仓库维护场景。

限制

  • 不发明或假设 CLI 命令或标志,写入将执行的步骤前须对照官方文档或真实运行验证。
  • 推送是全部手工步骤;绝不手工运行发布工作流负责的步骤(发布、命名发布页、移动标签),尤其不得用于挽救失败的运行。
  • 若待提交的 diff 混合了不相关的关注点,应先说明并提出拆分,再起草信息。
  • 本地版本匹配成立前绝不推送(package.json 等于即将创建的标签)。
  • negatives-as-corpus:归档只移动迭代文件夹,绝不删除;若发布失败或回滚,保持文件夹为活动状态。
  • 若提交已存在且需要清理,请人工运行 re0-git,不自动调用。
  • 仅当迭代周期从未用 re0-plan 规划且没有匹配的迭代文件夹时,才跳过归档步骤。

验证

完成前需确认:package.json 版本与标签匹配;提交信息脱离 diff 也能作为干净的交接;发布说明符合内部风格且只提及本次发布应得的内容;推送标签触发的工作流运行已成功完成(经确认而非假设);未手工运行任何工作流负责的步骤;每个外部贡献的 PR 在关闭前已获批准并附署名评论;已发布周期的迭代文件夹已归档到 .re0/iteration/completed/,或因不存在而正确跳过。报告任何跳过的步骤或未解决的缺口。