名称: qa-checklist 描述: 正式的质量保证检查清单,用于每次合并/部署前。6阶段验证包括构建验证、测试套件、不可触碰区域、区域检查、安全审查和QA报告生成。在"merge"、“deploy”、“release”、"production"或/qa命令触发。
QA检查清单
正式的质量保证检查清单,用于每次合并/部署前
触发
此技能在以下情况下自动激活:
git commit(生产代码更改后)- 部署命令 (
vercel --prod,npm run deploy, 等) /qa命令- 触发词: “merge”、“deploy”、“release”、“production”
配置
为您的项目自定义这些值:
# 添加到您的项目的CLAUDE.md或设置中
no_touch_zones:
- "src/auth/**" # 身份验证逻辑
- "src/core/**" # 核心业务逻辑
- "config/production.*" # 生产配置
required_region: "您的区域" # 例如,fra1, us-east-1
deploy_timeout: 60 # 秒
阶段1: 构建验证 (阻塞)
1.1 TypeScript编译
npx tsc --noEmit
预期: 无错误
| 状态 | 操作 |
|---|---|
| 通过 | 继续到1.2 |
| 失败 | 停止 - 修复类型错误 |
1.2 生产构建
npm run build
预期: 构建成功,无警告
| 状态 | 操作 |
|---|---|
| 通过 | 继续到阶段2 |
| 失败 | 停止 - 修复构建错误 |
阶段2: 测试套件 (阻塞)
2.1 单元测试
npm run test
预期: 所有测试通过
2.2 端到端测试 (可选但推荐)
npm run test:e2e
预期: 关键流程正常工作
阶段3: 不可触碰区域检查 (阻塞)
检查受保护文件是否被修改:
# 替换为您的不可触碰区域
git diff --name-only HEAD~1 | grep -E "(auth|core|production)"
预期: 无匹配 (或存在显式批准)
| 文件模式 | 允许修改? |
|---|---|
**/auth/** |
仅通过显式请求 |
**/core/** |
仅通过显式请求 |
config/production.* |
仅通过显式请求 |
阶段4: 区域/环境检查 (部署时阻塞)
4.1 生产部署前
验证部署目标符合要求:
# Vercel示例
npx vercel inspect <预览-url> --wait
# AWS示例
aws configure get region
# 检查环境
echo $NODE_ENV
预期: 正确区域/环境
4.2 生产部署后
# 验证生产部署
curl -s -o /dev/null -w "%{http_code}" https://your-domain.com/health
预期: 200 OK
阶段5: 安全审查 (警告)
5.1 代码中无敏感信息
git diff HEAD~1 | grep -iE "(password|secret|api_key|token|private_key)" | grep -v "process\.env\|\.env\|example"
预期: 无匹配
5.2 无不安全类型
# TypeScript: 检查未类型化的any
git diff HEAD~1 --name-only -- "*.ts" "*.tsx" | xargs grep -l ": any" 2>/dev/null
预期: 无新的any类型 (或文档化原因)
5.3 依赖检查
npm audit --production
预期: 无高/严重漏洞
阶段6: QA报告
完成所有检查后,生成报告:
## QA验证报告
**日期:** [ISO时间戳]
**分支:** [分支名称]
**提交:** [提交哈希]
### 结果
| 检查 | 状态 | 详情 |
|-------|--------|---------|
| TypeScript | 通过/失败 | [错误计数] |
| 构建 | 通过/失败 | [构建时间] |
| 单元测试 | 通过/失败 | [X/Y通过] |
| 端到端测试 | 通过/失败/跳过 | [X/Y通过] |
| 不可触碰区域 | 通过/失败 | [受影响文件] |
| 区域 | 通过/失败/N/A | [当前区域] |
| 安全 | 通过/警告 | [发现问题] |
### 裁决
**状态:** 批准 / 拒绝
**下一步:**
- [如果批准: 允许合并/部署]
- [如果拒绝: 列出需修复问题]
工作流集成
每次提交前
- 运行阶段1-3
- 通过: 允许提交
- 失败: 修复问题, 重新运行
生产部署前
- 运行阶段1-5
- 通过: 允许部署
- 失败: 修复问题, 重新运行
- 部署后: 阶段4.2 (验证)
QA循环 (最多3次迭代)
1. 运行检查
2. 失败时: 实施修复
3. 返回步骤1
4. 3次迭代后: 升级给用户
与其他技能集成
- code-quality-gate: 可一起用于全面检查
- strict-typescript-mode: 自动执行阶段5.2
- security-scan hook: 自动化阶段5.1
起源
最初为 fabrikIQ 开发 - AI驱动的制造数据分析。
许可证
MIT - 自由使用和修改