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

v420

v1.0.4

Published

CLI to generate Nuxt projects with v420 template

Readme

v4.20_cover_image

v4.20: The real Nuxt 4 Starter

Minimal, opinionated Nuxt 4 starter for developers. Uses the latest Nuxt releases and stays production-ready whether you keep the project small or scale it.

Tech Stack

  • Nuxt 4 – Full-stack Vue framework with SSR, file-based routing, and auto-imports
  • Nuxt UI – Accessible UI component library with Tailwind-based theming
  • Nuxt Image – Image optimization with built-in resizer and multiple providers
  • Pinia – Vue state store with SSR support
  • Tailwind CSS – Utility-first CSS

Features

  • Nuxt 4 – Current major with improved performance and DX
  • Pinia – Centralized state with SSR hydration
  • Tailwind CSS – Utility-first styling and design tokens
  • Nuxt Image – Resizing, modern formats, and provider abstraction
  • Dark mode – Theme toggle (light/dark)
  • Color themes – Configurable primary palette
  • Responsive – Mobile-first layout
  • SEO – Meta tags and head configuration

Quick Start

Features

  • Nuxt 4 - Latest version with enhanced performance
  • Pinia - Modern state management
  • Tailwind CSS - Utility-first styling
  • Nuxt Image - Optimized images with automatic resizing and modern format support
  • Dark mode - Light/dark theme switching
  • Color themes - Customizable primary colors
  • Responsive - Mobile-first design
  • SEO ready - Optimized meta tags

Quick Start

Prerequisites

  • Node.js (≥ 18.x)
  • Bun (recommended) or npm/yarn
  • git (required if you use the CLI generator)

Installation

git clone https://github.com/{username}/v420.git
cd v420
bun i

Create a new project from CLI

Run:

bunx v420

or

npx v420

The CLI will ask for a project name and theme colors, then create the project. Then cd into the folder and run bun i && bun dev.

Comparison with npm create nuxt@latest

The official Nuxt CLI is excellent and we're fully inspired by it. v420 is an opinionated alternative that gets you from zero to a configured app in one command and two choices (project name + primary/neutral colors), with defaults that match real-world use so you can focus on building instead of wiring.

| Area | What we do differently | | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Colors | The Nuxt CLI lets you opt into Nuxt UI but does not let you pick primary and neutral palettes. Choosing them up front is essential: you avoid mid-project decisions and layout shifts when theme tokens aren’t set yet. We prompt for both and apply them before the first run. | | Modules | Nuxt’s module ecosystem is great; more modules aren’t always better. We ship only what you need to scale from day one: Nuxt UI, Nuxt Image and Pinia. You can add more when you need them. | | Layouts | Real apps (sites, dashboards, SaaS) rely on layouts. The official CLI doesn’t include a layout example. We do: a default layout with navigation and theme controls so you see how layouts work immediately. | | Pages | The Nuxt CLI creates a pages/ folder with a single file. We create two pages and a simple flow between them so the role of pages/ and file-based routing is clear from the start. | | Components | We keep components close to Nuxt conventions: folder-based organization (e.g. App/) so it’s obvious which pieces are app-wide, without relying on prefixes. | | Composables | We include working composable examples so you see how they behave in a real app, including the Nuxt UI doc example for dynamically updating the favicon from the theme color. | | Plugins | The official setup doesn’t show how to use plugins for client-side theme bootstrapping. We use a small plugin that applies primary and neutral colors before the app mounts, so there’s no flash or layout shift from default values loading late. | | Stores | We ship a minimal Pinia store with SSR hydration and persistence via useLocalStorage from @vueuse/core (bundled with Nuxt UI), plus HMR-friendly setup so you have a clear pattern for global state. |

On top of that you get: toast usage, useHead and SEO meta patterns, and a few more conventions documented in the repo. Again, the Nuxt CLI is fantastic; v420 is a more opinionated, ready-to-extend baseline so you can start coding a bit faster—one command, two choices, and the rest is yours.

Development

bun dev

Dev server runs at http://localhost:3000 with HMR.

Production build

bun build

Output is in .output. Serve with bun run preview or deploy the generated files to your host.

Project structure

app/
├── components/     # Vue components (auto-imported)
├── layouts/        # Layout wrappers
├── pages/          # File-based routes (Vue Router)
├── stores/         # Pinia stores
└── assets/css/     # Global styles

Main components

  • Color Picker – Primary color customization (theme token)
  • Logo – Site logo used in layout/header
  • Layout – Responsive shell with navigation and theme toggle

Pinia SSR configuration

The template ships with a Pinia store set up for SSR hydration:

  • Hydration: Initial state is not serialized; values are read on the client (e.g. from localStorage) after hydration.
  • SSR: Safe for server-side rendering with client-only state.
  • TypeScript: Uses @ts-expect-error where required due to Pinia typing limitations.

See Pinia SSR documentation for details.

Default Cursor skills

This repo ships with Cursor agent skills in .cursor/skills/. The AI uses them for Nuxt and UI work in this codebase.

| Skill | Purpose | | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | nuxt | Nuxt framework: SSR, auto-imports, file-based routing, server routes, useFetch, middleware, hybrid rendering. Use when editing config, routes, data fetching, or deployment. | | nuxt-ui | @nuxt/ui v4: 125+ accessible Vue components, Tailwind theming, forms, dashboards. Use when building or customizing UI, themes, or layouts. |

Skills are loaded automatically when the project is opened in Cursor; no extra setup is required.

Contributing

Issues and pull requests are welcome.

License

MIT.