Da Anonimo (non verificato) , 29 Aprile 2026

Il dibattito eterno

Un monorepo contiene molti progetti in un solo repository; il multi-repo li divide. Entrambi spediscono prodotti su scala.

Cosa offre il monorepo

  • Commit atomici cross-progetto.
  • Singola fonte di verita.
  • Refactoring su larga scala piu facile.
  • Tooling unificato.

Cosa costa il monorepo

  • La dimensione del repo cresce senza limite.
  • Investimento in tooling.
  • Granularita di permessi piu difficile.
  • CI deve fare build affected-only.

Cosa offre il multi-repo

  • Cadenza di release indipendente.
  • Repo piu piccoli e focalizzati.
  • Confini di permessi naturali.
  • Isolamento dei guasti.

Cosa costa il multi-repo

  • I cambi cross-repo richiedono PR coordinate.
  • Le librerie condivise diventano problemi di versione.
  • Il tooling deriva.
  • La scopribilita soffre.

Tooling essenziale per monorepo

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

Tool di coordinazione 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

Approcci ibridi

  • Monorepo per il codice app, repo separati per l'infrastruttura.
  • Monorepo per dominio business.
  • Multi-repo con un meta-repo di submodule.

Fattori decisionali onesti

  • Sotto i 20 ingegneri, multi-repo va bene.
  • Sopra i 200 ingegneri, monorepo vince.