名称: verification-loop 描述: 全面的代码更改质量验证系统,包括构建、类型、lint、测试和安全检查 许可证: MIT 元数据: 来源: affaan-m/everything-claude-code 适配者: ai-skills 类别: 质量保证
验证循环
一个全面的验证系统,用于确保代码质量跨多个维度。
使用时机
调用此技能:
- 完成功能或重要代码更改后
- 创建拉取请求前
- 当您希望确保质量门通过时
- 重构或重大修改后
- 代码审查准备期间
验证阶段
阶段 1: 构建验证
# 检查项目是否构建
npm run build 2>&1 | tail -20
# 或
pnpm build 2>&1 | tail -20
# 或其他构建系统
make build 2>&1 | tail -20
cargo build 2>&1 | tail -20
关键: 如果构建失败,停止并在继续前修复。
阶段 2: 类型检查
# TypeScript 项目
npx tsc --noEmit 2>&1 | head -30
# Python 项目
pyright . 2>&1 | head -30
mypy . 2>&1 | head -30
# Go 项目
go vet ./... 2>&1 | head -30
报告所有类型错误。在继续前修复关键错误。
阶段 3: Lint 检查
# JavaScript/TypeScript
npm run lint 2>&1 | head -30
eslint . 2>&1 | head -30
# Python
ruff check . 2>&1 | head-30
flake8 . 2>&1 | head -30
# Go
golint ./... 2>&1 | head -30
# Rust
cargo clippy 2>&1 | head -30
阶段 4: 测试套件
# 运行测试并带覆盖率
npm run test -- --coverage 2>&1 | tail -50
pytest --cov=. 2>&1 | tail -50
go test -cover ./... 2>&1 | tail -50
# 检查覆盖率阈值
# 目标: 新代码至少80%
报告:
- 总测试数: X
- 通过: X
- 失败: X
- 覆盖率: X%
- 新文件覆盖: X%
阶段 5: 安全扫描
# 检查秘密
grep -rn "sk-" --include="*.ts" --include="*.js" --include="*.py" . 2>/dev/null | head -10
grep -rn "api_key" --include="*.ts" --include="*.js" --include="*.py" . 2>/dev/null | head -10
grep -rn "password.*=" --include="*.ts" --include="*.js" --include="*.py" . 2>/dev/null | head -10
# 检查调试语句
grep -rn "console.log" --include="*.ts" --include="*.tsx" --include="*.js" src/ 2>/dev/null | head -10
grep -rn "print(" --include="*.py" . 2>/dev/null | head -10
grep -rn "println!" --include="*.rs" src/ 2>/dev/null | head -10
阶段 6: 差异审查
# 显示更改内容
git diff --stat
git diff HEAD~1 --name-only
git diff --shortstat
审查每个更改的文件:
- 意外更改或修改
- 缺失错误处理
- 潜在边缘情况
- 需要文档更新
输出格式
运行所有阶段后,生成验证报告:
验证报告
==================
构建: [✓ 通过 / ✗ 失败]
类型: [✓ 通过 / ✗ 失败] (X 错误)
Lint: [✓ 通过 / ✗ 失败] (X 警告)
测试: [✓ 通过 / ✗ 失败] (X/Y 通过, Z% 覆盖率)
安全: [✓ 通过 / ✗ 失败] (X 问题)
差异: [X 文件更改, +Y 行, -Z 行]
总体: [✓ 就绪 / ✗ 未就绪] 用于 PR
待修复问题:
1. [优先级] 描述
2. [可选] 描述
...
建议:
- 建议 1
- 建议 2
连续模式
对于长时间会话,每15分钟或重大更改后运行验证:
检查点:
- 完成每个函数后
- 完成组件后
- 移动到下一个任务前
- 解决合并冲突后
集成点
此技能补充:
- testing-patterns: 用于测试设计
- deployment-cicd: 用于 CI 流水线准备
- github-repository-standards: 用于 PR 准备
- security-threat-modeler: 用于安全审查
快速验证
用于开发期间的快速检查:
# 最小验证 (30 秒)
npm run build && npm run lint && npm test
在提交前使用完整验证。
相关技能
补充技能 (一起使用)
- testing-patterns - 用于测试验证阶段的全面测试方法
- tdd-workflow - 测试驱动开发,产生准备验证的代码
- deployment-cicd - 自动化验证循环的 CI 流水线
替代技能 (类似目的)
- 无 - verification-loop 是质量门过程,不是其他实践的替代
先决技能 (首先学习)
- testing-patterns - 理解测试有助于解释验证结果