الكتابات/news/2026/06
News2 يونيو 2026·6 دقيقة

shadcn تطلق سجلّات GitHub: حوّل أي مستودع إلى مصدر للمكوّنات

أصبح بإمكان المطوّرين الآن تحويل أي مستودع GitHub عام إلى سجلّ قابل للتثبيت عبر shadcn/ui. أضِف ملف registry.json، ويستطيع الآخرون سحب المكوّنات والإعدادات والوثائق وقواعد وكلاء الذكاء الاصطناعي مباشرةً عبر سطر أوامر shadcn — دون الحاجة إلى خادم سجلّ.

أطلقت shadcn/ui ميزة سجلّات GitHub، التي تحوّل أي مستودع GitHub عام إلى سجلّ قابل للتثبيت. فبمجرد إضافة ملف registry.json واحد في جذر المستودع، يصبح بإمكان أي شخص سحب المكوّنات والإعدادات والوثائق، بل وحتى قواعد وكلاء الذكاء الاصطناعي مباشرةً عبر سطر أوامر shadcn — دون خادم سجلّ يجب استضافته ودون ملفات JSON مُولَّدة يجب نشرها.

يوسّع هذا الإصدار نظام السجلّات الذي جعلته shadcn شائعاً لتوزيع مكوّنات React، ويزيل واحدة من أكبر نقاط الاحتكاك فيه. فحتى الآن، كان مشاركة سجلّ تعني إنشاء خادم أو نشر ملفات JSON ثابتة على نقطة وصول مُستضافة. أما مع سجلّات GitHub، فيصبح المستودع نفسه هو مصدر الحقيقة.

أبرز النقاط

  • يمكن تحويل أي مستودع GitHub عام إلى سجلّ بإضافة ملف registry.json في جذره.
  • تُثبَّت العناصر بصيغة عنوان بسيطة: pnpm dlx shadcn@latest add owner/repo/item.
  • لا تقتصر عناصر السجلّ على مكوّنات React — بل تشمل الملفات المصدرية والإعدادات والوثائق والقوالب وسير عمل CI وإعدادات MCP وقواعد الوكلاء.
  • لا حاجة إلى خادم سجلّ أو نقطة وصول JSON مُستضافة؛ المستودع هو السجلّ.
  • يمكن تثبيت الإصدار عند وسم أو معرّف Commit أو فرع للحصول على نتائج قابلة للتكرار.

كيف تعمل

للنشر، يضيف القائم على الصيانة ملف registry.json إلى جذر مستودع عام. ويتوافق هذا الملف مع مخطّط سجلّ shadcn، ويصف كل عنصر قابل للمشاركة: ملفاته، وأماكن وجهته داخل مشروع المستهلك، وأي اعتماديات.

أما على جانب المستهلك، فيستخدم التثبيت عنواناً بصيغة owner/repo/item. فعلى سبيل المثال، يجلب الأمر pnpm dlx shadcn@latest add acme/toolkit/project-conventions عنصراً يُدعى project-conventions من المستودع toolkit المملوك لـacme. وبما أن العنوان يُحَلّ مقابل GitHub مباشرةً، فلا توجد خطوة تسجيل لمساحة الأسماء.

قابلية التكرار مدمجة في الميزة. إذ يمكن للمستهلكين إلحاق مرجع Git لتثبيت الإصدار عند نسخة محددة — وسم إصدار مثل #v1.0.0، أو معرّف Commit كامل، أو اسم فرع. وهذا يجعل استهلاك السجلّ أقرب إلى اعتمادية ذات إصدار منه إلى عملية نسخ ولصق لمرة واحدة.

كما يوفّر سطر الأوامر أوامر داعمة للعمل مع هذه السجلّات: يتحقق registry validate من سلامة بنية registry.json، ويسرد list العناصر التي يكشفها السجلّ، ويُرشِّح search العناصر حسب الاستعلام، وتعرض راية --dry-run ما سيكتبه التثبيت قبل لمس نظام الملفات.

