CLI
The vinyaas package on npm (v1.5.0) installs UI as editable source. Framework create-app flows live on Installation.
What the CLI is
Vinyaas is registry-driven. The CLI copies component source into your project, installs missing npm dependencies, and leaves the files editable. Configuration for aliases and Tailwind paths lives in components.json. Framework-specific scaffolding is covered under Installation.
Install the CLI
Install globally (recommended), then invoke vinyaas <command>. Or run once with npx / pnpm dlx / yarn dlx / bunx. Requires Node.js 20+.
npm install -g vinyaasvinyaas --versionSetup
init
Run from the project root. vinyaas init detects the framework when possible, finds a CSS entry, and creates components.json, theme tokens, aliases, and utils when missing. It is safe to re-run: it does not overwrite an existing components.json or utils file. Existing shadcn-style projects can keep their layout and run init only when Vinyaas config is needed.
vinyaas initvinyaas init --yesnpx vinyaas initOptions
Usage: vinyaas init [options]Prepare a React project for Vinyaas (Tailwind v4, theme CSS, aliases,components.json).Options: --cwd <path> Consumer project directory. -y, --yes Skip prompts and use safe defaults. -h, --help display help for commanddoctor
vinyaas doctor validates an existing project without writing files. Use it after init, before adding components, or when installs fail. It reports grouped checks and suggested fixes; it does not apply fixes automatically.
vinyaas doctorvinyaas doctor --jsonGroups:
- Project —
components.json, aliases, utils. - Styling — Tailwind v4, global CSS, theme tokens.
- Dependencies —
clsx,tailwind-merge,tailwindcss, and@tailwindcss/postcsswhen applicable. - Registry — configured registry URL and reachability.
✓ Vinyaas doctor
Project
✓ components.json
✓ aliases configured
✓ utils file found
Styling
✓ Tailwind v4
✓ global CSS
✓ theme tokens
Dependencies
✓ clsx
✓ tailwind-merge
✓ tailwindcss
✓ @tailwindcss/postcss
Registry
✓ https://vinyaas.vercel.app/r
No issues found.npx vinyaas doctorOptions
Usage: vinyaas doctor [options]Validate an existing Vinyaas project setup.Options: --cwd <path> Consumer project directory. --json Print machine-readable JSON to stdout. -h, --help display help for commandInstall
add
Copies registry source into components/ui/<name>/. Files stay editable. Registry dependencies resolve automatically; only missing npm packages are installed. Successful installs update .vinyaas/manifest.json.
vinyaas add buttonvinyaas add button card badgevinyaas add button card --yesnpx vinyaas add buttonOptions
Usage: vinyaas add [options] [name...]Add one or more components from the Vinyaas registry.Arguments: name Component names to installOptions: --cwd <path> Consumer project directory. --force Overwrite existing component files instead of skipping them. --dry-run Resolve the install plan and print it without writing files or installing packages. --catalog <catalog> Install every component in a named registry catalog. --category <category> Install every component in a registry category. -y, --yes Skip confirmation prompts. -h, --help display help for commandCatalog installation
Catalog installs require an explicit --catalog option. Catalogs are owned by the registry (see Catalogs). The CLI lists the members, asks for confirmation with [Y/n] (default Yes), and only then installs through the same component pipeline. Pass --yes to skip the prompt. Declining cancels with no file changes. A bare vinyaas add form never installs a catalog — it looks for a component named form and, if missing, suggests --catalog form.
vinyaas add --catalog formvinyaas add --catalog dashboard --dry-runvinyaas add --catalog application --yes--force
Already-installed components are skipped by default. Pass --force to overwrite existing component files with registry content.
vinyaas add button --force--dry-run
Resolves the install plan and prints components, files, npm dependencies, and registry dependencies without writing files, installing packages, or updating the manifest. Works with named components, catalogs, and categories.
vinyaas add button --dry-runvinyaas add --catalog dashboard --dry-runvinyaas add --category forms --dry-runCategory installation
Categories are registry metadata for discovery and group install. They are not component collections or packages. Category expansion feeds the same install pipeline as named components.
vinyaas add --category formsvinyaas add --category forms --yesCurrent categories: forms, layout, navigation, feedback, data-display, typography, charts, utilities.
- Multi-component and category installs prompt for confirmation unless you pass
--yes. - Explicit component names take precedence:
vinyaas add button --category formsinstalls onlybuttonand ignores--category. - Unknown categories fail and list the available names.
update / upgrade
Overwrites installed components with the latest registry source. upgrade is an alias of update. With no names it updates every component recorded in the manifest after a confirmation. Pass names to update only those components.
vinyaas upgradevinyaas upgrade button cardvinyaas update button --dry-run- Local edits to the updated files are replaced. The confirmation warns about this; skip it with
--yes. - Only components installed through Vinyaas (recorded in
.vinyaas/manifest.json) can be updated. --dry-runprints the plan without writing files.
npx vinyaas updateOptions
Usage: vinyaas update|upgrade [options] [name...]Update installed components to the latest registry versions (alias: upgrade).Arguments: name Component names to update. Omit to update every installed component.Options: --cwd <path> Consumer project directory. --dry-run Resolve the update plan and print it without writing files. -y, --yes Skip confirmation prompts. -h, --help display help for commandstatus
Shows components recorded locally after successful installs. Vinyaas tracks installed components so vinyaas update can refresh them.
vinyaas statusvinyaas status --jsonnpx vinyaas statusOptions
Usage: vinyaas status [options]Show components installed by Vinyaas in this project.Options: --cwd <path> Consumer project directory. --json Print machine-readable JSON to stdout. -h, --help display help for commandDiscover
Browse without writing files. Use list to scan components, catalog for named groups, search to find by name or description, and info to inspect one component before installing.
vinyaas catalog listvinyaas catalog info formvinyaas listvinyaas list --category formsvinyaas search buttonvinyaas search input --category formsvinyaas info buttoncatalog info shows membership and which members are already installed when a project manifest is available. Component list / search output can include category, description, docs URL, files, and dependencies. Filter with --category.
npx vinyaas catalog listcatalog options
Usage: vinyaas catalog [options] [command]List and inspect named component catalogs from the registry.Options: -h, --help display help for commandCommands: list [options] List available component catalogs. info [options] <catalog> Show details for one component catalog. help [command] display help for commandnpx vinyaas listlist options
Usage: vinyaas list [options]List installable components from the Vinyaas registry.Options: --json Print machine-readable JSON to stdout. --category <category> Filter components by registry category. -h, --help display help for commandnpx vinyaas search buttonsearch options
Usage: vinyaas search [options] <query>Search registry components by name or description.Arguments: query Search queryOptions: --json Print machine-readable JSON to stdout. --category <category> Limit search to a registry category. -h, --help display help for commandnpx vinyaas info buttoninfo options
Usage: vinyaas info [options] <component>Show registry details for a component before installing it.Arguments: component Component nameOptions: --json Print machine-readable JSON to stdout. -h, --help display help for commandJSON output
Discovery, doctor, and status accept --json for machine-readable stdout.
vinyaas list --jsonvinyaas search input --jsonvinyaas info button --jsonvinyaas doctor --jsonvinyaas status --jsonErrors and safety
- Existing component files are skipped unless
--force. --dry-runnever mutates the project or the manifest.- Category and multi-component installs confirm before writing unless
--yesis set. - Failed installs roll back snapshotted project files (including package lockfiles and the install manifest when they were part of the mutation).
Registry
The CLI reads a registry catalog, then individual component items (metadata and source files). Items may include name, type, description, category, files, dependencies, registry dependencies, and docs. Override the registry root with REGISTRY_BASE_PATH (preferred) or legacy REGISTRY_BASE_URL.
REGISTRY_BASE_PATH=https://vinyaas.vercel.app/r vinyaas listVersion
Print the installed CLI version (currently v1.5.0).
vinyaas --version