用途:在提交代码前执行一套质量门禁流程,自动修复格式与 lint 问题,校验类型并运行测试,最后报告整体 PASS 或 FAIL。
主要能力与流程:先读取 package.json 识别可用脚本;执行格式与 lint 自动修复,运行 npm run lint-fix 或 npm run lint:fix(取存在的那个);再执行 lint 与类型检查,运行 npm run lint(包含 tsc --noEmit 与 eslint);最后运行 npm test。结果以 file:line 形式引用错误位置。
规则:始终先自动修复再报告错误;按 lint-fix → lint 检查 → 测试的顺序依次执行;若 lint-fix 失败,仍继续运行 lint 检查与测试,并在最后汇总所有失败;错误以 file:line 引用报告;绝不执行 commit、stage 或 push。
错误处理:无 package.json 则报告并停止;lint-fix 与 lint:fix 脚本都不存在则跳过修复但仍运行 lint;缺少 lint 脚本则完全跳过 lint 并注明已跳过;缺少 test 脚本则跳过测试并注明已跳过;所有脚本都缺失则报告无可运行内容并停止;测试超时则报告并建议在运行器配置中增大 --testTimeout;运行器崩溃(退出码非 0 或 1)则报告崩溃输出并停止。
适用场景:本地开发提交前的自动化检查,或由智能体在用户要求提交前验证时调用。
限制:依赖 package.json 中的 npm 脚本命名约定;不负责提交、暂存或推送;具体超时与运行器配置需按项目自行调整。