cascivo
v1.8.0
Published
CLI — npx cascivo init / add / list / update
Maintainers
Readme
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 templateEvery 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.jsonEvery 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 cascivocascivo.com · Docs · Storybook · GitHub · AI agents: read llms.txt (install steps + component index, plain text) or use @cascivo/mcp and registry.json · MIT
