Why a rules file and not collocated with your components:
→ You can have one design system but different rules. Think a workspace with marketing site and a dashboard. You could allow `motion` classes on the marketing site but not the dashboard.
→ You can write rules for third-party components inside node_modules. Components you don't own.
→ One rule can cover many components. ^.*Content$ is every CardContent, DialogContent, AccordionContent.
→ You don't touch your existing code.
Introducing shadcn/lint. An agent-first linter for Tailwind design systems.
You define what’s allowed. When an agent breaks a rule, the error explains what’s wrong and how to fix it using your components, variants and theme.
There’s a lot you can do with this. Let me show you ↓