Buoy vs ESLint

ESLint for Code Quality, Buoy for Design

ESLint catches code quality issues. Buoy catches design system drift. Use both together.

Try Buoy free

The Key Difference

ESLint asks: "Is this valid JavaScript?"

Buoy asks: "Does this follow your design system?"

Feature Comparison

Feature
ESLint
Buoy
Primary Use
Code quality & syntax
Design system drift
Context Awareness
Code patterns only
Understands design tokens
Hardcoded Colors
No detection
Full detection + suggestions
Duplicate Components
No detection
Semantic duplicate finding
Design Tokens
No understanding
Maps to your tokens
Adoption Metrics
None
Full coverage stats
Configuration
Complex rule setup
Works out of the box
Use Together?
Yes! Complementary tools

What ESLint Can't Catch

Hardcoded Colors

// ESLint: ✓ Valid JavaScript
// Buoy: ⚠️ Hardcoded color, use var(--primary)
<div style={{ color: '#3b82f6' }} />

Duplicate Components

// ESLint: ✓ Valid exports
// Buoy: ⚠️ 4 Button implementations found
export { Button } from './Button'
export { ButtonNew } from './ButtonNew'
export { MyButton } from './MyButton'

Token Usage

// ESLint: ✓ Valid CSS
// Buoy: ⚠️ Using 16px instead of --spacing-md
padding: 16px;

Use Both Together

ESLint and Buoy are complementary. ESLint catches code quality issues. Buoy catches design system drift. Run both in your CI pipeline.

# .github/workflows/ci.yml
- name: Lint
  run: npm run lint          # ESLint

- name: Design Drift Check
  run: npx @buoy-design/cli drift check  # Buoy

Other Comparisons

Ready to try Buoy?

Free. Open source. No signup required.