name: release description: 发布准备工作流 - 安全审计 → 端到端测试 → 审查 → 变更日志 → 文档
/release - 发布工作流
结构化发布准备,以信心发货。
何时使用
- “准备发布”
- “发货版本 X”
- “发布到生产环境”
- “切割发布”
- “准备部署”
- 在任何生产部署之前
工作流概述
┌─────────┐ ┌─────────┐ ┌──────────────┐ ┌──────────┐ ┌─────────┐
│ aegis │───▶│ atlas │───▶│ review-agent │───▶│ herald │───▶│ scribe │
│ │ │ │ │ │ │ │ │ │
└─────────┘ └─────────┘ └──────────────┘ └──────────┘ └─────────┘
安全审计 端到端测试 最终审查 版本提升 发布文档
代理序列
| # | 代理 | 角色 | 输出 |
|---|---|---|---|
| 1 | aegis | 安全漏洞扫描 | 安全报告 |
| 2 | atlas | 运行完整端到端测试套件 | 测试报告 |
| 3 | review-agent | 最终发布审查 | 发布批准 |
| 4 | herald | 版本提升、变更日志生成 | 更新的版本文件 |
| 5 | scribe | 发布笔记、文档 | RELEASE.md、文档 |
为何此顺序?
- 安全优先:在发货前捕捉漏洞
- 端到端测试:验证全系统端到端工作
- 最终审查:人工参与审批
- 版本提升:仅在批准后进行
- 文档:附带适当的发布笔记发货
执行
阶段 1:安全审计
Task(
subagent_type="aegis",
prompt="""
发布安全审计: [VERSION]
扫描:
- 依赖漏洞(npm audit, pip audit)
- 硬编码的秘密/凭据
- SQL注入、XSS、CSRF风险
- 认证/授权问题
- 不安全配置
输出:带严重性级别的安全报告
"""
)
阶段 2:端到端测试
Task(
subagent_type="atlas",
prompt="""
运行端到端测试: [VERSION]
执行:
- 完整端到端测试套件
- 关键路径测试
- 集成测试
- 性能基准(如果适用)
输出:带通过/失败计数的测试报告
"""
)
阶段 3:最终审查
Task(
subagent_type="review-agent",
prompt="""
最终发布审查: [VERSION]
审查:
- 安全审计结果
- 端到端测试结果
- 自上次发布以来的更改(git log)
- 破坏性更改
- 迁移要求
输出:RELEASE_APPROVED 或 RELEASE_BLOCKED 带原因
"""
)
阶段 4:版本提升与变更日志
Task(
subagent_type="herald",
prompt="""
准备发布: [VERSION]
任务:
- 在 package.json/pyproject.toml 中提升版本
- 生成 CHANGELOG.md 条目
- 更新代码中的版本常量
- 标记提交(暂不推送)
遵循语义版本化。
"""
)
阶段 5:发布笔记
Task(
subagent_type="scribe",
prompt="""
编写发布笔记: [VERSION]
包括:
- 更改摘要
- 新功能
- 错误修复
- 破坏性更改
- 迁移指南(如果需要)
- 贡献者
输出:RELEASE.md 或更新文档
"""
)
发布类型
主要发布(破坏性更改)
/release --major
→ 完整工作流,带迁移指南
次要发布(新功能)
/release --minor
→ 完整工作流,轻量安全审查
补丁发布(错误修复)
/release --patch
→ 安全 + 测试 + 快速审查
热修复
/release --hotfix
→ 加速:aegis → atlas → herald
示例
用户: /release v2.0.0
Claude: 启动 /release 工作流 v2.0.0...
阶段 1: 安全审计...
[生成 aegis]
✅ 无关键漏洞
⚠️ 2 个低严重性问题(已记录)
阶段 2: 端到端测试...
[生成 atlas]
✅ 156/156 端到端测试通过
阶段 3: 最终审查...
[生成 review-agent]
✅ RELEASE_APPROVED
- v1.9.0 以来的 47 次提交
- 3 个新功能
- 12 个错误修复
- 无破坏性更改
阶段 4: 版本提升...
[生成 herald]
✅ 版本提升至 2.0.0
✅ CHANGELOG.md 更新
✅ Git 标签创建
阶段 5: 发布笔记...
[生成 scribe]
✅ RELEASE-v2.0.0.md 创建
┌─────────────────────────────────────────┐
│ 发布 v2.0.0 准备就绪 │
├─────────────────────────────────────────┤
│ 安全: ✅ 通过 │
│ 测试: ✅ 156/156 │
│ 审查: ✅ 批准 │
│ │
│ 后续步骤: │
│ 1. git push origin v2.0.0 │
│ 2. 创建 GitHub 发布 │
│ 3. 部署到生产环境 │
└─────────────────────────────────────────┘
阻塞器
工作流停止如果:
- 发现关键安全漏洞
- 端到端测试失败
- 审查结果为 RELEASE_BLOCKED
阶段 1: 安全审计...
❌ 关键: user.py:45 中的 SQL 注入
发布阻塞。在继续前修复关键问题。
标志
--major/--minor/--patch: 语义版本类型--hotfix: 加速发布路径--skip-security: 跳过安全审计(不推荐)--dry-run: 运行检查但不提升版本