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

@beckharrisdesign/mvds

v0.3.0

Published

MVDS — Minimum Viable Design System. An agent-first design system for early startup prototyping with solid foundational design strategy.

Readme

MVDS — Minimum Viable Design System

An agent-first design system for early startup prototyping with solid foundational design strategy. It encodes intent in code — tokens, an 8-point spacing grid, a type ramp, and layout primitives — so both people and LLM agents generate consistent, on-brand UI from day one.

Under the hood it proves a strong link between shadcn/ui + Tailwind code and Figma components, with code as the single source of truth.

Built for a Figma Pro plan (not Enterprise). The sync is intentionally one-way, code → Figma, and re-runnable. See docs/SYNC.md.

Live Figma mirror: MVDS Core (public view-only)

Stack

| Layer | Choice | | --- | --- | | Build | Vite 8 + React 19 + TypeScript 6 | | Styling | Tailwind CSS v4 (CSS-first @theme) | | Components | shadcn/ui (radix-nova, CSS variables) | | Gallery | Storybook 10 (@storybook/react-vite) | | Figma link | Figma MCP /figma-generate-library (Plugin API) |

The keystone

src/index.css is the token layer — the single source of truth. Edit tokens only there. :root is the light mode, .dark is the dark mode; these are the two modes that map to Figma variable modes. Tailwind, Storybook, and the Figma generator all read this one file.

Foundations (app DNA)

The scales and layout primitives that sit beneath components:

  • Spacing scale — 8-point grid (multiples of 8, with 4 as the only half-step); primitive props take px values directly (gap={16}). Tailwind's 4px atomic unit is kept so shadcn control internals keep their optical metrics.
  • Typography ramp — semantic text-displaytext-caption, each carrying size + line-height + weight + tracking (defined in src/index.css).
  • Breakpointssm/md/lg/xl/2xl, used by the Container and @container queries.
  • Layout primitives (src/components/layout/) — Container, Stack, Inline, Grid (responsive cols), Spacer. Thin typed Tailwind wrappers whose props snap to the spacing/breakpoint scales. shadcn ships none of these — this is the deliberate, opinionated layout layer.

See them under Foundations/ in Storybook.

Components

The component set is intentionally tiny:

  • Button — variant-driven atom (variant × size → Figma component properties).
  • Card — composite molecule; the WithButton story nests a Button to prove composition survives the trip into Figma.

Add more anytime: npx shadcn@latest add input badge dialog …

Getting started

npm install
npm run dev              # demo app — Card + Button, with a light/dark toggle
npm run storybook        # the living component gallery at http://localhost:6006

Using MVDS in an app

Published to the public npm registry — no .npmrc, no login, no token. Two steps:

1. Install:

npm install @beckharrisdesign/mvds

2. Wire the CSS (in your global stylesheet, e.g. app/globals.css):

@import "@beckharrisdesign/mvds/styles.css";
@source "../node_modules/@beckharrisdesign/mvds/dist-lib/**/*.js";
@source "../**/*.{ts,tsx}";

The @source line pointing at dist-lib is the one people forget — without it Tailwind never generates the components' utilities and they render unstyled.

Or skip the wiring entirely and copy examples/starter/ — a complete working app. CI builds it against the published package on every PR (npm run verify:consumer), so those instructions are verified, not just written.

Then import components:

import { Button, Card, Stack, Inline, Grid, Container } from "@beckharrisdesign/mvds"

Full ingestion runbook (auth, dark mode, theming, troubleshooting): docs/CONSUMING.md. Brand overrides (colors, font, radius): docs/THEMING.md. Reference consumer: bhd-headless-notion.

The code → Figma sync

# 1. build / edit components in src/components/ui/*  (tokens in src/index.css)
# 2. verify in Storybook
# 3. push to Figma — in this agent, run:
/figma-generate-library

Full workflow, Pro-tier constraints, and the future-proofing notes live in docs/SYNC.md.

Project layout

src/
  index.css              ← TOKEN LAYER (source of truth: @theme + :root + .dark)
  components/ui/
    button.tsx  button.stories.tsx
    card.tsx    card.stories.tsx
  lib/utils.ts           ← cn() helper
  App.tsx                ← demo composition
.storybook/              ← Storybook config (preview imports the token layer)
docs/SYNC.md             ← the re-runnable code → Figma workflow
docs/CONSUMING.md        ← install + wire MVDS into an app (agent-followable)
docs/THEMING.md          ← brand a consumer app via the token cascade
code-connect/            ← dormant on Pro; activate after an Org/Enterprise upgrade