挑战
在 monorepo 中,不同的包有不同的标准。React 前端关注组件模式,NestJS 后端关注依赖注入,共享库关注 API 稳定性。一刀切的审查行不通。策略概述
Kodus 支持三个配置级别,自然映射到 monorepo:步骤 1 — 映射您的包
识别 monorepo 中的不同区域及其审查需求:步骤 2 — 创建目录级配置
在侧边栏中,打开 Code review 分组顶部的范围选择器,选择 Add repository configuration。在 Create repository settings 中,Select the target repository(即该 monorepo),然后 Select the target directories(一个或多个包文件夹),并点击 Create settings。每个目录都会以缩进形式显示在范围选择器中对应代码库的下方 — 选择它即可进行配置。 每个目录可以有自己的:- Kody 规则(文件级和 PR 级)
- What to review(启用哪些类别,以及发布建议的最低严重性)
- Ignored files(位于 General)
步骤 3 — 编写有针对性的规则
前端规则(范围:apps/web/)
后端规则(范围:apps/api/)
共享库规则(范围:libs/shared/)
步骤 4 — 使用记忆处理跨领域约定
某些约定适用于所有地方。将它们作为记忆教给 Kody:步骤 5 — 按目录设置严重性阈值
高流量包可能需要更严格的过滤。在范围选择器中选择该目录,打开 What to review,并设置 Minimum severity to post:- apps/web/ — Medium(前端变化快)
- libs/shared/ — Low/All(稳定性重要)
- infra/ — High(少但关键)
步骤 6 — 忽略生成的路径
添加 monorepo 特定的忽略以避免噪音:提示
- 从每个目录 2-3 个规则开始,根据团队在审查中实际标记的内容进行扩展
- 使用规则继承 — 组织级规则覆盖安全性,代码库级覆盖约定,目录级覆盖架构
- 如果规则在一个包中触发过于频繁但在其他地方有效,从该规则中排除该目录而不是削弱规则