Monorepo (एक repository में कई projects/services) र polyrepo (प्रति project एक अलग repository) एकै दुई रणनीतियाँ हुन् जुन code लाई एकै दुई परियोजनाहरुमा आयोजित गर्न प्रयोग गरिन्छन्। प्रत्येकको महत्त्वपूर्ण व्यापार-अफ (trade-offs) हुन् जुन सहयोग, tooling र scaling मा असर गर्छन् — यिनलाई बुझ्नु महत्त्वपूर्ण वास्तुकला निर्णयहरु सूचित गर्दछ।
Monorepo — सब कुरा एक repo मा
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).
