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

kernic

v0.1.7

Published

Kern your whole app — design systems from the terminal. Palette picker, Google Fonts, vibes; free forever CLI, export CSS vars / Tailwind v4 / JSON tokens.

Readme

kernic

Kern your whole app.

In typography, kerning is the adjustment of space between letters until text feels right — invisible when done well, amateurish when ignored. kernic does the same for your entire application: one design system, tuned once from the terminal, applied everywhere.

Pick a vibe, tune a palette in your terminal, choose Google Fonts, then export tokens as CSS custom properties, a Tailwind v4 @theme, JSON, or font imports.

Free forever, by design

The CLI is and always will be free and open source (MIT). It generates complete design systems locally on your machine:

  • 8 theme families, 33 curated looks — Retro (70s & 80s), Tech, Corporate, Minimal, Neon (Stripe-style gradient fintech), Soft Pastel, Fun (loud solid color-blocks), Earthy/Organic. Pick a theme in Studio, click a look, done
  • Gradient tokens built in — Neon looks ship with preconfigured --gradient-* tokens (mesh backdrops, gradient CTAs and headline text), exported to CSS vars and Tailwind v4 bg-* utilities
  • Terminal palette picker — live ANSI swatches, hue shifting, harmony rules (analogous / complementary / triadic / monochrome), tinted neutrals
  • Real color science — ramps generated in OKLCH with automatic sRGB gamut fitting
  • All ~2k Google Fonts — live search with bundled offline fallback
  • Pipe-friendly exportscss · tailwind · json · fonts · dtcg · design-md · stdout by default

Roadmap: what's free vs. paid

| | CLI (free, MIT) | Cloud Studio (paid) | | --- | --- | --- | | Palette + font generation | ✅ | ✅ | | CSS / Tailwind / JSON exports | ✅ | ✅ | | Local token storage | ✅ | ✅ | | Local visual editor (kernic studio) | ✅ | ✅ | | Motion & animation tokens | — | ✅ | | Shadows, depth & rhythm scales | — | ✅ | | Multi-brand management | — | ✅ | | Sync across projects & repos | — | ✅ | | Version history & rollbacks | — | ✅ |

The token format (schemaVersion + extensible extensions) is designed so premium layers never break free-tier files. Your local systems stay yours, in plain JSON, forever.

Install

npm install -g kernic
# or run instantly:
npx kernic

Requires Node 20+.

Quick start

kernic          # opens Studio, the visual editor, in your browser
kernic wizard   # the same thing in the terminal

Studio opens on a theme family, shows its looks, and one click applies a complete identity. The wizard walks through the same decisions as text prompts: naming, vibe, palette tuning with live previews, heading/body/mono fonts, radius and type scale. Systems are saved as plain JSON in ~/.config/kernic/systems/.

Skip both

kernic create launch-page --vibe corporate --yes

Vibes: retro (70s + 80s) · tech · corporate · neon · minimal · soft-pastel · fun · earthy

Commands

| Command | What it does | | --- | --- | | kernic | Visual editor — opens Studio in your browser | | kernic wizard [name] | The terminal flow, if you'd rather not leave the shell | | kernic create <name> [--vibe <id>] | Create a new system | | kernic list | List saved systems | | kernic show <name> | Full spec + swatches | | kernic palette <name> | Just the swatches | | kernic studio [name] | Studio again, optionally opening an existing system | | kernic export <name> -f <format> | Output to stdout | | kernic export <name> -f all -o ./design-system | Write every token file | | kernic context <name> -o ./ | Agent context — writes design.md + W3C tokens.json for AI coding tools | | kernic apps | Your design across every project — and which ones have fallen behind | | kernic mcp | MCP server — let Claude Code / Cursor / Windsurf read and apply your systems | | kernic delete <name> | Remove a system |

Studio

kernic studio launches a local web app (127.0.0.1 only) where you design visually instead of in the terminal:

  • Live-rendered preview — nav, hero, cards, form, type specimen — restyled as you tweak
  • Hue slider + harmony controls with instant OKLCH ramp regeneration
  • Searchable Google Fonts loaded into the preview
  • Light/dark mode toggle, corner-radius and type-scale controls
  • Click any swatch to copy its hex

