什么是Peter Code Review
Peter Code Review 是一款专为提交前代码质量把控而设计的轻量级审查工具,旨在为开发者提供‘提交前的最后一关’。它通过自动识别代码改动范围、执行基础质量检查(如 lint、类型检查和单元测试),并对 UI、配置及依赖变更进行附加验证,最终输出明确的提交结论与修复清单。该工具适用于希望快速清理明显问题后再开 PR 的场景,尤其适合追求高效开发流程的团队。其核心理念是‘最小但有效的验证闭环’,确保每次提交都经过基本的质量过滤,避免低质量问题进入主分支。 该工具支持多语言技术栈,包括 Node.js/TypeScript、Python、Go 和 Rust,能够根据项目配置自动选择对应的检查命令。例如,在 TypeScript 项目中会运行 `npm run lint` 和 `npx tsc –noEmit`,而在 Python 项目中则会调用 `ruff check .` 和 `pytest`。若环境缺失或命令不存在,工具会明确记录未执行原因及影响范围,避免误判。此外,当检测到构建配置或依赖文件(如 `package.json`、`next.config.*`)发生变更时,还会自动触发构建流程,确保环境一致性。 Peter Code Review 的输出格式高度结构化,包含代码审查报告、提交标准检查清单、Git 改动摘要、执行结果和问题列表等模块。它不仅标记各项检查是否通过,还会对风险等级进行分类(Critical / High / Medium / Low),并提供具体的修复建议。特别地,对于数据库连接不可达(如 `GATE_DB_UNREACHABLE`)的情况,工具会判定为高风险并建议立即执行 `peter-ci-gate` 进行复核,而非简单放行。这种设计既保证了质量门槛,又为紧急提交提供了可控的例外通道。
核心功能特点
- 自动识别代码改动范围,支持工作区或最近一次提交的审查
- 按技术栈执行基础质量检查(lint、typecheck、test)并记录失败详情
- 针对 UI、配置和依赖变更触发附加验证(如 build、workflow-check)
- 内置安全与实现质量审查,覆盖输入校验、SQL注入、XSS风险等
- 提供结构化审查报告,含风险等级分类和具体修复建议
- 对未完成手工 UI 验证的情况明确标注风险,禁止盲目通过
适用场景
Peter Code Review 最典型的使用场景是在准备合并 Pull Request 之前,开发者希望在本地快速完成一轮质量过滤,避免将明显错误或低质量代码推送到主干分支。例如,一位前端工程师修改了组件样式并新增了一个 API 调用,他可以在提交前先运行 Peter Code Review,系统会自动检查代码风格、类型安全、单元测试是否通过,并在发现潜在 SQL 注入风险或敏感信息泄露时及时提醒。这种机制显著降低了 CI/CD 流水线因低级错误而阻塞的概率,提升了团队整体交付效率。 另一个适用场景是处理涉及基础设施变更的提交,比如更新了 `package-lock.json` 或 `next.config.js`。此时 Peter Code Review 不仅会运行常规测试,还会主动触发构建流程,确保新依赖或配置不会导致编译失败。如果构建过程中出现数据库连接问题(如 `GATE_DB_UNREACHABLE`),工具会将其标记为高风险,但仍允许提交,同时强制要求在 PR 阶段由专人复核。这种灵活的风险分级策略兼顾了质量控制和开发节奏,特别适合敏捷迭代中的高频提交。 此外,该工具也适用于需要严格合规审查的内部项目,例如金融或医疗类应用。在这些场景中,安全性和需求完成度尤为重要。Peter Code Review 会逐项核对用户需求是否全部实现,并检查是否存在敏感信息硬编码等问题。即使某些非关键项未完成,只要不影响主干功能且风险可控,仍可能获得“可提交(高风险)”的结论,为后续人工复审留出空间。这种半自动化的审查模式,既减轻了开发者的负担,又强化了工程纪律。
