Audiencia: Full-stack / platform teams
Formato: Guía práctica
Contexto: CI/CD más rápido para equipos distribuidos
TL;DR
- Turborepo permite acelerar builds en monorepos con caching y ejecución incremental
- Bien configurado, puede reducir tiempos de CI/CD de minutos a segundos
- La clave está en caching remoto, pipelines claros y tareas bien definidas
¿Qué es Turborepo?
Turborepo es una herramienta de build system para monorepos creada por Vercel.
Permite:
- Ejecutar tareas en múltiples paquetes de forma inteligente
- Cachear resultados para evitar trabajo innecesario
- Compartir resultados entre desarrolladores y CI
En simple: solo ejecuta lo que cambió
Problema típico en monorepos
Sin optimización:
- Builds lentos
- CI costoso
- Tiempos largos de feedback
Ejemplo:
npm run build
→ reconstruye todo, incluso lo que no cambió
Cómo Turborepo lo resuelve
1. Ejecución incremental
Solo corre tareas en paquetes afectados:
turbo run build
2. Caching automático
Si nada cambió:
✔ build (cache hit)
3. Caching remoto (clave para equipos)
Permite compartir resultados entre:
- desarrolladores
- CI
- distintos entornos
Setup mínimo
1. Instalar
npm install turbo --save-dev
2. Configurar
turbo.json
{
"$schema": "https://turbo.build/schema.json",
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**"]
},
"dev": {
"cache": false
}
}
}
3. Ejecutar
turbo run build
Optimización real (lo que marca la diferencia)
Define outputs correctamente
"outputs": ["dist/**"]
Si no haces esto:
no hay cache efectivo
Evita tareas innecesarias
Divide bien:
- build
- lint
- test
Usa caching remoto
Con Vercel o self-hosted:
npx turbo login
npx turbo link
Paralelismo
Turborepo ejecuta tareas en paralelo automáticamente
Pero asegúrate de que:
- no haya dependencias innecesarias
Ejemplo real de impacto
Antes:
- CI: 12 minutos
Después:
- CI: 2–3 minutos
- Builds locales: casi instantáneos
Errores comunes
- No definir outputs → cache inútil
- Tasks demasiado acopladas
- Ignorar caching remoto
- Ejecutar todo en CI siempre
Cuándo usar Turborepo
Ideal para:
- monorepos JS/TS
- múltiples apps (frontend + backend)
- equipos distribuidos
Cuándo NO
- repos pequeños
- un solo paquete
Veredicto
Turborepo no es solo una herramienta de performance.
Es una forma de pensar el build system:
ejecutar menos, reutilizar más
Reflexión final
El problema no es el monorepo.
Es ejecutar trabajo innecesario.
Optimizar eso cambia completamente la velocidad de tu equipo.
