O desafio
Em um monorepo, pacotes diferentes têm padrões diferentes. Seu frontend em React se preocupa com padrões de componentes, seu backend em NestJS se preocupa com injeção de dependência, e suas libs compartilhadas se preocupam com estabilidade de API. Uma revisão única para todos não funciona.Visão geral da estratégia
O Kodus suporta três níveis de configuração que se mapeiam naturalmente para um monorepo:Passo 1 — Mapeie seus pacotes
Identifique as áreas distintas no seu monorepo e suas necessidades de revisão:Passo 2 — Crie configs em nível de diretório
Na barra lateral, abra o seletor de escopo no topo do grupo Code review e escolha Add repository configuration. Em Create repository settings, use Select the target repository (o monorepo), depois Select the target directories (uma ou mais pastas de pacote) e clique em Create settings. Cada diretório aparece recuado sob o repositório no seletor de escopo — selecione-o para configurá-lo. Cada diretório pode ter seus próprios:- Kody Rules (em nível de arquivo e de PR)
- What to review (quais categorias habilitar e a severidade mínima para publicar)
- Ignored files (em General)
Passo 3 — Escreva regras direcionadas
Regras de frontend (escopo: apps/web/)
Regras de backend (escopo: apps/api/)
Regras de biblioteca compartilhada (escopo: libs/shared/)
Passo 4 — Use Memories para convenções transversais
Algumas convenções se aplicam em todo lugar. Ensine-as como Memories:Passo 5 — Defina o limite de severidade por diretório
Pacotes de alto tráfego podem precisar de filtros mais rígidos. Selecione o diretório no seletor de escopo, abra What to review e defina Minimum severity to post:- apps/web/ — Medium (frontend evolui rápido)
- libs/shared/ — Low/All (estabilidade importa)
- infra/ — High (menos, mas críticas)
Passo 6 — Ignore caminhos gerados
Adicione ignores específicos do monorepo para evitar ruído:Dicas
- Comece com 2-3 regras por diretório e expanda com base no que seu time realmente sinaliza nas revisões
- Use herança de regras — regras em nível de organização cobrem segurança, nível de repositório cobre convenções, nível de diretório cobre arquitetura
- Se uma regra disparar com muita frequência em um pacote, mas for válida nos demais, exclua esse diretório da regra em vez de enfraquecê-la