Monorepos facilitam código compartilhado, mas podem deixar o CI lento se tudo for construído sempre. O Turborepo (Vercel) é um sistema de build que orquestra tarefas, usa cache remoto e evita trabalho redundante.
Com base no site oficial e na documentação:
1. O que o Turborepo Faz
- Orquestra tarefas com base em dependências entre pacotes
- Remote caching — compartilha cache entre máquina local e CI
- Incremental builds — só reconstrói o que mudou
- Integração com qualquer CI — GitHub Actions, CircleCI, etc.
2. Ganhos Reais
A plataforma Turborepo reporta mais de 9 milhões de horas de compute economizadas. Exemplo citado: equipe de 4 pessoas reduziu 67 horas de CI.
3. Como Começar
- Instalação via npm, yarn, pnpm ou bun
- Templates para monorepos básicos, multi-framework (ex: SvelteKit + Tailwind)
4. Migração Incremental
É possível adotar Turborepo em repositórios existentes sem reescrever tudo — configuração gradual.
5. Quando Vale a Pena
- Monorepo com vários pacotes e builds interdependentes
- CI demorando muito
- Time distribuído precisando de cache compartilhado
6. Configuração Básica
No turbo.json, defina as tasks e suas dependências. Exemplo: build depende de ^build (build dos dependentes). O Turborepo descobre o grafo automaticamente via package.json e só executa o que mudou.
7. Remote Cache (Vercel ou Self-Hosted)
O cache pode ser compartilhado via Vercel (integrável ao Turborepo) ou self-hosted com servidor de cache. Um dev em São Paulo e outro em Berlim compartilham o mesmo cache — quem buildou primeiro, todos aproveitam.
8. Alternativas
Nx e Lerna também tratam de monorepos. O Turborepo se destaca pela simplicidade e pela integração com o ecossistema Vercel. Se você já usa Vercel para deploy, a adoção é natural.