El desafío
En un monorepo, distintos paquetes tienen distintos estándares. Tu frontend en React se preocupa por los patrones de componentes, tu backend en NestJS se preocupa por la inyección de dependencias, y tus libs compartidas se preocupan por la estabilidad de la API. Una revisión única para todo no funciona.Descripción general de la estrategia
Kodus admite tres niveles de configuración que se mapean de forma natural a un monorepo:| Nivel | Aplica a | Ejemplo |
|---|---|---|
| Organización | Todos los repos | ”Nunca commitear archivos .env” |
| Repositorio | El monorepo | ”Usar conventional commits” |
| Directorio | Un paquete específico | ”Los componentes React deben usar PascalCase” |
Paso 1 — Mapea tus paquetes
Identifica las áreas distintas de tu monorepo y sus necesidades de revisión:Paso 2 — Crea configuraciones a nivel de directorio
Ve a Configuración de Code Review → Repositorio → haz clic en un directorio para configurarlo. Cada directorio puede tener su propia:- Kody Rules (a nivel de archivo y de PR)
- Opciones de revisión (qué tipos de análisis habilitar)
- Control de sugerencias (filtros de severidad, máximo de sugerencias)
- Rutas ignoradas
Paso 3 — Escribe reglas específicas
Reglas de frontend (ámbito: apps/web/)
Reglas de backend (ámbito: apps/api/)
Reglas de librería compartida (ámbito: libs/shared/)
Paso 4 — Usa Memorias para convenciones transversales
Algunas convenciones aplican en todas partes. Enséñalas como Memorias:Paso 5 — Configura el control de sugerencias por directorio
Los paquetes con mucho tráfico pueden necesitar límites más estrictos:- apps/web/ — máx. 5 sugerencias, filtro de severidad media (el frontend avanza rápido)
- libs/shared/ — máx. 15 sugerencias, filtro de severidad baja (la estabilidad importa)
- infra/ — máx. 3 sugerencias, filtro de severidad alta (menos pero críticas)
Paso 6 — Ignora rutas generadas
Añade ignorados específicos del monorepo para evitar ruido:Consejos
- Comienza con 2-3 reglas por directorio y amplía según lo que tu equipo realmente marque en las revisiones
- Usa la herencia de reglas — las reglas a nivel de organización cubren seguridad, las de repositorio cubren convenciones, las de directorio cubren arquitectura
- Si una regla se activa demasiado en un paquete pero es válida en otros, excluye ese directorio de la regla en lugar de debilitarla