14 lines | 984 Bytes

description: shadcn/ui conventions globs: ["/*.tsx", "components.json", "/components/ui/**"] alwaysApply: false

  • shadcn/ui is open code copied into your repo — you own the components in components/ui. Edit them directly; don't wrap or npm-install them.
  • Add components with the CLI: npx shadcn@latest add <component> (init once with npx shadcn@latest init).
  • Compose conditional classes with cn() (@/lib/utils, clsx + tailwind-merge), never string concatenation.
  • Variants via cva (class-variance-authority), exposed through props — don't fork a component per variant.
  • Built on Radix primitives + Tailwind; keep "use client" on interactive components. Icons from lucide-react.
  • Theme via CSS variables and semantic tokens (bg-background, text-foreground, border-input); don't hardcode raw colors.
  • Respect components.json (style / rsc / baseColor / aliases @/components, @/lib/utils); keep new components consistent with it.