跳转到内容

质量关卡

质量关卡(Quality Gates)在策略的验证阶段作为 Skill 调用自动运行。它们检测安全漏洞、代码质量问题和文档同步状态。

关卡说明检测内容
verify-security安全漏洞扫描注入漏洞、敏感信息泄露、危险函数、OWASP Top 10
verify-quality代码质量检查圈复杂度、函数长度、重复代码、命名规范
verify-change变更影响分析文档同步、API 签名变更影响、依赖变更
verify-module模块完整性校验目录结构、缺失文档、README/DESIGN 存在性
gen-docs文档生成器自动生成 README.md + DESIGN.md 骨架

质量关卡根据场景自动触发,无需手动调用:

/gen-docs <module-path> → 生成文档骨架
/verify-module <module-path> → 检查结构完整性
/verify-security <module-path> → 安全扫描
/verify-change → 分析变更影响,检查文档同步
/verify-quality <changed-path> → 检查复杂度、代码异味

涉及认证、授权、加密、输入验证、密钥管理的变更:

/verify-security <changed-path> → 安全漏洞扫描
/verify-change → 确保文档反映重构
/verify-quality <refactored-path> → 验证质量提升
/verify-security <refactored-path> → 确保无新漏洞

检测内容:

  • SQL 注入、XSS、SSRF 等注入漏洞
  • 硬编码密钥 / Token / 密码
  • 不安全的加密实现
  • 缺失的输入验证
  • 危险函数调用(evalexecsystem
  • 路径遍历风险
  • CORS 配置问题

输出格式:

[Critical] src/api/auth.ts:42 — 硬编码 JWT secret
[High] src/utils/db.ts:15 — 未参数化的 SQL 拼接
[Medium] src/config.ts:8 — CORS 允许所有来源

检测内容:

  • 函数圈复杂度 > 10
  • 单函数超过 50 行
  • 单文件超过 500 行
  • 重复代码块
  • 不规范的命名(不符合项目约定)
  • 未使用的导入 / 变量
  • 缺失的错误处理

质量指标:

指标阈值严重度
圈复杂度> 10Warning
圈复杂度> 20Critical
函数行数> 50Warning
文件行数> 500Warning
重复率> 5%Warning

检测内容:

  • 公共 API 签名变更 → 搜索所有调用点
  • README / DESIGN.md 是否需要同步更新
  • 配置文件变更是否有对应文档
  • 依赖版本变更的影响范围
  • 数据库 schema 变更的迁移状态

检测内容:

  • 目录是否包含 README.md
  • 是否包含 DESIGN.md(可选)
  • 导出文件(index.ts / mod.rs 等)是否存在
  • 测试文件是否存在
  • 文档与代码是否同步
级别含义动作
Critical必须立即修复阻塞交付
High应该修复建议修复后再交付
Warning建议改进不阻塞,记录待改进项
Info参考信息仅提醒,不需要动作
  1. 非阻塞 — 除 Critical 外,质量关卡只生成报告,不阻止交付
  2. 可链接 — 按上述顺序依次执行,前一个失败则跳过后续
  3. 静默通过 — 全部通过时不输出冗余的 “all clear” 信息
  4. 幂等 — 可安全重复执行,相同输入产生相同输出

质量关卡在 full-collaborate 策略的 Phase 5 执行:

Phase 4: 实施(Builder 编码)
Phase 5: 验证 ← 质量关卡在这里运行
├── verify-security
├── verify-quality
└── verify-change
Phase 6: 双模型交叉审查

在 Claude Code 会话中,可以直接以 Skill 方式调用:

请运行 verify-security 扫描 src/auth/ 目录
请对刚才的变更运行 verify-quality

引擎会将其路由到对应的 Skill 文件执行。