Design review tools compared

What each one checks against your design system, and when to pick it

  • Crocotaste
    What it checks
    Every UI change, against your DESIGN.md, tokens, components and decisions
    Against your design system
    Yes, and every finding cites its line in your system or is deleted
    Can block a merge
    No, a finding never fails the check

AI code reviewers

  • CodeRabbit
    What it checks
    All code: bugs, security and style
    Against your design system
    Only through guidelines you write
    Can block a merge
    Yes, if you set its checks to error
  • GitHub Copilot code review
    What it checks
    All code, guided by your instruction files and AGENTS.md
    Against your design system
    Only through instructions you write
    Can block a merge
    No, it comments by default; approvals can count, in preview
  • Cursor Bugbot
    What it checks
    Bugs, security and code quality
    Against your design system
    Only through rules you write, in BUGBOT.md or team rules
    Can block a merge
    Configurable, neutral by default
  • Greptile
    What it checks
    All code, with the whole repository as context
    Against your design system
    Only through custom rules
    Can block a merge
    Posts a status check; blocking not documented
  • Graphite Agent
    What it checks
    All code, in every pull request of the repos you connect
    Against your design system
    Only through custom rules
    Can block a merge
    Not documented

Linters

  • Google's design.md lint
    What it checks
    The DESIGN.md file itself: broken references, contrast, structure
    Against your design system
    It checks the file, not your code
    Can block a merge
    Only on errors, such as broken references
  • @shadcn/lint
    What it checks
    Raw colors, arbitrary values, inline styles and restyled components
    Against your design system
    Partly, from your Tailwind theme and the rules you configure
    Can block a merge
    Yes, as a CI step
  • ESLint Tailwind plugins
    What it checks
    Unknown and conflicting classes, plus class patterns you ban
    Against your design system
    Partly, through class patterns you restrict
    Can block a merge
    Yes, as a CI step
  • Stylelint strict values
    What it checks
    Raw values in the CSS properties you choose
    Against your design system
    Partly, by forcing variables
    Can block a merge
    Yes, as a CI step

Visual testing

  • Chromatic
    What it checks
    Storybook, Vitest, Playwright and Cypress snapshots against a baseline
    Against your design system
    No, it compares pixels, not rules
    Can block a merge
    Configurable
  • Percy
    What it checks
    Page and component screenshots against a baseline
    Against your design system
    No, it compares pixels, not rules
    Can block a merge
    Configurable

AI code reviewers

Pick one to review all of your code: logic, security and style. A design rule reaches them only through the instructions you write, so run Crocotaste beside one for the UI.

CodeRabbit, GitHub Copilot code review, Cursor Bugbot, Greptile, Graphite Agent

Linters

The best first line for exact rules, like no raw hex or no arbitrary values, instant in the editor and in CI. They can't tell a hand-rolled button from your component or learn a team's decision, which is where a review starts.

Google's design.md lint, @shadcn/lint, ESLint Tailwind plugins, Stylelint strict values

Visual testing

Pick one to see what a change actually looks like across browsers and widths. They compare pixels to an approved baseline; Crocotaste checks the code against your rules and takes no screenshots.

Chromatic, Percy

Install on one repo, open a pull request

Your first review in about a minute, 3 free and no card

  1. 00:00 PR #1 opened by your agent
  2. 00:04 queued · UI files detected
  3. 00:19 read tokens.css, Button.tsx at base
  4. 00:41 checks done · AI read running
  5. 00:58 On-system · approved