ما هو أبعد من المكوّنات

أهم تحوّل هو في ماهية ما يُعَدّ عنصر سجلّ. فلم تعد سجلّات shadcn مجرد قناة لتوصيل مكوّنات الواجهة. إذ تدعم الوثائق صراحةً توزيع ملفات الإعداد مثل إعدادات Vitest وPrettier وTypeScript، إلى جانب الوثائق والقوالب وسير عمل CI/CD وإعدادات MCP وقواعد الوكلاء.

وتقع هذه الفئة الأخيرة في صميم اللحظة الراهنة. فمع توحيد الفرق لطريقة عمل وكلاء البرمجة بالذكاء الاصطناعي عبر المشاريع، فإن سجلّاً قادراً على توصيل أعراف من نمط AGENTS.md وقواعد التوجيه وإعدادات الأدوات عبر القناة نفسها المستخدمة للمكوّنات يحوّل تجهيز المشروع إلى وحدة واحدة قابلة للتثبيت. ويمكن لأي فريق أن يحزم أسلوبه الكامل — المكوّنات وفحص الأكواد وإعداد الاختبارات وتوجيه الوكلاء — ويترك أي مستودع يسحبه بأمر واحد.

الأثر

بالنسبة لمنظومة الواجهات الأمامية، تخفض سجلّات GitHub حاجز صيانة مكتبة مكوّنات مشتركة إلى ما يقارب الصفر. فيستطيع القائمون المستقلون وفِرَق المنصات الداخلية على حدّ سواء توزيع لبنات البناء دون تشغيل بنية تحتية، ويحصل المستهلكون على عمليات تثبيت ذات إصدار وقابلة للتدقيق بدلاً من حِزم غامضة.

وثمة مجتمع متنامٍ يدور بالفعل حول صيغة السجلّ — أدلّة تفهرس السجلّات الموثوقة، ومتتبّعات تغييرات بأسلوب RSS، وعشرات مكتبات المكوّنات من أطراف ثالثة مبنية على سطر الأوامر. وجعل المستودع نفسه هو السجلّ يزيل ضريبة الإعداد المتبقية أمام هذا المجتمع، ومن المرجّح أن يسرّع عدد السجلّات العامة.

أما بالنسبة للأكواد الخاصة، فهناك تحفّظ: لا تدعم صيغة عنوان GitHub المستودعات الخاصة ولا مضيفات GitHub Enterprise. ويتعيّن على الفرق التي تحتاج إلى توزيع موثَّق الاستمرار في استخدام سجلّات مساحات الأسماء مع بيانات الاعتماد.

الخلفية

برزت shadcn/ui عبر رفض نموذج حِزَم npm التقليدي لمجموعات الواجهات. فبدلاً من تثبيت اعتمادية غامضة، ينسخ المطوّرون كود المكوّن المصدري إلى قاعدة أكوادهم الخاصة، حيث يملكونه ويمكنهم تعديله. وقد رسّم نظام السجلّات سير عمل النسخ-إلى-مشروعك هذا في صيغة قابلة للتوزيع، وجعله سطر الأوامر قابلاً للبرمجة.

وسجلّات GitHub هي النتيجة المنطقية لهذه الفلسفة: إذا كانت مكوّناتك موجودة أصلاً كملفات عادية في مستودع، فينبغي أن يكون المستودع وحده كل ما تحتاجه لمشاركتها.

ما التالي

من المتوقّع أن يتوسّع دليل السجلّات بسرعة مع تحويل القائمين على الصيانة لمستودعاتهم الحالية بملف واحد، وراقِب نمو سجلّات قواعد الوكلاء والإعدادات جنباً إلى جنب مع مكتبات المكوّنات. ومع عمليات التثبيت القابلة للتكرار والمثبَّتة عند مرجع ودعم أي نوع من الملفات، يستمر الخط الفاصل بين سجلّ واجهات وأداة تجهيز مشاريع عامة في التلاشي.


المصدر: shadcn/ui — GitHub Registries