Monorepo جادو نیست؛ یک انتخاب سازمانی/فنی است.
وقتی خوب است
- یک محصول، چند اپ مرتبط (web/admin/api)
- تیم کوچک که همه جا تغییر میدهد
- نیاز به اشتراک type و قرارداد API
وقتی بد است
- تیمهای جدا با چرخه انتشار کاملاً مستقل
- بدون CI مناسب (همه چیز با هر PR میشکند)
قواعد حیاتی
- مرز پکیجها روشن
- تست و lint در CI
- دیپلوی جدا برای سرویسها حتی اگر کد یکی است
ساختار apps/web، apps/admin، apps/api که در PelatinCode استفاده میشود دقیقاً برای همین سناریوی محصول واحد طراحی شده است.