Monorepo (ét repository til mange projekter/services) og polyrepo (et separat repository per projekt) er to strategier til at organisere kode på tværs af flere projekter. Hver tilgang har betydelige fordele og ulemper, der påvirker samarbejde, værktøjer og skalering — at forstå dem informerer vigtige arkitektoniske beslutninger.
Monorepo — ét repository til alt
Many projects/services/libraries in a SINGLE repository:
✓ SHARED code/libraries easy to use and refactor (one place, atomic changes)
✓ ATOMIC commits across projects (change an API and all its consumers together)
✓ Unified tooling, versioning, CI; consistent standards; easy cross-project visibility
✓ Simplified dependency management (one version of shared code)
✗ Repo can get HUGE (needs scaling tooling — sparse checkout, build caching)
✗ Needs sophisticated build/CI tooling (Nx, Turborepo, Bazel) to be efficient
✗ Broad access; CI must be smart (only build what changed)
→ Used by Google, Meta, etc. (with heavy tooling investment).
