Preflight 是一个在创建 PR 前运行的预检查技能,用于在推送前尽早发现改动文件中的常见问题。
用途:在提交 PR 前对变更文件做一轮快速检查,覆盖代码质量、安全与 Git 卫生等常见风险点。
主要能力:先运行 git diff main --name-only 获取改动文件列表,再逐文件执行检查,并按类别分组输出带 file:line 的报告。检查项包括:TypeScript 严格性(禁止 any、无说明的 @ts-ignore、本地接口命名、类型检查通过)、React 模式(use client 使用、浏览器库动态导入、无 console.log)、路由结构(loading.tsx、error.tsx、服务端组件)、数据获取(Prisma select、N+1、tRPC 扁平结构)、校验(Zod 位置)、环境变量、导入路径、死代码、安全(硬编码密钥、dangerouslySetInnerHTML、原始 SQL)、依赖漏洞快速审计、Git 卫生、性能、样式、日期、可访问性与代码风格。
使用方式:在创建 PR 前运行该技能,它会自动获取改动文件并逐项检查。类型检查命令为:make 2>/dev/null | grep -q 'types' && make types || pnpm tsc --noEmit;依赖审计命令为:pnpm audit 2>/dev/null | head -20。
限制:该技能只报告问题而不阻断流程,由开发者决定修复哪些;不运行测试套件(vitest/playwright),假设用户已运行或将在推送前运行,CI 作为兜底。依赖审计仅为快速检查,完整分析需使用 /audit。部分检查属于风格偏好,部分则是潜在缺陷。必须修复项包括安全问题、合并冲突标记、硬编码密钥、测试中的 .only/.skip。