skill
واجهة مستخدم Shadcn
إرشادات متخصصة لدمج وبناء التطبيقات باستخدام مكونات shadcn/ui، بما في ذلك اكتشاف المكونات وتثبيتها وتخصيصها وأفضل الممارسات.
نبذة
# دمج مكونات shadcn/ui
أنت مهندس واجهات أمامية متخصص في بناء التطبيقات باستخدام shadcn/ui—وهي مجموعة من المكونات المصممة بشكل جميل، والمتاحة، والقابلة للتخصيص، والمبنية باستخدام Radix UI أو Base UI و Tailwind CSS. أنت تساعد المطورين على اكتشاف المكونات ودمجها وتخصيصها باتباع أفضل الممارسات.
## المبادئ الأساسية
shadcn/ui **ليست مكتبة مكونات**—إنها مجموعة من المكونات القابلة لإعادة الاستخدام التي تنسخها إلى مشروعك. يمنحك هذا: - **الملكية الكاملة**: تعيش المكونات في قاعدة التعليمات البرمجية الخاصة بك، وليس في node_modules - **التخصيص الكامل**: تعديل الأنماط والسلوك والهيكل بحرية، بما في ذلك الاختيار بين Radix UI أو Base UI primitives - **لا يوجد قفل للإصدار**: تحديث المكونات بشكل انتقائي بالسرعة التي تناسبك - **صفر تكلفة تشغيلية**: لا توجد حزمة مكتبة، فقط التعليمات البرمجية التي تحتاجها
## اكتشاف المكونات وتثبيتها
### 1. تصفح المكونات المتاحة
استخدم أدوات shadcn MCP لاستكشاف كتالوج المكونات ودليل السجل (Registry Directory): - **سرد جميع المكونات**: استخدم `list_components` لرؤية الكتالوج الكامل - **الحصول على بيانات وصفية للمكونات**: استخدم `get_component_metadata` لفهم الخصائص (props) والتبعيات والاستخدام - **عرض عروض المكونات التوضيحية**: استخدم `get_component_demo` لرؤية أمثلة التنفيذ
### 2. تثبيت المكونات
هناك طريقتان لإضافة المكونات:
**أ. التثبيت المباشر (موصى به)** ```bash npx shadcn@latest add [component-name] ```
يقوم هذا الأمر بما يلي: - تنزيل التعليمات البرمجية المصدر للمكون (مع التكيف مع إعداداتك: Radix مقابل Base UI) - تثبيت التبعيات المطلوبة - وضع الملفات في `components/ui/` - تحديث ملف `components.json` الخاص بك
**ب. الدمج اليدوي** 1. استخدم `get_component` لاسترداد التعليمات البرمجية المصدر 2. أنشئ الملف في `components/ui/[component-name].tsx` 3. قم بتثبيت التبعيات النظيرة (peer dependencies) يدويا 4. اضبط الاستيرادات إذا لزم الأمر
### 3. السجل والسجلات المخصصة
إذا كنت تعمل مع سجل مخصص (معرف في `components.json`) أو تستكشف دليل السجل (Registry Directory): - استخدم `get_project_registries` لسرد السجلات المتاحة - استخدم `list_items_in_registries` لرؤية المكونات الخاصة بالسجل - استخدم `view_items_in_registries` للحصول على معلومات مفصلة عن المكونات - استخدم `search_items_in_registries` للعثور على مكونات محددة
## إعداد المشروع
### التكوين الأولي
ل **المشاريع الجديدة**، استخدم الأمر `create` لتخصيص كل شيء (النمط، الخطوط، مكتبة المكونات):
```bash npx shadcn@latest create ```
ل **المشاريع الحالية**، قم بتهيئة التكوين:
```bash npx shadcn@latest init ```
ينشئ هذا ملف `components.json` مع تكوينك: - **style**: default, new-york (كلاسيكي) أو اختر أنماطا بصرية جديدة مثل Vega, Nova, Maia, Lyra, Mira - **baseColor**: slate, gray, zinc, neutral, stone - **cssVariables**: true/false لاستخدام متغيرات CSS - **tailwind config**: مسارات ملفات Tailwind - **aliases**: اختصارات مسار الاستيراد - **rsc**: استخدام مكونات خادم React (نعم/لا) - **rtl**: تمكين دعم RTL (اختياري)
### التبعيات المطلوبة
تتطلب مكونات shadcn/ui ما يلي: - **React** (18+) - **Tailwind CSS** (3.0+) - **Primitives**: Radix UI أو Base UI (حسب اختيارك) - **class-variance-authority** (لأنماط المتغيرات) - **clsx** و **tailwind-merge** (لتكوين الفئات)
## بنية المكونات
### هيكل الملفات ``` src/ ├── components/ │ ├── ui/ # مكونات shadcn │ │ ├── button.tsx │ │ ├── card.tsx │ │ └── dialog.tsx │ └── [custom]/ # مكوناتك المركبة │ └── user-card.tsx ├── lib/ │ └── utils.ts # أداة cn() المساعدة └── app/ └── page.tsx ```
### الأداة المساعدة `cn()`
تستخدم جميع مكونات shadcn المساعد `cn()` لدمج الفئات:
```typescript import { clsx, type ClassValue } from "clsx" import { twMerge } from "tailwind-merge"
export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)) } ```
يتيح لك هذا: - تجاوز الأنماط الافتراضية دون تعارضات - تطبيق الفئات بشكل شرطي - دمج فئات Tailwind بذكاء
## أفضل ممارسات التخصيص
### 1. تخصيص المظهر (Theme)
عدل إعدادات Tailwind ومتغيرات CSS في `app/globals.css`:
```css @layer base { :root { --background: 0 0% 100%; --foreground: 222.2 84% 4.9%; --primary: 221.2 83.2% 53.3%; /* ... المزيد من المتغيرات */ } .dark { --background: 222.2 84% 4.9%; --foreground: 210 40% 98%; /* ... تجاوزات الوضع الداكن */ } } ```
### 2. متغيرات المكونات (Component Variants)
استخدم `class-variance-authority` (cva) لمنطق المتغيرات:
```typescript import { cva } from "class-variance-authority"
const buttonVariants = cva( "inline-flex items-center justify-center rounded-md", { variants: { variant: { default: "bg-primary text-primary-foreground", outline: "border border-input", }, size: { default: "h-10 px-4 py-2", sm: "h-9 rounded-md px-3", }, }, defaultVariants: { variant: "default", size: "default", }, } ) ```
### 3. توسيع المكونات
التثبيت
شغل هذا الأمر
npx skills add google-labs-code/stitch-skillsيعمل مع
خطوات التثبيت
ثبت باستخدام `npx skills add google-labs-code/stitch-skills`، أو استنسخ المستودع وانسخ مجلد `plugins/stitch-build/skills/shadcn-ui` إلى دليل مهارات Claude الخاص بك.
أسئلة شائعة
ما هي مهارة واجهة مستخدم Shadcn؟
إرشادات متخصصة لدمج وبناء التطبيقات باستخدام مكونات shadcn/ui، بما في ذلك اكتشاف المكونات وتثبيتها وتخصيصها وأفضل الممارسات.
كيف أثبت واجهة مستخدم Shadcn؟
شغل هذا الأمر في الطرفية:
npx skills add google-labs-code/stitch-skillsمع أي أدوات ذكاء اصطناعي تعمل واجهة مستخدم Shadcn؟
تعمل مع claude_app، claude_code، claude_api، cursor، codex، windsurf، cline، zed.
من طور واجهة مستخدم Shadcn؟
طورها google-labs-code.
هل واجهة مستخدم Shadcn مجانية؟
نعم، يمكنك استخدامها مجانا.
npx skills add mattpocock/skills
npx skills add vercel-labs/agent-browser
npx skills add mattpocock/skills
npx skills add heygen-com/hyperframes
npx skills add heygen-com/hyperframes
npx skills add designed-by-ai/skills
افحص قبل التثبيت
شغل أي مصدر عبر فحوصاتنا - الظهور في الذكاء الاصطناعي والأمان والأداء واكتشاف التقنيات.
مختبر وكلاء الذكاء الاصطناعي
اختبار الذكاء الاصطناعي
فحص أمني تلقائي للموقع
الأمان
اختبار جودة المحتوى العربي بالذكاء الاصطناعي
جودة المحتوى
كاشف منصة الموقع
الترحيل
محلل سرعة الصفحة
الأداء
تدقيق الظهور في محركات الذكاء الاصطناعي
الظهور في الذكاء الاصطناعي
مولد ملف llms.txt
الظهور في الذكاء الاصطناعي
منشئ البيانات المنظمة
الظهور في الذكاء الاصطناعي
مقياس سهولة القراءة بالعربية
جودة المحتوى
حاسبة تكاليف الذكاء الاصطناعي
اختبار الذكاء الاصطناعي
محلل العناوين العربية
جودة المحتوى