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

@vernostudio/cli

v0.2.2

Published

Verno Studio CLI: scaffold Next.js and Turborepo projects with shadcn and Ultracite.

Downloads

475

Readme

Verno Studio CLI

One command from zero to a Next.js app with optional Turborepo, workspace packages, shadcn/ui, and Ultracite — wired through the official CLIs.

Package Downloads Package Version Package License

Quick Start

verno create

From the published package:

bun x @vernostudio/cli create

What you get

Instant project scaffolding from templates

Spin up a new project from the stack this repo ships. Pick add-ons, answer prompts, or pass --yes.

| Mode | What you get | | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | | Next.js app | Single-app layout: Next.js + TypeScript, scoped as @<scope>/… | | Turborepo | Monorepo root with apps/web and optional packages/* | | Workspace packages | typescript-config and/or design-system (when Turborepo is on; interactive default is both) | | shadcn | shadcn init (preset nova by default) + shadcn add --all — app root, or packages/design-system when that package exists | | Ultracite | ultracite init with linter oxlint, biome, or eslint and frameworks such as react, next (--linter, --frameworks) |

Non-interactive and dry runs

  • -y / --yes — no prompts; project name is required (e.g. verno create my-app -y).
  • --dry-run — prints the plan (stack, install, shadcn, Ultracite, git) without writing files or hooks.
  • Project names may contain letters, numbers, and hyphens only — the name becomes the directory and the npm package name.

After create

The CLI can install deps, run shadcn and Ultracite, then git init with an initial Verno Studio commit. .verno/manifest.json records generation metadata that verno doctor and verno update use later.

Commands

verno create [project-name]

verno create [project-name] [flags]

Arguments:
  [project-name]             Project directory (required with -y, --yes;
                             letters, numbers, and hyphens only)

Mode:
  -y, --yes                  Non-interactive (requires project name)
  --dry-run                  Print plan only; no files or hooks

Frontend:
  --frontend <id>            next (default)

Add-ons:
  --addons <list>            Comma-separated: turborepo, ultracite

Workspace (with turborepo):
  --packages <list>          Comma-separated: typescript-config, design-system
                             (requires turborepo; with -y, defaults to both if omitted)

Tooling:
  -p, --package-manager <pm> bun | pnpm | npm (default with -y: bun)

UI & shadcn:
  --ui <mode>                shadcn | none
  --shadcn-preset <name>     Preset for shadcn init (default: nova)
  --skip-shadcn              Skip shadcn bootstrap

Ultracite:
  --linter <id>              biome | oxlint | eslint (needs ultracite in --addons; -y defaults oxlint)
  --frameworks <list>        react, next, solid, vue, ... (needs ultracite; -y defaults react,next).
                             Ids Verno does not recognize are passed through to
                             `ultracite init` with a warning, so new Ultracite
                             presets work without waiting for a CLI release.
  --skip-ultracite           Skip ultracite add-on and ultracite init

Install & git:
  --no-install               Skip dependency install
  --no-git                   Skip git init

verno init

Add Verno add-ons to an existing project. Selecting turborepo on a single-app project restructures it into a monorepo layout (apps/web/, packages/) — existing turbo.json or apps/web/package.json files are never overwritten, and your scripts are preserved.

verno init [flags]

  --addons <list>            Comma-separated: turborepo, ultracite
  --ui <mode>                shadcn | none
  --shadcn-preset <name>     shadcn preset (e.g. nova)
  --linter <id>              biome | oxlint | eslint (ultracite add-on)
  --frameworks <list>        Ultracite preset extends (unknown ids pass through)
  -p, --package-manager <pm> bun | pnpm | npm
  -y, --yes                  Non-interactive mode
  --dry-run                  Print the plan without writing files
  --no-install               Skip dependency install
  --skip-shadcn              Skip shadcn bootstrap
  --skip-ultracite           Skip ultracite add-on

verno doctor

Audit a Verno project's health: package manager and lockfile consistency, .verno/manifest.json, shadcn config, workspace layout, and Ultracite setup.

verno doctor [flags]

  --fix                      Attempt to fix autofixable issues
  -y, --yes                  Apply fixes without prompting
  -p, --package-manager <pm> Override package manager for dependency operations

verno update

Bring a generated project up to date with the current CLI: manifest version, Ultracite dependency and config files (regenerated via ultracite init, so they always match the installed Ultracite), and the Verno base CSS layer. Customized config files are detected and left untouched.

verno update [flags]

  --dry-run                  Preview changes without applying them
  -y, --yes                  Apply updates without prompting
  --no-install               Skip dependency install
  -p, --package-manager <pm> Override package manager for dependency operations

Global

  -v, --version              Show CLI version
  -h, --help                 Show help (verno --help; verno <command> --help for command flags)

Telemetry

The CLI collects anonymous usage data: which command ran, the options chosen (add-ons, linter, package manager), CLI version, Node version, and platform. The identifier is a random UUID stored at ~/.config/verno/anonymous-id — no git identity, email, or file contents are collected, and error reports have home-directory paths redacted.

Opt out any time:

DO_NOT_TRACK=1            # or
VERNO_TELEMETRY_DISABLED=1