用途:在提交代码、发起 PR、合并主干或发布生产前,强制所有可机器校验的质量检查通过。核心原则是“未在 CI 中强制执行的质量检查等于不存在”。
主要能力:覆盖八类检查。一、Lint:零错误零警告,配置入库并由 CI 执行。二、类型安全:开启 strict 模式,TypeScript 建议启用 noUncheckedIndexedAccess、noImplicitReturns 等;Python 用 mypy 或 pyright 严格模式;禁止 any、@ts-ignore、# type: ignore。三、测试覆盖率:行覆盖 80% 起、分支 70% 起、新代码 90% 起,阈值只升不降。四、构建:干净构建、零警告。五、前端包体积预算:初始 JS 压缩后 <200KB、CSS <50KB、总页面 <1MB。六、依赖审计:npm audit --audit-level=high、pip-audit、govulncheck ./...、cargo audit,高危及以上即失败。七、复杂度:圈复杂度 <10、函数 <50 行、文件 <400 行、参数 <5。八、死代码:清理未用导出、依赖与变量。
使用方式:在 CI 中按顺序运行 lint、typecheck、test --coverage、覆盖率阈值检查、build、bundlesize、audit,全部通过才允许合并。
适用场景:需要严格质量门禁的团队项目,尤其是多人协作、持续交付的前后端代码库。
限制:资料未提供具体安装命令、价格与平台支持信息;文中给出的阈值与工具为规范建议,需按项目实际配置。