Por Anónimo (no verificado) , 29 Abril 2026

El debate eterno

Un monorepo aloja muchos proyectos en un repositorio; multi-repo los divide. Ambos entregan productos a escala.

Lo que te da el monorepo

  • Commits atómicos cross-proyecto.
  • Una sola fuente de verdad.
  • Refactoring a gran escala más fácil.
  • Tooling unificado.

Lo que te cuesta el monorepo

  • El tamaño del repo crece sin límite.
  • Inversión en tooling: Bazel, Nx, Turborepo.
  • La granularidad de permisos es más difícil.
  • CI debe hacer builds de afectados o cada push corre cada test.

Lo que te da multi-repo

  • Cadencia de release independiente.
  • Repos más pequeños y enfocados.
  • Límites naturales de permisos.
  • Aislamiento de fallos.

Lo que te cuesta multi-repo

  • Cambios cross-repo requieren PRs coordinados.
  • Las librerías compartidas se vuelven problemas de "diamante de versiones".
  • El tooling deriva.
  • La descubribilidad sufre.

Tooling esencial para monorepo

git sparse-checkout set apps/web shared/ui
git clone --filter=blob:none <url>
npx nx affected:test --base=main

Herramientas de coordinación multi-repo

gh repo list myorg --limit 200
for repo in $(gh repo list myorg --json name -q '.[].name'); do
  gh pr list -R myorg/$repo
done

Factores de decisión honestos

  • Por debajo de 20 ingenieros, multi-repo está bien.
  • Por encima de 200, monorepo gana si inviertes en tooling.