# shadcn shadcn/ui conventions: you own the components, `cn()` + CVA variants, Radix + Tailwind, `components.json`. ```bash npx rulepack add shadcn ``` ## What it covers - shadcn/ui is **open code** copied into your repo (`components/ui`) — edit it in place; don't wrap or npm-install it - Add components with the CLI (`npx shadcn@latest add …`); scaffold once with `npx shadcn@latest init` - Class merging with `cn()` (clsx + tailwind-merge) and variants with `cva`, surfaced through props - Radix primitives + Tailwind, `"use client"` on interactive components, `lucide-react` icons - Theming through semantic tokens (`bg-background`, `text-foreground`, …) backed by CSS variables — no hardcoded colors - Honoring `components.json` (style / rsc / baseColor / aliases) for consistent additions ## Source Rules align with the official shadcn/ui documentation: https://ui.shadcn.com ## License MIT