À medida que produtos crescem, a separação em múltiplos repositórios (polyrepo) cria fricção: código compartilhado duplicado entre projetos, versões desalinhadas de bibliotecas internas, mudanças que afetam múltiplos repositórios exigindo N pull requests coordenados, e onboarding complexo de novos membros que precisam configurar N repositórios diferentes. Monorepo — um único repositório Git que contém múltiplos projetos ou pacotes — resolve esses problemas ao custo de complexidade de tooling. Turborepo, adquirido pela Vercel em 2021 e amadurecido em 2024-2026, tornou a experiência de monorepo management genuinamente agradável.
O que Turborepo resolve
O problema de monorepos sem tooling adequado: rodar npm run build na raiz do repositório reconstrói todos os projetos, mesmo aqueles que não mudaram. Em um repositório com 20 aplicações e 30 pacotes, isso pode levar horas. Turborepo resolve com cache inteligente: ele mapeia quais arquivos cada build depende, armazena o output em cache (local e remote cache compartilhado no Vercel ou Cloudflare R2), e na próxima execução pula qualquer build cujas dependências não mudaram. Um turbo build que levava 10 minutos pode levar 30 segundos quando o cache é 90% válido.
Estrutura de um monorepo com Turborepo
A estrutura padrão: pasta apps/ para aplicações deployáveis (web, mobile, API), e packages/ para bibliotecas internas compartilhadas (componentes UI, utilitários, tipos TypeScript, configurações). Cada package é um pacote npm com seu próprio package.json. As aplicações importam os packages locais como dependências normais — "@empresa/ui": "workspace:*". Mudanças em um package são imediatamente refletidas em todas as aplicações que o usam, sem necessidade de publish e update de versão. Para equipes que mantêm design systems compartilhados entre múltiplos frontends, esse fluxo é transformador.
Remote cache: builds rápidos em CI/CD
O remote cache do Turborepo armazena os resultados de build em um servidor central. Quando o CI/CD roda o pipeline, ele primeiro verifica se existe cache para o estado atual do código — e se existir, pula o build completamente reutilizando o artifact cacheado. Em times com múltiplos developers commitando frequentemente, o hit rate do cache em CI pode chegar a 80%+, reduzindo tempo de pipeline de minutos para segundos. O remote cache é gratuito via Vercel para projetos hospedados lá, ou configurável em storage próprio (Cloudflare R2, S3) com o Turborepo Remote Cache self-hosted.
Tem um projeto em mente?
Somos especialistas em transformar ideias em produtos digitais. Apps, sites, automações e IA — vamos construir juntos.