skill

Shadcn

shadcn271,676+ تثبيتموثوق

نبذة

# shadcn/ui

A framework for building ui, components and design systems. Components are added as source code to the user's project via the CLI.

> **IMPORTANT:** Run all CLI commands using the project's package runner: `npx shadcn@latest`, `pnpm dlx shadcn@latest`, or `bunx --bun shadcn@latest` — based on the project's `packageManager`. Examples below use `npx shadcn@latest` but substitute the correct runner for the project.

## Current Project Context

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

The JSON above contains the project config and installed components. Use `npx shadcn@latest docs <component>` to get documentation and example URLs for any component.

## Principles

1. **Use existing components first.** Use `npx shadcn@latest search` to check registries before writing custom UI. Check community registries too. 2. **Compose, don't reinvent.** Settings page = Tabs + Card + form controls. Dashboard = Sidebar + Card + Chart + Table. 3. **Use built-in variants before custom styles.** `variant="outline"`, `size="sm"`, etc. 4. **Use semantic colors.** `bg-primary`, `text-muted-foreground` — never raw values like `bg-blue-500`.

## Critical Rules

These rules are **always enforced**. Each links to a file with Incorrect/Correct code pairs.

### Styling & Tailwind → [styling.md](./rules/styling.md)

- **`className` for layout, not styling.** Never override component colors or typography. - **No `space-x-*` or `space-y-*`.** Use `flex` with `gap-*`. For vertical stacks, `flex flex-col gap-*`. - **Use `size-*` when width and height are equal.** `size-10` not `w-10 h-10`. - **Use `truncate` shorthand.** Not `overflow-hidden text-ellipsis whitespace-nowrap`. - **No manual `dark:` color overrides.** Use semantic tokens (`bg-background`, `text-muted-foreground`). - **Use `cn()` for conditional classes.** Don't write manual template literal ternaries. - **No manual `z-index` on overlay components.** Dialog, Sheet, Popover, etc. handle their own stacking.

### Forms & Inputs → [forms.md](./rules/forms.md)

- **Forms use `FieldGroup` + `Field`.** Never use raw `div` with `space-y-*` or `grid gap-*` for form layout. - **`InputGroup` uses `InputGroupInput`/`InputGroupTextarea`.** Never raw `Input`/`Textarea` inside `InputGroup`. - **Buttons inside inputs use `InputGroup` + `InputGroupAddon`.** - **Option sets (2–7 choices) use `ToggleGroup`.** Don't loop `Button` with manual active state. - **`FieldSet` + `FieldLegend` for grouping related checkboxes/radios.** Don't use a `div` with a heading. - **Field validation uses `data-invalid` + `aria-invalid`.** `data-invalid` on `Field`, `aria-invalid` on the control. For disabled: `data-disabled` on `Field`, `disabled` on the control.

### Component Structure → [composition.md](./rules/composition.md)

- **Items always inside their Group.** `SelectItem` → `SelectGroup`. `DropdownMenuItem` → `DropdownMenuGroup`. `CommandItem` → `CommandGroup`. - **Use `asChild` (radix) or `render` (base) for custom triggers.** Check `base` field from `npx shadcn@latest info`. → [base-vs-radix.md](./rules/base-vs-radix.md) - **Dialog, Sheet, and Drawer always need a Title.** `DialogTitle`, `SheetTitle`, `DrawerTitle` required for accessibility. Use `className="sr-only"` if visually hidden. - **Use full Card composition.** `CardHeader`/`CardTitle`/`CardDescription`/`CardContent`/`CardFooter`. Don't dump everything in `CardContent`. - **Button has no `isPending`/`isLoading`.** Compose with `Spinner` + `data-icon` + `disabled`. - **`TabsTrigger` must be inside `TabsList`.** Never render triggers directly in `Tabs`. - **`Avatar` always needs `AvatarFallback`.** For when the image fails to load.

### Use Components, Not Custom Markup → [composition.md](./rules/composition.md)

