lint is live · free · last verified 4 Nov 2026 · viability healthy
lint
Agent-first Tailwind linter that turns shadcn/ui design-system violations into fixes coding agents can act on.
Worth a pilot if coding agents already touch a Tailwind v4 codebase and keep restyling your primitives. The linting itself is table stakes; the product is the error text, which hands an agent a repair path using your components and theme. The 150+ task-run numbers are specific enough to be checked. At 96 commits, keep it a pilot.
Verdict generatedVerified 9d ago · liveness 72/100 · cite: rightaichoice.com/tools/lint
- Teams running coding agents on a Tailwind v4 codebase who want machine-readable design-system constraints
- Design-system maintainers who need enforceable per-component rules rather than prose guidelines
- Frontend engineers on Tailwind v4 who want component-, variant-, and theme-aware lint output
- shadcn/ui users and non-users who want lint errors an agent can act on without human translation
- Projects on Tailwind v3 or earlier
- Teams looking for a general-purpose JavaScript or TypeScript linter
- Anyone expecting a hosted dashboard or standalone CI product — this is a repo-level linter
We scan live Reddit threads, YouTube comments, X posts, G2 reviews and other communities — and hand you an honest verdict in under a minute.
- Honest verdict, not marketing
- Real pros & cons from real users
- Attributed quotes with receipts
3 free scans · no card needed
Skip @shadcn/lint if your project is on Tailwind v3 or earlier, or if you have not defined component, variant, and theme rules yet — there is nothing for the contracts to enforce.
@shadcn/lint is MIT licensed at $0 and distributed as a pnpm workspace monorepo, so there is no seat or usage cost at any team size. Budget for the opposite dependency: you pay in rule authoring and maintenance time, since per-component contracts for pattern, allow, and deny lists have to be written and kept current as your design system changes.
In short
lint — Agent-first Tailwind linter that turns shadcn/ui design-system violations into fixes coding agents can act on. Best for Teams running coding agents on a Tailwind v4 codebase who want machine-readable design-system constraints, Design-system maintainers who need enforceable per-component rules rather than prose guidelines, Frontend engineers on Tailwind v4 who want component-, variant-, and theme-aware lint output. Free to use.
What is lint?
lint — Agent-first Tailwind linter that turns shadcn/ui design-system violations into fixes coding agents can act on. Best for Teams running coding agents on a Tailwind v4 codebase who want machine-readable design-system constraints, Design-system maintainers who need enforceable per-component rules rather than prose guidelines, Frontend engineers on Tailwind v4 who want component-, variant-, and theme-aware lint output. Free to use.
@shadcn/lint is an MIT-licensed, open-source linter built for one scenario: coding agents, not humans, are writing your UI, and they keep drifting off your Tailwind design system. You declare what's allowed, and when an agent breaks a rule the error explains what's wrong and suggests a fix drawn from your own components, variants, and theme. It drops into Tailwind v4 projects with no rewrite and doesn't require shadcn/ui; it ships as an integration for ESLint and Oxlint and works with React, Svelte, and Vue. The rule model is contract-based. shadcn/no-restyle takes per-component contracts with pattern, allow, and deny lists, so a CardTitle can change typography while a CardContent changes spacing. Pair it with shadcn/no-arbitrary-values and padding stays on your theme's spacing scale instead of drifting into one-off pixel values. Category allow lists cover layout, spacing, and typography, and custom messages attach your design system's instructions directly to the error text. The maintainers tested the rules across more than 150 coding-agent task runs. Sonnet 5, Haiku 4.5, Opus 5, and GPT 5.6 Terra each completed 8/8 tasks; GPT 5.6 Sol managed 6/8. Every model's violation count fell to zero after a single lint-feedback round. Positioning: benchmark it against TypeScript prop types, not other linters. Types can tell an agent that padding isn't allowed; @shadcn/lint tells it what to use instead, in your design system's own vocabulary. The repo is at roughly 3.3k stars, 71 forks and 96 commits, so treat it as an early project with room to move.
Key features
- Agent-first rule model where you declare what your design system allows
- Lint errors explain the violation and suggest a fix from your components, variants, and theme
- shadcn/no-restyle rule with per-component pattern, allow, and deny contracts
- shadcn/no-arbitrary-values rule keeps classes on your theme's spacing scale
- Per-part component rules: CardTitle can change typography, CardContent spacing
- Category allow lists for layout, spacing, and typography
- Custom messages and contracts attach your design system's instructions to errors
- Works with Tailwind v4 projects with no rewrite of the existing design system
- Works with React, Svelte, and Vue
- shadcn/ui not required to adopt the linter
- Ships as an ESLint integration
- Ships as an Oxlint integration
- Agent setup prompt that reads SETUP.md and installs @shadcn/lint
- Rules tested across 150+ coding-agent task runs, with violations driven to zero in one feedback round
Behind the verdict
The problem @shadcn/lint attacks is real and everybody using agents on a component library has hit it: the agent doesn't know that Button owns its own padding, so it slaps p-4 on a Button and moves on. TypeScript can catch that if you've narrowed the style prop, but the error stops at "padding does not exist." It never says use a size, or push the space to the parent. That second half is where this tool earns its keep. Pick this when your team has already written down design-system rules, at least implicitly, and you want them enforced at commit time rather than in review comments a model will never read. The per-part contracts are the interesting bit: CardTitle gets typography but not font weight, CardContent gets spacing but not type. That granularity is hard to express in types and easy to express here. Pass if you're still on Tailwind v3, or if nobody has decided which classes components are allowed to override — the linter is a mirror, and right now there's nothing to reflect. It's also not a JS or TS linter and doesn't try to be; keep your existing setup for that. Compared with conventional Tailwind lint plugins, the difference is direction of travel. Most flag a class and stop. This one is authored so the message itself is the instruction, which matters more now that the consumer of the message is a model. In practice, budget time for writing contracts. The quickstart where you hand your agent SETUP.md gets you installed in minutes, but the rules are your design system's opinions written down, and that's the actual work. Start with one or two components, watch what agents break, and expand from there. The caveat I'd flag: this is a young repo. 96 commits, 8 open issues, and an API that will move. Pin versions and expect to revisit your config. For a pilot
Limitations
- The repository is early-stage: evidence shows 3.3k stars, 70 forks, 18 open issues, and 3 open pull requests, so rule coverage and edge-case behavior should be expected to change.
- It targets Tailwind design systems (Tailwind v4 projects) and assumes you have design system rules worth encoding — per-component patterns, allow/deny contracts, and theme constraints — without which there is nothing to enforce.
- It is not a hosted lint service with a dashboard or a CI product; installation and configuration happen inside your repo via SETUP.md and an agent setup prompt.
- It also requires integration with a linter host such as ESLint or Oxlint rather than running as a general-purpose JavaScript/TypeScript linter.
as of 2026-10-10
Researching lint? Get your full AI stack in 60 seconds.
Free, no signup — tell us your goal and get tools matched to your budget & existing stack.
Is lint still active?
lint is live · free · last verified 4 Nov 2026 · viability healthy.
Viability score
How well maintained and how widely used is lint? Built from what the vendor actually publishes (docs, changelog, tutorials, integrations, pricing), whether the site is live, and how much real users discuss it. How we calculate this
Last calculated: November 2026
How we score →What do users say about lint?
What people actually say about lint — is it worth it?
We ran a structured research pass across product reviews, community discussions, and post-purchase forum threads to surface the patterns vendors won't publish themselves. Below: the recurring strengths, the hidden costs people mention most, and the cohort that consistently regrets adopting this tool.
ResearchedDiscussed by users across 5 sources (Hacker News, YouTube, Product Hunt, Stack Overflow, Lemmy) · researched Sep 30, 2026.
Weighted by the 83 posts each of 5 sources contributed.
- +Error messages name the violation and point at a fix from your own theme
- +Contract-based per-component rules let CardTitle and CardContent follow different constraints
- +Ships as both an ESLint and Oxlint integration, so no toolchain rewrite
- +Works with Tailwind v4 projects without requiring shadcn/ui to adopt
- +Maintainers report 10–48% lower Claude fix cost with lint feedback versus rules alone
- −No genuine independent community feedback exists anywhere in the scraped data
- −Only 22 commits — too immature for teams to treat as CI enforcement infrastructure
- −Tailwind v4 requirement excludes the large installed base still on v3
- −Per-component contracts are manual work that grows with your component count
- −No hosted dashboard, so violation tracking means reading raw linter output
- • Engineering time to author and maintain per-component contracts
- • Migration cost if your project is still on Tailwind v3
- • Potential rework if rules or the repo change under pre-1.0 releases
How we verified this
Every listed fact about lint — pricing, features, links, status — is re-read from the vendor's own pages by our verification pipeline and each change is logged with a date; the last pass ran on 4 Nov 2026. Analysis is drafted with AI models and checked against our editorial standards before publishing; see how we verify.
Verification history
We have re-verified lint 10 times since . Each pass re-reads the vendor's own pages and re-checks every listed field against that evidence; passes where nothing had changed are marked as such.
- — changed pricing page
- — changed pricing tiers, description, who should skip it, features, who it suits, summary, our verdict
- — changed pricing page, limitations, description, who it suits, summary, pricing tiers, who should skip it, features, our verdict
- — changed pricing page
- — changed our verdict, summary, description, who should skip it, pricing tiers
- — changed our verdict, summary, description, features, pricing tiers
Showing the 6 most recent of 10 verification passes.
Free to cite with attribution — this page re-verifies continuously.
How much does lint cost in 2026?
lint: Free to use. Pricing last verified 4 Nov 2026.
Plans compared
Every published lint tier, its price as the vendor publishes it, who it fits, and what it adds over the tier below. The 12-month cost projection follows.
| Plan | Price | Billing | Who it's for |
|---|---|---|---|
| Open Source (MIT) | Free | — | Tailwind v4 teams running coding agents who want design system constraints enforced at lint time across React, Svelte, or Vue, with or without shadcn/ui.Adds: Starting tier and only tier: the full rule set at $0 under MIT, with ESLint and Oxlint integrations and contract-based rules using pattern, allow, and deny lists. |
12-month cost
Project the real annual outlay, including the implied monthly cost when only an annual tier is published.
Vendor list price only. Add-on usage, seat overages, and contract minimums are surfaced under Hidden costs & gotchas.
Where the pricing makes sense
The company stage and team size where lint's pricing actually pencils out — and where peers do it cheaper.
@shadcn/lint is MIT licensed at $0 and distributed as a pnpm workspace monorepo, so there is no seat or usage cost at any team size. Budget for the opposite dependency: you pay in rule authoring and maintenance time, since per-component contracts for pattern, allow, and deny lists have to be written and kept current as your design system changes.
Has lint's pricing changed?
No plan price for lint has moved since we began logging in Aug 2026; the pricing page is re-read on every verification pass.
Who should pick lint?
Pick lint if you are Teams running coding agents on a Tailwind v4 codebase who want machine-readable design-system constraints, Design-system maintainers who need enforceable per-component rules rather than prose guidelines, Frontend engineers on Tailwind v4 who want component-, variant-, and theme-aware lint output, shadcn/ui users and non-users who want lint errors an agent can act on without human translation.
Look elsewhere if you are Projects on Tailwind v3 or earlier, Teams looking for a general-purpose JavaScript or TypeScript linter, Anyone expecting a hosted dashboard or standalone CI product — this is a repo-level linter, Teams that haven't defined any design-system rules to encode yet.
Skip it if Skip @shadcn/lint if your project is on Tailwind v3 or earlier, or if you have not defined component, variant, and theme rules yet — there is nothing for the contracts to enforce.
GeneratedReal-world workflow fit
Concrete scenarios for the personas lint actually fits — and what changes day-one when you adopt it.
You encode your component contracts as shadcn/no-restyle rules — a Button that allows w-full, mt-*, and mb-* but owns its padding and shape — and add shadcn/no-arbitrary-values so spacing stays on your theme scale.
Outcome: Violations that used to arrive as prose review comments now arrive as lint errors carrying your own guidance, so agents and humans read the same instruction.
You give the agent the setup prompt that reads SETUP.md and installs @shadcn/lint, then let it edit Tailwind classes while ESLint or Oxlint runs the rules in the same pass as your other lint errors.
Outcome: The agent reads the error, sees the suggested fix drawn from your components, variants, and theme, and corrects itself in the loop instead of handing you a diff to translate.
You pilot the rules against a handful of agent tasks, comparing model spend with lint feedback wired in against rules alone.
Outcome: You get your own version of the maintainers' finding — Claude runs fixing violations with lint feedback cost 10–48% less than with rules alone — or you learn it does not reproduce in your repo.
Use cases
- Encode your design system's allowed components, variants, and theme tokens as lint rules an agent must satisfy.
- Run the linter after an agent edits Tailwind classes so the agent reads the error and self-corrects.
- Give a coding agent the SETUP.md prompt to install and configure @shadcn/lint in a Tailwind v4 project.
- Wire @shadcn/lint into ESLint or Oxlint so design system violations fail the same pass as other lint errors.
- Adopt the linter on an existing Tailwind v4 design system without rewriting components.
- Point agents at concrete fix suggestions generated from your own components rather than generic Tailwind advice.
Setup time & first value
How long it actually takes to get something useful out of lint — broken out by persona, not the marketing-page minute.
With the agent setup prompt, a coding agent reads SETUP.md and installs @shadcn/lint in a Tailwind v4 project in a single pass. Configuring your own rules adds the real time: per-component contracts for pattern, allow, and deny lists, plus category allows for layout, spacing, and typography, take an afternoon for a small component set.
Switching to or from lint
How to bring data in from common predecessors and how to get it back out — written for the switcher, not the buyer.
- →From TypeScript prop-type restrictions: keep the style prop limits and add @shadcn/lint contracts so errors carry a suggested fix, not just a TS2353 verdict.
- →From eslint-plugin-tailwindcss or a hand-rolled class allowlist: replace class-pattern checks with shadcn/no-restyle per-component contracts and shadcn/no-arbitrary-values.
- →From prose design system guidelines in a wiki: move the rules you already wrote into custom messages attached to the lint error text.
- ↗To a general-purpose linter: keep ESLint or Oxlint and drop the @shadcn/lint plugin if you only need standard JavaScript and TypeScript checks.
- ↗To a hosted code-quality platform: move to a service with a dashboard and CI product when you need vendor support rather than a repo-level linter.
Integrations
Resources & guides
Tutorials & Learning
YouTube returned 6 videos for “lint”, and we withheld 6: 6 could not be judged, because “lint” is a single word that other videos use for other things. We are showing none, because we could not prove any of them are about lint.
Official links
What are the best lint alternatives?
The closest alternatives to lint we list are Qodo, Rosentic and CoLab. Ranked by direct product-type match, not category overlap.
| Alternative | Pricing | Starts at | Last verified |
|---|---|---|---|
| Qodo | Freemium | Pricing not published | — |
| Rosentic | Freemium | Pricing not published | — |
| CoLab | Contact Sales | Custom pricing | — |
Alternatives to lint
View allTools that pair well with lint
Common stack mates teams adopt alongside lint, with the specific reason each pairing earns its keep.
Qodo
Agentic AI code review that enforces your team's standards on every pull request and inside coding agents
Rosentic
Rosentic is a deterministic pre-merge compatibility checker that catches the cross-branch conflicts AI coding agents create when they work the same repository
CoLab
AI design review that auto-annotates drawings and CAD models and captures engineering knowledge as you go.
lint vs its closest rival
lint's closest head-to-head is with Make Real Tldraw — These products are not competitors and nobody is choosing between them. If you ship a Tailwind v4 codebase with a design system — shadcn/ui or not — and coding agents write your UI, @shadcn/lint is the pick: it encodes per-component contracts and returns fix instructions in the error message. If you want to sketch a layout on a canvas and see a clickable prototype in minutes, Make Real Tldraw is the pick, and you'll need to supply your own OpenAI, Anthropic or Google key. Buy the one that matches your problem; owning both is plausible, choosing one over the other isn't the question. Verdict generated
Head-to-head comparisons
Lint vs Make Real Tldraw
These products are not competitors and nobody is choosing between them. If you ship a Tailwind v4 codebase with a design system — shadcn/ui or not — and coding agents write your UI, @shadcn/lint is the pick: it encodes per-component contracts and returns fix instructions in the error message. If you want to sketch a layout on a canvas and see a clickable prototype in minutes, Make Real Tldraw is the pick, and you'll need to supply your own OpenAI, Anthropic or Google key. Buy the one that matches your problem; owning both is plausible, choosing one over the other isn't the question.
GeneratedLint vs Audioeye
These two are not competitors, and a buyer should not be choosing between them. @shadcn/lint is a free, open-source linter that encodes your Tailwind v4 design system as machine-readable contracts so coding agents fix UI violations without human translation — you install it in a repo. AudioEye is a paid enterprise compliance platform that scans, remediates, monitors, and documents accessible websites, with overlays and human expert audits behind it. If you write the code, pick the linter; if you have to prove and defend compliance, pick the platform. Buying one tells you nothing about whether you need the other.
GeneratedLint vs Replit Agent
These are not competitors — a buyer is never picking one over the other. lint is a free, open-source ESLint/Oxlint plugin that turns Tailwind v4 design-system violations into machine-readable fix instructions so coding agents stop guessing at your component contracts. Replit Agent is a freemium browser-based builder that goes prompt-to-deployed-app and now reads Slack (including private conversations) and ships mobile voice input. If your problem is agent-generated UI drift on an existing Tailwind v4 codebase, install lint. If your problem is getting an app built and hosted by Friday, use Replit Agent. You could plausibly use both, but you would never choose between them.
GeneratedLint vs Roo Code
These aren't competitors — they belong to different buying decisions. Roo Code is a pre-launch VS Code coding assistant with no pricing, demo, or downloadable extension yet, so anyone needing a working tool today should keep looking and only sign up if they want to evaluate unfinished software. @shadcn/lint solves a narrower, real problem right now: it makes Tailwind v4 design-system violations readable and fixable by coding agents, for free, through ESLint or Oxlint. If you run agents on a Tailwind v4 codebase, lint is the actionable pick; Roo Code is a wait-and-see.
GeneratedLint vs Bito
These rarely compete for the same dollar — they compete for the same slice of your agent loop. Bito is the spend-and-context layer: a base-URL swap that grounds requests in your codebase and routes them by complexity, priced behind a sales conversation with a free tier to start. lint is free and does one narrow thing: it makes Tailwind v4 design-system violations machine-readable so an agent can fix them without a human translator. If your problem is a climbing coding-agent bill across many repos, budget for Bito's scoping work. If your problem is agents quietly restyling your design system into arbitrary pixels, lint costs nothing and installs in minutes. A disciplined Tailwind v4 shop can plausibly run both.
GeneratedFrequently asked questions
Best-of guides
For makers of lint
- Get a Verified Listing for lint ($39): a written decision within 1 working day.
- Free listing for another tool: Free reviews are decided in order, within 3 weeks of the review starting.
Used lint? Help shape our editorial sentiment research.