关于 release
面向 Cyrus 工作区发布操作的技能,要求遵循其可信发布流程,涵盖版本准备、验证、合并发布 PR、触发工作流及发布后检查。
主要功能
- 01遵循规范发布指南
- 02更新版本号和变更日志
- 03验证软件包及发布检查
- 04触发试运行或获准的正式发布
- 05核实发布结果并更新问题状态
适用场景
- 01准备 Cyrus 工作区发布
- 02执行并监控发布试运行
- 03核实已发布软件包和 CLI 版本
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cyrusagents/ cyrus --skill release安装后在 Claude Code 中输入/release确认已加载。
详细介绍
发布 Cyrus
通过受信任的发布工作流发布 Cyrus。不要手动发布工作区软件包。
必需参考资料
执行发布操作前,请完整阅读 apps/cli/RELEASING.md。将其视为规范的操作指南,并将 scripts/release-packages.mjs 视为规范的软件包列表及依赖顺序。
编辑发布工作流、脚本、安装程序或发布文档,不会触发此发布流程。请使用 skills/f1-test-drive/SKILL.md 中的 F1 适用性策略,通过有针对性的检查验证这些更改。
工作流
- 获取
origin/main,从当前 main 开始,并保留无关的本地更改。 - 在分支上准备发布:
- 将两个变更日志中的 Unreleased 条目移入新版本。
- 在
node scripts/release-packages.mjs list打印出的每个清单中设置相同版本。 - 运行
pnpm install并提交任何锁文件更改。 - 根据规范的 F1 适用性策略,评估自上次发布以来的全部内容,包括版本号更新 PR 之前合并的功能更改。对于 F1 覆盖的行为更改,运行相关 F1 场景,并使用必需的
-release-v<version>.md后缀保存证据。否则,根据apps/cli/RELEASING.md记录内容评估和有针对性的检查,作为非 F1 发布验证;不要编造 F1 报告。 - 在
CHANGELOG.md中列出每个已发布的package@version。
- 运行
node scripts/release-packages.mjs validate <version>,然后执行apps/cli/RELEASING.md要求的所有检查。继续之前修复所有失败项。 - 提交、推送、创建发布 PR,并在触发工作流之前将其合并到
main。绝不要发布未合并的源代码或非 main 引用。 - 在
main上以 dry-run 模式触发.github/workflows/release-cli.yml,并监控至完成。 - 仅当用户明确要求正式发布时,才以
dry_run=false触发同一确切版本。监控整个流程,直至 npm 发布、git 打标签和创建 GitHub Release 完成。 - 独立验证 npm 上的版本,并运行已发布 CLI 的
--version命令。 - 使用 Linear 集成,将版本变更日志部分中引用的每个 issue 从
MergedUnreleased移至ReleasedMonitoring。
安全
- 绝不添加 npm token。发布必须使用 GitHub Actions OIDC。
- 首次运行正式工作流前,确认每个 npm 软件包都信任
cyrusagents/cyrus和release-cli.yml。 - dry run 不会向 npm 进行身份验证,也无法证明注册表写入有效。
- 绝不要盲目重跑部分发布的版本。npm 版本不可变;请检查哪些软件包已发布,并谨慎恢复。
- 在所有软件包发布之前,绝不要创建或移动发布标签。标签和 GitHub Release 由工作流负责创建。
评论
支持 Markdown