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

cascivo

v1.8.0

Published

CLI — npx cascivo init / add / list / update

Readme

npm downloads license types

npm · cascivo.com · Docs · Storybook · GitHub


The cascivo CLI drives the copy-paste workflow — it scaffolds config, copies component source from the registry into your project, and audits generated code. You own every file it writes.

Commands

npx cascivo create my-app          # scaffold a full app — Vite + React, app shell, side nav, theme
npx cascivo create my-app --framework astro   # …as an Astro site instead (file routing, zero-JS pages)
npx cascivo create my-app --framework cloudflare  # …as a client app + API on one Cloudflare Worker
npx cascivo create my-app --template owner/repo/dashboard  # …and start from a template
npx cascivo create --from cascivo.app.json  # …from a blueprint: pages that render registry blocks
npx cascivo init                   # scaffold cascivo.config.ts + tokens; detects your package manager
cascivo add button card            # copy component source from the registry into your project
cascivo add owner/repo/button      # install from any third-party registry
cascivo add owner/repo/dashboard   # install a template (its components + page/fixture files)
cascivo view owner/repo/dashboard  # preview an item (or template) before installing
cascivo list                       # list available components
cascivo update                     # pull newer versions of copied components
cascivo audit --ai                 # flag hard-coded values, invented props, missing wiring
cascivo mcp init                   # add the cascivo MCP server to your agent's config
cascivo search <query>             # search components across registries
cascivo theme add <name>           # install a first-party theme (12 available)
cascivo eject <component>          # eject tokens into a scoped local override file
cascivo generate <config.json>     # generate TSX from a ViewConfig JSON file
cascivo doctor [--ci] [--drift]    # check components for rule violations / registry drift
cascivo tokens import <file>       # import external design tokens as overrides
cascivo registry build             # build a registry from your own components
cascivo template init <name>       # scaffold a new template

Every command supports --help for its flags and examples.

For agents, the package also ships a machine-readable description of every command — cmdspec.json, in the cmdspec format — named by the "cmdspec" field in its package.json. With cascivo installed, docspack sync indexes it for the installed version, so docspack ask "cascivo add --dry-run" answers with the command's flags, what it reads, writes and runs, and its exit statuses.

A template is a registry item (type: "template") that bundles a working page with the components it composes (in registryDependencies) and its own page/fixture files (each with a target). cascivo add installs the component closure into your components directory and writes the template's files to their targets; create --template does the same into a freshly scaffolded app.

How it works

create scaffolds a complete app in one of three shapes. The default, --framework react-vite, is a Vite + React + TypeScript SPA; --framework astro emits an Astro site where pages are real file routes, page content renders to static HTML with no JavaScript, and only the app shell hydrates — including the vite.resolve.noExternal line Astro requires for cascivo's component CSS to be emitted at all. --framework cloudflare emits a client-rendered app and its API deployed as one Cloudflare Worker: vite dev runs the Worker in workerd via @cloudflare/vite-plugin, wrangler.jsonc routes /api/* to it with an SPA fallback for everything else, and a live server-sent-events demo (@cascivo/data) plus persisted state (@cascivo/storage) come wired up. It runs on Preact by default (--runtime react for React), from source typed against React either way. npm create cascivo is the same command. All three come pre-wired with the cascivo app shell, side navigation, header, and your chosen theme. It asks for a project name, framework, theme, and the nav sections you want, then generates a section component for each. Pass --theme, --sections "Dashboard, Reports", or --yes to skip the prompts. init detects npm / pnpm / yarn / bun, writes cascivo.config.ts, and wires up the token and theme imports. add resolves each component from registry.json, fetches its source (TSX + CSS module + manifest) from GitHub raw URLs, and drops it into the path from your config — pulling in any dependencies it needs.

Because the registry model is open, add owner/repo/component installs from any compatible registry, not just the first-party one. See the registry starter to publish your own.

Prefer the shadcn CLI or an AI tool?

cascivo also publishes a shadcn-compatible registry, so you can install the same components with the shadcn CLI or "Open in v0" without the cascivo binary:

npx shadcn@latest add https://cascivo.com/r/shadcn/button.json

Every item inlines its source and resolves its cascivo dependencies transitively. Page blocks are in the shadcn registry too, under a block- slug — install block/dashboard-overview as https://cascivo.com/r/shadcn/block-dashboard-overview.json (the cascivo binary addresses the same block as npx cascivo add block/dashboard-overview).

Building with an AI assistant? cascivo has no training-data footprint yet, so give the tool the knowledge directly rather than relying on it to browse the site: paste or link https://cascivo.com/llms-full.txt (the whole library — setup + every component — in one file), or point an MCP-capable agent at @cascivo/mcp.

Install

pnpm add cascivo

cascivo.com · Docs · Storybook · GitHub · AI agents: read llms.txt (install steps + component index, plain text) or use @cascivo/mcp and registry.json · MIT