SuperAPI AI 工具集

finalize-pr

编程与开发

查看项目

更新于 10-16 00:31

技能介绍

用途:finalize-pr 用于将已写完并可用的 rego-cpp 分支整理为可发布状态,涵盖发布前收尾流程;它取代旧的 bump-version 技能,版本提升是其第 2 步。适用时机:分支功能已完整、准备发布新版本(major/minor/patch),或开启/合并到 main 的 PR 前做最后检查。前提:代码已写好且可用,不负责设计功能或修 bug;若评审或整改未完成,应先运行 code-review 技能并应用修复。

流程按顺序执行,每步以前一步为前提,若发现未完成工作应停下询问用户。第 0 步:向用户确认分支已通过代码评审且所有商定整改均已应用,未确认不得继续。第 1 步:确定分支变更,使用 git fetch origin main、git merge-base HEAD origin/main、git diff --stat、git log --oneline 获取基线、差异与提交日志,按子系统(parser、builtins、VM、C/C++ API、wrappers、build、docs)归组并总结用户可见影响,记录差异文件列表供第 5 步使用。第 2 步:提升版本号,先与用户确认版本号,再更新 VERSION、ports/rego-cpp/vcpkg.json、wrappers/python/setup.py、wrappers/rust/regorust/Cargo.toml、wrappers/dotnet/Rego/Rego.csproj、examples/rust/Cargo.toml、examples/dotnet/example/example.csproj、examples/dotnet/MyPolicy/MyPolicy.csproj 等文件中的版本字段,并用 grep 确认无旧版本残留、按需执行 cargo update -p regorust --manifest-path wrappers/rust/regorust/Cargo.toml;若本分支修改了 CMakeLists.txt 中的 REGOCPP_OPA_VERSION,还需同步 .github/copilot-instructions.md 中目标 Rego 版本。第 3 步:按既有格式在 CHANGELOG 顶部新增条目,包含日期与版本、一段摘要及分类小节,描述用户可见效果而非内部重构。第 4 步:按需更新 README、公开 API 的 Doxygen 注释、wrapper README 与 doc/ 文档,未变更处不要虚构文档。第 5 步:运行 editor-lens 处理第 1 步的差异文件列表,清理内部代号与历史评论、修正语法、执行单行且不超过 80 字符的注释限制;自动就地进行单行修改,若需保留多行注释,须向用户列出并取得明确批准。第 6 步:尽力通过 CI(.github/workflows/pr_gate.yml),在配置好的构建目录运行 ninja regocpp_format、ninja rego_test rego、ctest --output-on-failure,并对相关套件与 fuzzer 使用互不重叠的种子范围复跑,报告结果;若失败应停止并上报,不得掩盖。完成时向用户汇总新版本、CHANGELOG、文档变更、editor-lens 修改与待批准项及校验结果;除非用户要求,不提交、打标签或推送,且提交需签名(git commit -s -S)。限制:该技能假定代码已定稿,不设计功能、不修复缺陷;文档仅在其受影响时更新;未提供收费或平台相关信息。