Для разработчиков

Проверка кода (ESLint)

Правила Umbra в ESLint: что ловят и как подключить

npx shadcn@latest add @umbra/eslint

Один файл eslint.umbra.mjs без зависимостей. Плоский конфиг ESLint 9 (и ESLint 8.57 с eslint.config.js)

Правило Что ловит
umbra/no-raw-color #fff, rgb(), bg-[#fff], text-zinc-500 в классах и style
umbra/no-arbitrary-value p-[13px], rounded-[10px]; разрешено w-[var(--sidebar)]
umbra/spacing-scale отступы вне шкалы 8 / 12 / 16 / 20 / 24 / 32 (p-7, gap-2.5)
umbra/radius-scale rounded-lg, rounded и другие радиусы вне шкалы
umbra/no-opacity-modifier bg-primary/50: в Tailwind 3.4 не работает с токенами
umbra/no-foreign-icons lucide-react, react-icons, @heroicons/react и другие
umbra/no-arrow-icons стрелки Phosphor Arrow* и любые *Arrow* (CloudArrowUp): направление только шевроном Caret* bold
umbra/glass-layer предупреждение: backdrop-filter и стекло у плитки, стекло внутри стекла (классы umbra-glass*, glass*)
umbra/phosphor-weight Phosphor без weight="fill", шеврон Caret* в заливке (треугольник), запрещённые *Circle, *Square

Когда брать

В каждый продукт. Для постепенного перехода правила можно временно перевести в warn для старых папок

Когда не брать

Не нужен в проектах без интерфейса

У этого элемента нет живого примера: он ставит файлы или правила. Подключение во вкладке «Код»