Monorepo (பல project/service களுக்கான ஒரு repository) மற்றும் polyrepo (ஒரு project க்கு தனி repository) என்பவை பல project களில் குறிப்புக் குறிப்பை ஒழுங்குபடுத்தும் இரண்டு உத்திகள். ஒவ்வொரு ஒன்றிலும் collaboration, tooling, மற்றும் scaling ஐ பாதிக்கும் குறிப்பிடத்தக்க வர்த்தக-off உள்ளது — அவற்றைப் புரிந்துகொள்வது முக்கியமான கட்டமைப்பு முடிவுகளைத் தெரிவிக்கிறது.
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).