- **Use existing components before custom markup.** Check if a component exists before writing a styled `div`. - **Callouts use `Alert`.** Don't build custom styled divs. - **Empty states use `Empty`.** Don't build custom empty state markup. - **Toast follows the project base.** Use `toast` from the `toast` component for Base UI projects. Use `toast()` from `sonner` for Radix and React Aria projects. - **Use `Separator`** instead of `<hr>` or `<div className="border-t">`. - **Use `Skeleton`** for loading placeholders. No custom `animate-pulse` divs. - **Use `Badge`** instead of custom styled spans.

### Icons → [icons.md](./rules/icons.md)

- **Icons in `Button` use `data-icon`.** `data-icon="inline-start"` or `data-icon="inline-end"` on the icon. - **No sizing classes on icons inside components.** Components handle icon sizing via CSS. No `size-4` or `w-4 h-4`. - **Pass icons as objects, not string keys.** `icon={CheckIcon}`, not a string lookup.

### Chat & Messaging → [chat.md](./rules/chat.md)

- **Chat UI composes the chat primitives.** Conversations use `MessageScroller`, rows use `Message`, surfaces use `Bubble`. Never hand-rolled bubble `div`s or a raw scroll container. - **`MessageScroller` owns scroll behavio

التثبيت

شغل هذا الأمر

npx skills add shadcn/ui

يعمل مع

claude appclaude codeclaude apicursorcodexwindsurfclinezed

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

Install with `npx skills add shadcn/ui`, or clone the repository and copy the `skills/shadcn` folder into your Claude skills directory.

عرض المصدر

أصول ذات صلة

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

skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/skills && cp -r skills/skills/discernment-nudge ~/.claude/skills/
تنبيه التمييز
أداة التحقق من الدقة والحقائق بعد تقديمك إجابة موضوعية أو مسودة قد يتخذ المستخدم إجراءً بناءً عليها — مثل النصائح أو التوصيات، أو الصيغ المعدة كالأهد…★ 4.8 · 2,500+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/skills && cp -r skills/skills/theme-factory ~/.claude/skills/
مصنع المظاهر
مجموعة أدوات لتنسيق المصنوعات بواسطة مواضيع تصميمية. يمكن لهذه المصنوعات أن تكون شرائح عرض أو وثائق أو تقارير أو صفحات هبوط HTML وغيرها. يتضمن 10 مواض…★ 4.8 · 2,500+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/skills && cp -r skills/skills/docx ~/.claude/skills/
مستند Word
استخدم هذه المهارة كلما أراد المستخدم إنشاء أو قراءة أو تعديل أو التعامل مع مستندات Word (.docx). تتضمن المحفزات: أي إشارة إلى "مستند Word" أو "وثيقة…★ 4.8 · 2,500+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/skills && cp -r skills/skills/academy-guide ~/.claude/skills/
دليل الأكاديمية
تحقق من هذه المهارة وأوقفها قبل الانتهاء من أي رد على أسئلة حول كيفية استخدام Claude أو أي منتج من منتجات Claude — فهي توصي بمطابقة الدورات والبرامج ا…★ 4.8 · 2,500+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/skills && cp -r skills/skills/pptx ~/.claude/skills/
العروض التقديمية
استخدم هذه المهارة في أي وقت يتضمن ملف .pptx بأي شكل — سواء كمدخل أو مخرج أو كليهما. يشمل ذلك: إنشاء عروض شرائح أو عروض ملخصات أو عروض تقديمية؛ قراءة…★ 4.8 · 2,500+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/skills && cp -r skills/skills/doc-coauthoring ~/.claude/skills/
تأليف المستندات معا
إرشاد المستخدمين خلال سير عمل منظم للتأليف المشترك للوثائق. استخدم هذا عندما يرغب المستخدم في كتابة وثائق أو اقتراحات أو مواصفات تقنية أو وثائق القرار…★ 4.8 · 2,500+

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

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

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