عن المشروع
تعد GitLab UI for React (glui) نسخة React من مكتبة المكونات التي تدعم نظام تصميم Pajamas الخاص بـ GitLab. تنشر GitLab التنفيذ الأصلي لواجهة المستخدم باستخدام Vue ولا تدعم React رسميًا؛ لذا يقوم هذا المشروع بإعادة تنفيذ مجموعة المكونات تلك لـ React، بهدف مطابقة المظهر والسلوك وأنماط التفاعل وإمكانية الوصول للمكونات الأصلية مع توفير واجهة برمجة تطبيقات (API) لـ React تكون اصطلاحية وآمنة من حيث النوع.
الحالة
ينص ملف README بوضوح على أن المشروع قيد التطوير المكثف. كما يتضمن تحذيرًا بأن معظم الكود والاختبارات تمت كتابتها بواسطة أدوات الذكاء الاصطناعي (Codex وKimi Code): حيث حدد البشر البنية والأولويات وقرارات التصميم، لكنهم لم يراجعوا معظم الكود سطرًا بسطر، لذا يطلب المطورون من المستخدمين المضي قدمًا على مسؤوليتهم الخاصة.
المتاح حاليًا، وفقًا لملف README:
- حزمة قابلة للتوزيع من رموز تصميم GitLab تحت packages/tokens، مع الإشارة إلى دليل رموز التصميم الرسمي كمرجع كامل.
- أنماط أساسية في packages/styles/src، بالإضافة إلى حزمة أنماط مسبقة البناء في packages/styles/dist/gitlab-ui.css.
- مكونات أساسية تشمل GlButton وGlLink وGlBadge وGlCard.
الأعمال الجارية، وفقًا لملف README:
- مكونات النماذج (Form components).
- المكونات المركبة المتقدمة.
- مكونات المخططات البيانية.
- سير عمل نشر الحزم.
- التوثيق.
- فحوصات التوافق واتساق واجهة برمجة التطبيقات.
موارد المشروع
- الموقع الإلكتروني: https://glui.nocp.space
- Storybook: https://glui-story.nocp.space
- مورد التصميم الأصلي ذو الصلة (Pajamas Design System): https://design.gitlab.com
- المستودع الأصلي: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com
يتضمن المستودع شارة سير عمل CI، والمساهمات مرحب بها عبر عمل fork وفتح pull request (يشير ملف README إلى دليل GitHub لإنشاء pull request من fork). المشروع مرخص بموجب رخصة MIT.
من قد يستفيد منه
الفرق التي تبني واجهات React والتي تحتاج إلى أن تبدو وتتصرف مثل نظام تصميم GitLab، أو أي شخص يريد رموز تصميم GitLab وأنماطها الأساسية في توزيع متوافق مع React. وبسبب حالة التطوير المعلنة ومصدر الكود المعتمد بكثافة على الذكاء الاصطناعي، يجب تقييمه بعناية قبل استخدامه في بيئة الإنتاج.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.