skill

شادسن

يدير مكونات ومشاريع shadcn — إضافة، بحث، إصلاح، تصحيح، تصميم، وتأليف واجهة المستخدم، بما في ذلك واجهات الدردشة. يوفر سياق المشروع، وثائق المكونات، وأمثلة الاستخدام. ينطبق عند العمل مع shadcn/ui، سجلات المكونات، الإعدادات المسبقة، أكواد --preset، أو أي مشروع يحتوي على ملف components.json. يتم تفعيله أيضا ل "shadcn init"، "create an app with --preset"، أو "switch to --preset".

shadcn-ui75,334+ تثبيتموثوق

نبذة

# shadcn/ui

إطار عمل لبناء واجهة المستخدم والمكونات وأنظمة التصميم. تضاف المكونات كشفرة مصدرية إلى مشروع المستخدم عبر CLI.

> **هام:** قم بتشغيل جميع أوامر CLI باستخدام مشغل الحزم الخاص بالمشروع: `npx shadcn@latest`، أو `pnpm dlx shadcn@latest`، أو `bunx --bun shadcn@latest` — بناء على `packageManager` الخاص بالمشروع. تستخدم الأمثلة أدناه `npx shadcn@latest` ولكن استبدل المشغل الصحيح للمشروع.

## سياق المشروع الحالي

```json !`npx shadcn@latest info --json` ```

يحتوي JSON أعلاه على إعدادات المشروع والمكونات المثبتة. استخدم `npx shadcn@latest docs <component>` للحصول على التوثيق وعناوين URL للأمثلة لأي مكون.

## المبادئ

1. **استخدم المكونات الموجودة أولا.** استخدم `npx shadcn@latest search` للتحقق من السجلات قبل كتابة واجهة مستخدم مخصصة. تحقق من سجلات المجتمع أيضا. 2. **ركب، لا تعيد اختراع العجلة.** صفحة الإعدادات = Tabs + Card + عناصر تحكم النموذج. لوحة التحكم = Sidebar + Card + Chart + Table. 3. **استخدم المتغيرات المدمجة قبل الأنماط المخصصة.** `variant="outline"`، `size="sm"`، إلخ. 4. **استخدم الألوان الدلالية.** `bg-primary`، `text-muted-foreground` — لا تستخدم أبدا قيما خاما مثل `bg-blue-500`.

## القواعد الأساسية

هذه القواعد **مفروضة دائما**. كل منها يرتبط بملف يحتوي على أزواج من الأكواد غير الصحيحة/الصحيحة.

### التصميم و Tailwind → [styling.md](./rules/styling.md)

- **`className` للتخطيط، وليس للتصميم.** لا تقم أبدا بتجاوز ألوان المكونات أو الطباعة. - **لا تستخدم `space-x-*` أو `space-y-*`.** استخدم `flex` مع `gap-*`. للمكدسات العمودية، `flex flex-col gap-*`. - **استخدم `size-*` عندما يكون العرض والارتفاع متساويين.** `size-10` وليس `w-10 h-10`. - **استخدم اختصار `truncate`.** وليس `overflow-hidden text-ellipsis whitespace-nowrap`. - **لا تستخدم تجاوزات الألوان اليدوية `dark:`.** استخدم الرموز الدلالية (`bg-background`، `text-muted-foreground`). - **استخدم `cn()` للفئات الشرطية.** لا تكتب تعابير ثلاثية يدوية لقوالب النصوص. - **لا تستخدم `z-index` يدويا على مكونات التراكب.** Dialog، Sheet، Popover، إلخ. تتعامل مع ترتيب التكدس الخاص بها.

### النماذج والمدخلات → [forms.md](./rules/forms.md)

- **تستخدم النماذج `FieldGroup` + `Field`.** لا تستخدم أبدا `div` خاما مع `space-y-*` أو `grid gap-*` لتخطيط النموذج. - **تستخدم `InputGroup` كل من `InputGroupInput`/`InputGroupTextarea`.** لا تستخدم أبدا `Input`/`Textarea` خاما داخل `InputGroup`. - **تستخدم الأزرار داخل المدخلات `InputGroup` + `InputGroupAddon`.** - **تستخدم مجموعات الخيارات (2-7 خيارات) `ToggleGroup`.** لا تقم بتكرار `Button` بحالة نشطة يدوية. - **`FieldSet` + `FieldLegend` لتجميع مربعات الاختيار/أزرار الراديو ذات الصلة.** لا تستخدم `div` مع عنوان. - **يستخدم التحقق من صحة الحقل `data-invalid` + `aria-invalid`.** `data-invalid` على `Field`، `aria-invalid` على عنصر التحكم. للمعطل: `data-disabled` على `Field`، `disabled` على عنصر التحكم.

### هيكل المكونات → [composition.md](./rules/composition.md)

- **العناصر دائما داخل مجموعتها.** `SelectItem` → `SelectGroup`. `DropdownMenuItem` → `DropdownMenuGroup`. `CommandItem` → `CommandGroup`. - **استخدم `asChild` (radix) أو `render` (base) للمشغلات المخصصة.** تحقق من حقل `base` من `npx shadcn@latest info`. → [base-vs-radix.md](./rules/base-vs-radix.md) - **تحتاج Dialog و Sheet و Drawer دائما إلى عنوان.** `DialogTitle`، `SheetTitle`، `DrawerTitle` مطلوبة لإمكانية الوصول. استخدم `className="sr-only"` إذا كانت مخفية بصريا. - **استخدم تركيبة Card الكاملة.** `CardHeader`/`CardTitle`/`CardDescription`/`CardContent`/`CardFooter`. لا تضع كل شيء في `CardContent`. - **لا يحتوي Button على `isPending`/`isLoading`.** ركب مع `Spinner` + `data-icon` + `disabled`. - **يجب أن يكون `TabsTrigger` داخل `TabsList`.** لا تعرض المشغلات مباشرة في `Tabs`. - **يحتاج `Avatar` دائما إلى `AvatarFallback`.** عندما تفشل الصورة في التحميل.

