skill

واجهة مستخدم Shadcn

إرشادات متخصصة لدمج وبناء التطبيقات باستخدام مكونات shadcn/ui، بما في ذلك اكتشاف المكونات وتثبيتها وتخصيصها وأفضل الممارسات.

google-labs-code52,133+ تثبيتموثوق

نبذة

# دمج مكونات 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

يعمل مع

claude appclaude codeclaude apicursorcodexwindsurfclinezed

خطوات التثبيت

ثبت باستخدام `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 مجانية؟

نعم، يمكنك استخدامها مجانا.

أصول ذات صلة

مختارات أخرى في التصميم والإبداع.

كل بدائل واجهة مستخدم Shadcn ←
skillclaude_appclaude_codeclaude_api
npx skills add mattpocock/skills
اشوني
مقابلة مكثفة لصقل خطة أو تصميم.1,242,904+
skillclaude_appclaude_codeclaude_api
npx skills add vercel-labs/agent-browser
متصفح الوكيل
أداة سطر أوامر لأتمتة المتصفح لوكلاء الذكاء الاصطناعي. تستخدم عندما يحتاج المستخدم إلى التفاعل مع مواقع الويب، بما في ذلك التنقل بين الصفحات، وملء الن…969,165+
skillclaude_appclaude_codeclaude_api
npx skills add mattpocock/skills
نموذج أولي
أنشئ نموذجا أوليا مؤقتا للإجابة على سؤال تصميمي. استخدمه عندما يرغب المستخدم في التحقق مما إذا كان نموذج الحالة أو المنطق صحيحا، أو لاستكشاف الشكل الذ…853,069+
skillclaude_appclaude_codeclaude_api
npx skills add heygen-com/hyperframes
إطارات فائقة
نقطة الدخول الإلزامية: اقرأ هذا أولا لأي طلب لإنشاء، تعديل، تحريك، أو عرض فيديو، رسوم متحركة، أو رسوم متحركة متحركة، بما في ذلك مقطع ترويجي، فيديو توض…845,188+
skillclaude_appclaude_codeclaude_api
npx skills add heygen-com/hyperframes
رسوم متحركة هايبر فريمز
جميع المعارف المتعلقة بالرسوم المتحركة ل HyperFrames — قواعد الحركة الذرية، مخططات المشاهد متعددة المراحل، انتقالات المشاهد، تقنيات تصميم الحركة الأوس…733,242+
skillclaude_appclaude_codeclaude_api
npx skills add designed-by-ai/skills
تصميم تطبيقات الجوال
صمم شاشات تطبيقات الجوال باستخدام Sleek، وقم بتحرير مشاريع Sleek، وطبق تصميماتها في React Native أو HTML.700,496+

افحص قبل التثبيت

شغل أي مصدر عبر فحوصاتنا - الظهور في الذكاء الاصطناعي والأمان والأداء واكتشاف التقنيات.

المزيد في التصميم والإبداع