Everything saves to the same local JSON store the CLI uses. The cloud Studio adds multi-brand management, sync, and version history on top of this foundation.

Using it in a project

# Tailwind v4 app.css
kernic export midnight-neon -f tailwind > src/app.css

# Plain CSS vars anywhere
kernic export midnight-neon -f css >> styles/global.css

# Machine-readable tokens for tools and AI agents
kernic export midnight-neon -f json > design/tokens.json

# W3C DTCG tokens for Figma / Terrazzo / Style Dictionary
kernic export midnight-neon -f dtcg > design/tokens.dtcg.json

# Everything at once — the two stylesheets, both token files,
# the font links, and the agent brief
kernic export midnight-neon -f all -o ./design-system

Formats: css · tailwind · json · fonts · dtcg · design-md · all. Every format goes to stdout by default, or to files with -o <dir>. Nothing here is behind a paywall and nothing ever will be — the token format is only worth something if everyone can write it.

Use with AI agents

Vibe-coded apps look generic because the agent invents colors as it goes. Give it your system instead:

kernic context midnight-neon -o .    # writes design.md + tokens.json

Then point your agent at it — one line in AGENTS.md, CLAUDE.md, or .cursorrules:

Visual design: follow ./design.md exactly. Use only its tokens — never invent raw hex values.

design.md carries explicit adherence rules plus every token (colors, semantics, type scale, radius, fonts); tokens.json is W3C DTCG-style, so Figma/Terrazzo/Style Dictionary pipelines read it too.

Or skip the copy-paste and let the agent do all of it over MCP:

claude mcp add kernic -- npx kernic mcp

Then, inside Claude Code / Cursor / Windsurf: "set this project up with my kernic design system". The agent lists your systems, writes design.md and tokens.json into the project, and hands you the one line to paste into CLAUDE.md. If you have no system yet it can show you the 33 curated looks and build one from your pick, without you leaving the session.

| Tool | What the agent does with it | | --- | --- | | list_systems | See what you already have | | get_system | Read one system's full spec | | get_tokens | Pull tokens into the conversation (design-md / css / tailwind / fonts / dtcg / json) | | apply_to_project | Write the system into your projectdesign.md + tokens.json, optionally tokens.css and tailwind.css | | create_system | Make and save a new system from a look or a vibe | | list_looks | The 33 curated looks — complete identities, one pick each | | list_vibes | The 8 broader vibe presets |

apply_to_project is the one that writes to disk, so it is deliberately careful: it refuses .. in a path, refuses your home directory and the filesystem root, only writes at the top level of the directory you name, and never replaces a file kernic did not write. If it finds one of yours it leaves it alone and tells you which.

One design across every app

Applied a system to more than one project? kernic apps shows the whole picture:

kernic apps

It lists every project you've applied a system to, flags any whose tokens have fallen behind the system they came from, and prints the exact command to bring each one back — ready to paste. Entries live in ~/.config/kernic/projects.json, and disappear on their own when a project folder is deleted.

Worth knowing: kernic only updates the project you run it in. Change a system and the other projects keep the tokens they already have until you re-apply there. kernic apps exists so that's visible rather than surprising. It mentions this once, the first time it's actually true for you; kernic apps --mute or KERNIC_NO_UPSELL=1 turns that off for good.

Development

git clone https://github.com/intentionaut/kernic.git
cd kernic && npm install
npm run dev      # CLI from source via tsx
npm run build    # tsc → dist/

Layout: src/color.ts (OKLCH engine) · src/vibes.ts (presets) · src/studio/looks.ts (curated looks) · src/fonts.ts (Google Fonts) · src/wizard.ts (interactive flow) · src/context.ts (agent brief + DTCG) · src/export.ts (exporters and the format registry) · src/projects.ts (which project uses which system) · src/mcp.ts (MCP server) · src/storage.ts (~/.config/kernic)

Author

Built by Saielle DaSilva — more tools and experiments at intentionaut.com/projects.

Contributing

PRs welcome — especially new vibes, export targets (SCSS, Figma tokens), and W3C design-tokens output. The cloud Studio lives in a separate private repo; this codebase stays 100% MIT. See CONTRIBUTING.md for the testing expectations.

License

MIT