### استخدم المكونات، وليس الترميز المخصص → [composition.md](./rules/composition.md)

- **استخدم المكونات الموجودة قبل الترميز المخصص.** تحقق مما إذا كان المكون موجودا قبل كتابة `div` منسق. - **تستخدم Callouts `Alert`.** لا تبني divs منسقة مخصصة. - **تستخدم Empty states `Empty`.** لا تبني ترميزا مخصصا للحالات الفارغة. - **يتبع Toast قاعدة المشروع.** استخدم `toast` من مكون `toast` لمشاريع Base UI. استخدم `toast()` من `sonner` لمشاريع Radix و React Aria. - **استخدم `Separator`** بدلا من `<hr>` أو `<div className="border-t">`. - **استخدم `Skeleton`** للعناصر النائبة للتحميل. لا تستخدم divs مخصصة `animate-pulse`. - **استخدم `Badge`** بدلا من span منسقة مخصصة.

### الأيقونات → [icons.md](./rules/icons.md)

- **تستخدم الأيقونات في `Button` خاصية `data-icon`.** `data-icon="inline-start"` أو `data-icon="inline-end"` على الأيقونة. - **لا تستخدم فئات تحديد الحجم على الأيقونات داخل المكونات.** تتعامل المكونات مع تحديد حجم الأيقونات عبر CSS. لا تستخدم `size-4` أو `w-4 h-4`. - **مرر الأيقونات ككائنات، وليس كمفاتيح نصية.** `icon={CheckIcon}`، وليس بحثا نصيا.

### الدردشة والمراسلة → [chat.md](./rules/chat.md)

- **تركب واجهة مستخدم الدردشة من عناصر الدردشة الأولية.** تستخدم المحادثات `MessageScroller`، وتستخدم الصفوف `Message`، وتستخدم الأسطح `Bubble`. لا تستخدم أبدا divs فقاعية يدوية أو حاوية تمرير خام. - **يمتلك `MessageScroller` سلوك التمرير.**

التثبيت

شغل هذا الأمر

npx skills add shadcn-ui/ui

يعمل مع

claude appclaude codeclaude apicursorcodexwindsurfclinezed

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

ثبت باستخدام `npx skills add shadcn-ui/ui`، أو استنسخ المستودع وانسخ مجلد `skills/shadcn` إلى دليل مهارات Claude الخاص بك.

عرض المصدر

أسئلة شائعة

ما هي مهارة شادسن؟

يدير مكونات ومشاريع shadcn — إضافة، بحث، إصلاح، تصحيح، تصميم، وتأليف واجهة المستخدم، بما في ذلك واجهات الدردشة. يوفر سياق المشروع، وثائق المكونات، وأمثلة الاستخدام. ينطبق عند العمل مع shadcn/ui، سجلات المكونات، الإعدادات المسبقة، أكواد --preset، أو أي مشروع يحتوي على ملف components.json. يتم تفعيله أيضا ل "shadcn init"، "create an app with --preset"، أو "switch to --preset".

كيف أثبت شادسن؟

شغل هذا الأمر في الطرفية:

npx skills add shadcn-ui/ui
مع أي أدوات ذكاء اصطناعي تعمل شادسن؟

تعمل مع claude_app، claude_code، claude_api، cursor، codex، windsurf، cline، zed.

من طور شادسن؟

طورها shadcn-ui.

هل شادسن مجانية؟

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

أصول ذات صلة

مختارات أخرى في إنشاء المحتوى.

كل بدائل شادسن ←
skillclaude_appclaude_codeclaude_api
npx skills add mattpocock/skills
الشواء مع المستندات
مقابلة مكثفة لصقل خطة أو تصميم، والتي تنشئ أيضا وثائق (ADR's ومسردا) أثناء تقدمنا.1,062,214+
skillclaude_appclaude_codeclaude_api
npx skills add mattpocock/skills
إعداد مهارات مات بوكوك
قم بتهيئة هذا المستودع لمهارات الهندسة: إعداد متتبع المشكلات الخاص به، ومفردات تصنيف الفرز، وتخطيط وثائق المجال. يشغل مرة واحدة قبل الاستخدام الأول لم…933,925+
skillclaude_appclaude_codeclaude_api
npx skills add heygen-com/hyperframes
واجهة سطر الأوامر Hyperframes
استخدم حلقة تطوير HyperFrames CLI: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframe…783,780+
skillclaude_appclaude_codeclaude_api
npx skills add mattpocock/skills
نمذجة النطاق
لبناء وصقل النموذج النطاقي للمشروع. يستخدم عند مناقشة مصطلحات قاعدة الكود، أو كتابة أو تعديل ملف GLOSSARY.md، أو تسجيل أو تعديل ADR.747,767+
skillclaude_appclaude_codeclaude_api
npx skills add heygen-com/hyperframes
Hyperframes الأساسية
عقد تركيب HyperFrames — أنشئ مشروعا واحدا قابلا للتقديم. استخدمه لهيكل التركيب، وسمات التوقيت `data-*`، و`class="clip"`، والمسارات، والتركيبات الفرعية…646,714+
skillclaude_appclaude_codeclaude_api
npx skills add microsoft/azure-skills
بوابة Azure AI
تهيئة Azure API Management كبوابة للذكاء الاصطناعي لنماذج الذكاء الاصطناعي وأدوات MCP والوكلاء. متى: التخزين المؤقت الدلالي، حد الرمز المميز، سلامة ال…605,853+

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

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

المزيد في إنشاء المحتوى