عن المشروع

يُوصَف coss.com/ui (المعروف سابقاً باسم Origin UI) بأنه نظام التصميم الرسمي لـ Cal.com. المستودع عبارة عن monorepo يحتوي على عدة منتجات وتطبيقات، جميعها مكتوبة بلغة TypeScript وتتم إدارتها بواسطة Turborepo. تخطيط المستودع يسرد الـ monorepo هذه التطبيقات والحزم: - apps/www/ — موقع coss.com الرئيسي - apps/ui/ — مكتبة مكونات coss ui والتوثيقات الخاصة بها - apps/origin/ — مكونات Origin UI القديمة، المحفوظة كلقطة سابقة للاستحواذ - packages/ui/ — حزمة مكونات UI المشتركة - packages/typescript-config/ — إعدادات TypeScript - biome.json — إعداد Biome المشترك لعمليات linting والتنسيق متغيرات البيئة بما أن العديد من تطبيقات Next.js ترتبط ببعضها البعض، يحتاج كل تطبيق إلى ملف .env.local خاص به لضمان عمل التنقل بين التطبيقات محلياً. يوثق ملف README المتغيرات الخاصة بتطبيق www (NEXT_PUBLIC_APP_URL, NEXT_PUBLIC_COSS_UI_URL)، وتطبيق ui (NEXT_PUBLIC_APP_URL, NEXT_PUBLIC_COSS_URL, NEXT_PUBLIC_ORIGIN_URL)، وتطبيق origin (NEXT_PUBLIC_APP_URL, NEXT_PUBLIC_COSS_URL, NEXT_PUBLIC_COSS_UI_URL)، مع منافذ localhost تجريبية 3000 و4000 و4001. يقوم Turborepo بمراقبة ملفات .env*، لذا يتم إبطال ذاكرة التخزين المؤقت عند تغيير هذه المتغيرات. سير عمل التطوير تتضمن الأدوات TypeScript للتحقق من الأنواع الثابتة وBiome لعمليات linting والتنسيق. يتم تشغيل الأوامر باستخدام bun: حيث يقوم `bun run build` و `bun run dev` ببناء أو تشغيل كل شيء، بينما تستهدف `--filter=www` أو `--filter=ui` أو `--filter=origin` تطبيقاً واحداً. ما الذي يوفره coss ui يُقدم coss ui كمجموعة من مكونات React القابلة للتركيب والوصول، المبنية فوق Base UI والمصممة باستخدام Tailwind CSS، بحيث يمكن للمطورين نسخ الكود ولصقه وامتلاكه. يذكر ملف README أن العناصر الأولية غير المنسقة في Base UI قد مُنحت نظام تصميم جاهز للاستخدام، وأن هذه هي مكتبة المكونات التي تخطط Cal.com لاعتمادها تدريجياً. ويستمر التطوير بشكل مفتوح. الاستحواذ على Origin UI يتضمن المستودع مكونات Origin UI كلقطة قديمة: وهي مجموعة تعتمد على Radix وبنمط shadcn، تظل قابلة للاستخدام ولكن بدعم وصيانة محدودة. ويُذكر أن العمل النشط يركز على مكونات Particles الجديدة المبنية على أساسيات coss ui. المساهمات مرحب بها عبر الإرشادات الموجودة في apps/ui/CONTRIBUTING.md، والتي تغطي تقارير الأخطاء والميزات والتوثيق. الترخيص التراخيص مختلطة؛ حيث أن الترخيص الافتراضي للمشروع هو AGPLv3.0، بينما تظل apps/origin/ و apps/ui/ تحت ترخيص MIT الأصلي؛ وتخضع جميع المجلدات الأخرى لـ AGPLv3. التفاصيل موجودة في LICENSING.md. شكر وتقدير يشيد ملف README بـ Tailwind CSS لإطار عمل CSS القائم على الأدوات (utility-first)، وBase UI للعناصر الأولية القابلة للوصول التي تستند إليها المكونات، وshadcn/ui لإلهام فلسفة مكونات النسخ واللصق، وFumadocs لإطار عمل التوثيق المستخدم في توثيق المكونات.