用途:为 Cosmo 执行发布准备流程,处理如 /cosmo:release v0.1.0-rc1 的请求,涵盖版本规范化、发布就绪检查、本地准备、构建校验与发布说明草拟。
主要能力与用法:
- 规范化目标版本:接受 v0.1.0-rc1 或 0.1.0-rc1;源文件使用不带 v 的版本,changelog 与发布命令使用带 v 的 tag 形式。
- 先检查发布就绪:运行 node scripts/release-preflight.mjs <version> --json,报告待更新的版本字符串、当前分支、changelog 状态及后续命令。
- 本地准备:用 node scripts/release-preflight.mjs <version> --write 更新版本字符串;用 node scripts/generate-changelog.mjs <version> --write 生成或刷新根 changelog;编辑后重跑 preflight。
- 本地构建校验:快速检查包括上述 preflight、node --test cmd/cosmo/*.test.mjs、parse-changelog ./CHANGELOG.md;完整构建使用 COSMO_OUTPUT=target/dist/cosmoc ./scripts/build.sh 与 target/dist/cosmoc --version。
- 生成发布说明:node scripts/draft-release.mjs <version> --artifacts target/release --output target/release-notes.md。
限制与约束:在产生外部副作用前停止,未经维护者明确批准,不得运行 git tag、git push、gh release create、gh release edit 或任何发布命令;请求批准时需展示将执行的确切命令。不要更新故意使用 0.0.0 的示例、fixture 或文档示例;保持 cosmoc --version 与发布版本一致。CI 发布构建产出 cosmoc-linux-x64、cosmoc-linux-arm64、cosmoc-macosx-x64、cosmoc-macosx-arm64、cosmoc-windows-x64、cosmoc-windows-arm64。根 CHANGELOG.md 保持 tinymist 风格:## vX.Y.Z - [YYYY-MM-DD]、### Topic、* item 及 Full Changelog 行。可使用 gh api repos/<owner>/<repo>/releases/generate-notes 获取 changelog 候选,用 parse-changelog ./CHANGELOG.md 生成发布说明以保证 CI 与本地输出一致。
适用场景:Cosmo 项目的版本发布准备与本地校验。其他事实暂未提供。