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

@omit-design/cli

v0.5.1

Published

omit-design CLI: init / dev / lint / new-page / skills / upgrade. Init scaffolds husky pre-commit + .claude/settings.json domain bounds.

Readme

@omit-design/cli

CLI for omit-design — scaffold projects, run a local dev server, run hard-rule lint.

Install

npm install -g @omit-design/cli
# or use ad-hoc
npx @omit-design/cli init my-app

Commands

| | | |---|---| | omit-design init <name> | Scaffold a new project (Vite + React + preset-mobile + 4 ESLint hard rules + .claude/skills/ + .claude/agents/ + .claude/settings.json + husky pre-commit hook). design/ and patterns/ ship empty — patterns are produced on demand via /distill-patterns-from-prd or /add-pattern. Auto-runs git init (gated by --no-git). | | omit-design dev | Start the local design server (Vite). | | omit-design lint [files...] | Run the four hard rules (no-design-literal / whitelist-ds-import / require-pattern-header / require-pattern-components). With no args, scans design/**/*.tsx. With explicit positional file paths (used by lint-staged), scans only those — non-design/*.tsx paths are silently skipped. | | omit-design skills update | Sync the cli's built-in .claude/skills/ into the current project's .claude/skills/. | | omit-design new-page <pattern> <path> | Scaffold a design page by copying a project-local pattern template (<project>/patterns/<pattern>/template.tmpl.tsx). If patterns/ is empty or the pattern is missing, exits with a hint pointing at /distill-patterns-from-prd or /add-pattern. | | omit-design upgrade | Bump all @omit-design/* deps to npm latest, install, scan project for removed-class references, and link the CHANGELOG. |

Quick start

npx @omit-design/cli init my-app
cd my-app
npm install
npm run dev

Then open http://localhost:5173/. The workspace lands on /workspace with your project. design/ and patterns/ start empty — see the main README for the PRD → distill → new-design flow.

Examples

# Scaffold a new project
npx omit-design init my-app
npx omit-design init my-app --force          # overwrite existing dir
npx omit-design init my-app --no-git         # skip the auto `git init`

# Dev server
omit-design dev
omit-design dev --port 3000
omit-design dev --host                       # expose on LAN

# Lint
omit-design lint
omit-design lint --json                      # raw ESLint JSON
omit-design lint --glob 'src/views/**/*.tsx' # custom glob
omit-design lint design/orders/list.tsx      # explicit file (used by lint-staged)
omit-design lint design/a.tsx design/b.tsx   # multiple files

# Skills (upgrade .claude/skills/ to the version shipped with this cli)
omit-design skills update
omit-design skills update --dry-run          # preview only
omit-design skills update --target other/dir

# new-page (copy a project-local pattern template into design/)
# Requires patterns/<id>/template.tmpl.tsx to already exist —
# create patterns via /distill-patterns-from-prd or /add-pattern in Claude Code.
omit-design new-page list-view design/orders/list
omit-design new-page detail-view design/orders/detail --force

# upgrade (bump all @omit-design/* deps + scan project for legacy refs)
omit-design upgrade
omit-design upgrade --dry-run                # preview only
omit-design upgrade --check                  # exit 1 if any out-of-date (CI)
omit-design upgrade --no-install             # update package.json but skip install
omit-design upgrade --no-migrate             # skip the legacy class/API scan

After upgrade the command scans your .css / .tsx / .ts etc. for class names and APIs removed in past releases (e.g. .shell-device-screen.shell-design-frame after engine 0.2.0) and prints a per-file migration report. Pass --no-migrate to skip.

What init produces

Each scaffolded project is self-defending without further wiring:

  • .husky/pre-commit — runs omit-design lint on every staged design/**/*.tsx via lint-staged. Installed by husky's prepare script on npm install.
  • .claude/settings.json — denies AI edits to app/, eslint.config.js, vite.config.ts, tsconfig.json, .husky/, package.json. The deny list is intentional friction; AI working on design files won't trip it.
  • .claude/skills/ — 9 Claude Code skills organized as entry / make / deliver:
    • Entry: start (state diagnosis), omit-design-cli
    • Make: distill-patterns-from-prd (PRD → patterns), add-pattern (conversational or manual), new-design (page from pattern), bootstrap-from-figma (visual theme from Figma URL)
    • Deliver: audit-design, ship-design
    • Plus omit-design (philosophy + 4-layer constraint reference)
  • .claude/agents/ — 2 sub-agents that take heavy work out of the main conversation:
    • pattern-applier (Sonnet) — drafts a page in isolated context; new-design delegates after pattern selection.
    • audit-reviewer (Haiku) — read-only scan + structured report; audit-design and ship-design delegate.
  • eslint.config.js — wires up all 4 hard rules with the right options for design/**/*.tsx.

Skip the husky setup with --no-git if you initialize git yourself later.

License

MIT