mcpField
R
release

release

github.com/cyrusagents开发879836 次安装1 天前更新
代码仓库

关于 release

面向 Cyrus 工作区发布操作的技能,要求遵循其可信发布流程,涵盖版本准备、验证、合并发布 PR、触发工作流及发布后检查。

主要功能

  1. 01遵循规范发布指南
  2. 02更新版本号和变更日志
  3. 03验证软件包及发布检查
  4. 04触发试运行或获准的正式发布
  5. 05核实发布结果并更新问题状态

适用场景

  1. 01准备 Cyrus 工作区发布
  2. 02执行并监控发布试运行
  3. 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 适用性策略,通过有针对性的检查验证这些更改。

工作流

  1. 获取 origin/main,从当前 main 开始,并保留无关的本地更改。
  2. 在分支上准备发布:
    • 将两个变更日志中的 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。
  3. 运行 node scripts/release-packages.mjs validate <version>,然后执行 apps/cli/RELEASING.md 要求的所有检查。继续之前修复所有失败项。
  4. 提交、推送、创建发布 PR,并在触发工作流之前将其合并到 main。绝不要发布未合并的源代码或非 main 引用。
  5. 在 main 上以 dry-run 模式触发 .github/workflows/release-cli.yml,并监控至完成。
  6. 仅当用户明确要求正式发布时,才以 dry_run=false 触发同一确切版本。监控整个流程,直至 npm 发布、git 打标签和创建 GitHub Release 完成。
  7. 独立验证 npm 上的版本,并运行已发布 CLI 的 --version 命令。
  8. 使用 Linear 集成,将版本变更日志部分中引用的每个 issue 从 MergedUnreleased 移至 ReleasedMonitoring。

安全

  • 绝不添加 npm token。发布必须使用 GitHub Actions OIDC。
  • 首次运行正式工作流前,确认每个 npm 软件包都信任 cyrusagents/cyrus 和 release-cli.yml。
  • dry run 不会向 npm 进行身份验证,也无法证明注册表写入有效。
  • 绝不要盲目重跑部分发布的版本。npm 版本不可变;请检查哪些软件包已发布,并谨慎恢复。
  • 在所有软件包发布之前,绝不要创建或移动发布标签。标签和 GitHub Release 由工作流负责创建。

评论

支持 Markdown