用途:在提交 PR 前扫描当前分支差异,发现评审中可能被指出的常见问题。该检查为非阻塞性,所有发现均以警告形式报告,交由用户判断是否处理。
主要能力包括三类检查。其一,缺失测试:对逻辑有实质改动的新增或修改源文件,判断是否有对应测试文件被新增或更新。启发式规则是 Foo.ts(x) 应对应 Foo.test.ts(x),组件对应 Foo.view.test.tsx;新增导出函数或组件无测试文件变更,或源码逻辑大改而既有测试未更新时给出警告。其二,缺失 JSDoc:扫描 diff 中新增的导出函数、类型和组件,缺少 JSDoc 注释时警告。其三,规范违规:检查改动行是否明显违反 .github/guidelines/CODING_GUIDELINES.md 及 .cursor/rules/ 模式,包括 TypeScript 中使用 any 类型、新代码中使用 StyleSheet.create()、从 react-native 直接导入原始 View 或 Text 而非设计系统 Box/Text、使用 import tw from 'twrnc' 而非 useTailwind() hook、脚本中使用 npx。
使用方式:执行 git diff main...HEAD --name-only 与 git diff main...HEAD 收集差异,再按上述三类规则检查。输出为逐条警告,如“⚠ No tests detected for new logic in app/core/Foo.ts”等;未发现问题时输出“✅ No readiness issues detected”。
适用场景:开发者在 metamask-mobile 仓库提 PR 前自检改动。限制:仅针对该仓库的指南与规则,属于非阻塞提示,不替代人工评审,也未提供自动修复或其他仓库的通用性说明。