npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

design-system-selector

v0.1.6

Published

CLI tool that recommends alternative design systems based on your project needs

Readme

Design System Selector

Break free from the Tailwind/shadcn monoculture. Answer a short questionnaire about your project and get a curated design system recommendation — complete with install commands, tradeoff notes, and MCP config for your AI editor.

Install

# Run directly (no install needed)
npx design-system-selector

# Or install globally
npm install -g design-system-selector

# Or via Homebrew
brew tap TheLostByGass/tap
brew install design-system-selector

Requires Node.js 20 or later.

AI Matching

AI matching is provided through the hosted Design System Selector API proxy.

  • Users do not need to configure ANTHROPIC_API_KEY
  • The CLI sends questionnaire preferences to the backend and receives ranked results
  • If the API is unavailable, the CLI automatically falls back to static matching

For local backend testing, maintainers can override the API base URL:

DESIGN_SYSTEM_SELECTOR_API_URL=http://localhost:8787 npx design-system-selector

Backend deployment guide: docs/vercel-backend.md

Telemetry

Optional anonymous product telemetry can be sent to PostHog (via the hosted backend proxy) to measure real CLI usage (runs, match/scaffold flows, and feature usage). The CLI never sends the free-text projectBrief or hardConstraints answers.

By default, telemetry posts to:

$DESIGN_SYSTEM_SELECTOR_API_URL/v1/telemetry

If DESIGN_SYSTEM_SELECTOR_API_URL is not set, the built-in default backend URL is used.

Override telemetry endpoint (for local backend/self-hosted API):

DESIGN_SYSTEM_SELECTOR_TELEMETRY_URL=http://localhost:3000/v1/telemetry npx design-system-selector

Disable telemetry at any time:

DO_NOT_TRACK=1 npx design-system-selector
# or
DESIGN_SYSTEM_SELECTOR_TELEMETRY=0 npx design-system-selector

Telemetry is automatically disabled in CI (CI=true).

You can also manage telemetry preference from the CLI:

design-system-selector telemetry status
design-system-selector telemetry disable
design-system-selector telemetry enable

How It Works

The CLI asks a short set of questions about your project, including:

  1. Visual style — minimalist, expressive, corporate, or playful
  2. Accessibility needs — critical (AAA + EU compliance), important (AA), or standard
  3. Opinion level — opinionated, balanced, or headless/unstyled
  4. Team experience — beginner, intermediate, or advanced
  5. Color preference — neutral, vibrant, monochrome, or custom
  6. Framework + tooling — React/Vue/Svelte/etc, plus framework flavor when relevant
  7. Project type — dashboard, marketing, internal tool, content, e-commerce, or custom
  8. Project brief — one-sentence description of what you're building and who it serves
  9. Hard constraints (optional) — timeline, compliance, must-use tech, performance targets

Based on your answers, it recommends a primary design system plus two alternatives. Each recommendation includes:

  • Why it was matched to your preferences
  • Accessibility rating (AA/AAA)
  • Tradeoffs to be aware of
  • One-line install command
  • MCP config snippet for AI-assisted development

Design Systems

10 systems are evaluated, covering a range of philosophies and complexity levels:

| System | Philosophy | Accessibility | Components | | ----------------- | ---------------------- | ------------- | ------------------ | | Radix UI + Themes | Minimalist | AAA | 30 | | Chakra UI | Expressive, Playful | AA | 60 | | Mantine | Corporate, Minimalist | AA | 120 | | Ant Design | Corporate | AA | 150 | | Park UI | Minimalist, Expressive | AA | 40 | | Ark UI | Minimalist | AAA | 35 | | NextUI (HeroUI) | Playful, Expressive | AA | 50 | | Headless UI | Minimalist | AAA | 12 | | Open Props | Minimalist, Expressive | AA | 0 (tokens only) | | Panda CSS | Minimalist, Corporate | AA | 0 (styling engine) |

MCP Integration

Use --mcp-only to get a machine-readable MCP server config for your top recommendation:

design-system-selector --mcp-only

This outputs JSON you can paste directly into your editor's MCP configuration (Claude Code, Cursor, etc.).

Project Scaffolding

After picking a design system, the CLI offers to scaffold a starter project with your chosen system pre-configured — including dependencies, example components, and recommended project structure.

CLI Options

-h, --help       Show help
-v, --version    Show version
    --mcp-only   Output MCP config JSON (skip interactive UI)
    telemetry    Manage telemetry settings

Contributing

git clone https://github.com/TheLostByGass/design-system-selector.git
cd design-system-selector
npm install
npm run dev          # Run in development
npm test             # Run tests
npm run build        # Lint, typecheck, test, and build

License

MIT