Skip to main content
Vuetify0 v1.0 is here
Vuetify0 Logo
Theme
Mode
Palettes
Accessibility
Vuetify One
Sign in to Vuetify One

Access premium tools across the Vuetify ecosystem — Bin, Play, Studio, and more.

Not a subscriber? See what's included

Vuetify CLI

The Vuetify CLI scaffolds Vuetify and v0 projects, seeds working examples from the official docs registry (vuetify add), and helps you track a local component library over time.

Edit this page
Report a Bug
Open issues
Copy Markdown

BeginnerAug 7, 2026

Packages

PackageBinaryPurpose
@vuetify/cli↗︎vuetifyFull CLI with all commands
create-vuetify0↗︎create-vuetify0Scaffold v0 projects
Note

Registry commands (add <feature>, list, generate, diff, refresh, registry build) require a recent @vuetify/cli that includes the docs registry consumer. The seed itself is live at 0.vuetifyjs.com/registry↗︎.

Installation

Install the CLI globally to access all commands:

bash
pnpm add -g @vuetify/cli

Or run commands without installing using dlx/npx:

bash
pnpm dlx @vuetify/cli <command>

Quick Start

Create a new v0 project with the interactive wizard:

bash
vuetify init

Or use the standalone scaffolding package without installing the CLI:

bash
pnpm create vuetify0

Commands

CommandDescription
vuetify initInitialize a new project
vuetify add <name>Seed a component, composable, or plugin from the docs registry
vuetify add eslintAdd ESLint with Vuetify config
vuetify listList components tracked in vuetify.json
vuetify statusCheck tracked files still exist on disk
vuetify generate <name>Scaffold a local component (no registry origin)
vuetify diff <name>Compare a tracked component to its registry origin
vuetify refresh <name>Re-fetch a tracked component from its origin
vuetify registry buildEmit a static registry from your inventory
vuetify mcpConfigure Vuetify MCP for your IDE
vuetify updateUpdate Vuetify packages
vuetify docsOpen version-specific documentation
vuetify release-notesPrint release notes for a package
vuetify analyzeScan codebase for usage patterns
vuetify upgradeSelf-upgrade the CLI

init

Initialize a new project (wrapper around create-vuetify0):

bash
pnpm dlx @vuetify/cli init my-app

add

v0 is headless: installing @vuetify/v0 and importing a primitive does not yield a rendered UI. vuetify add seeds a working, styled example from the official docs registry into your project so you own a real file you can edit, theme, and ship.

The registry is published at 0.vuetifyjs.com/registry↗︎ — the same curated examples that appear on component and composable docs pages.

Seed a feature

bash
# Interactive picker when you omit the name
pnpm dlx @vuetify/cli add

# Component example (writes under src/components/…)
pnpm dlx @vuetify/cli add dialog

# Plugin (install-first — wires createThemePlugin into the app)
pnpm dlx @vuetify/cli add use-theme

# Pick a specific example when a feature ships more than one
pnpm dlx @vuetify/cli add create-data-table --example features

# Non-interactive (CI / scripts)
pnpm dlx @vuetify/cli add dialog --yes
OptionDescription
--example <id>Example within the feature (basic, gallery, …)
--dir <path>Write destination (defaults to vuetify.json aliases or src/components)
--registry <url|alias>Registry origin (default https://0.vuetifyjs.com)
--overwriteReplace existing files without prompting
--yesAccept prompts with defaults (skips optional plugin demos)

What it does:

  1. Resolves the name against the registry index (fuzzy match when needed).

  2. Installs missing npm dependencies declared by the example (with confirm, or immediately with --yes).

  3. Writes example files into your project and maps semantic colors if UnoCSS/Tailwind is present.

  4. Records the install in vuetify.json (path, files, and upstream origin for later diff/refresh).

Plugins

Plugin pages (for example useTheme) are install-first: the CLI wires createThemePlugin (or the matching factory) into src/plugins/ and your app entry. A usage example is optional — confirm interactively, or pass --example to force one. With --yes, only the plugin module is installed.

bash
vuetify add use-theme
vuetify add use-locale --yes

Integrations

add still installs project tooling integrations:

bash
vuetify add eslint

Configure the MCP server with vuetify mcp install (not add mcp — that path is deprecated).

list and status

Track what add (and generate) put on disk:

bash
# Inventory from vuetify.json
vuetify list
vuetify list --json

# Healthy vs missing files
vuetify status

generate

Scaffold a local component with no registry origin — useful when you are building your own library and only need a tracked file:

bash
vuetify generate MyCard
vuetify generate my-button --dir src/components/ui

--dir is one-shot for that file. It does not change the project components alias used by later add / refresh calls.

diff and refresh

When a feature came from the registry, compare or re-pull it:

bash
# Show which files match, changed, or only exist locally / upstream
vuetify diff dialog

# Re-fetch from the recorded origin (overwrites local files)
vuetify refresh dialog
vuetify refresh use-theme

Git remains the source of truth for your edits. Diff/refresh only compare against the registry seed you originally installed.

registry build

Publish your inventory as a static registry in the same shape as the official seed, so other projects can point vuetify add --registry at it:

bash
vuetify registry build
# → ./registry/index.json, tokens.json, {type}/{name}.json

Host the parent of the output directory so URLs resolve as {origin}/registry/index.json (the CLI always fetches under /registry/).

bash
# After hosting at https://design.example.com/registry/…
vuetify add dialog --registry https://design.example.com

Multi-registry

vuetify.json can map short aliases to origins:

json
{
  "version": 1,
  "aliases": { "components": "src/components" },
  "registries": {
    "@vuetify": "https://0.vuetifyjs.com",
    "@acme": "https://design.example.com"
  },
  "components": {}
}
bash
vuetify add @acme/button
vuetify add dialog --registry @acme

update

Update all Vuetify packages to their latest versions:

bash
# Update to latest stable
pnpm dlx @vuetify/cli update

# Update to nightly builds
pnpm dlx @vuetify/cli update --nightly

The update command auto-detects and updates:

  • vuetify

  • @vuetify/* packages

  • vuetify-nuxt-module

  • @nuxtjs/vuetify

  • vite-plugin-vuetify

  • eslint-plugin-vuetify

  • eslint-config-vuetify

docs

Open version-specific Vuetify documentation:

bash
pnpm dlx @vuetify/cli docs
Note

The CLI auto-detects your installed Vuetify version and opens the correct documentation site.

release-notes

Print the release notes for a Vuetify package without leaving the terminal:

bash
# Latest v0 release
pnpm dlx @vuetify/cli release-notes v0

# A specific version
pnpm dlx @vuetify/cli release-notes v0 --version 1.0.0

The command prints the release name, tag, publish date, and full notes, along with links to the documentation and the GitHub release.

ArgumentDefaultDescription
packagevuetifyPackage to fetch — vuetify or v0 (aliases: vuetify0, 0)
--version, -vlatestRelease version; latest resolves to the newest core release
Tip

Pass v0 to read the Vuetify0 release notes. Omitting --version shows the latest release.

analyze

Scan your codebase for Vuetify usage patterns:

bash
# Console output
pnpm dlx @vuetify/cli analyze

# JSON output for tooling
pnpm dlx @vuetify/cli analyze --reporter json

The analyzer scans your project and detects all imports from @vuetify/v0:

  • ComponentsDialog, Tabs, Avatar, etc.

  • ComposablesuseBreakpoints, useTheme, createFilter, etc.

  • PluginscreateThemePlugin, createBreakpointsPlugin, etc.

  • Utilities and constants

Custom Documentation URL

After analyzing your project, the CLI generates a personalized documentation URL:

text
https://0.vuetifyjs.com/?features=Dialog,Avatar,useBreakpoints,...

This URL filters the v0 documentation to show only the features you’re actually using, giving you a focused, clutter-free reference tailored to your project. Share this URL with your team to onboard developers faster.

JSON Output

Use --reporter json to integrate with CI/CD pipelines or custom tooling:

bash
vuetify analyze --reporter json --output report.json
Ask AI
What does the analyze command output and how do I share the report with my team?

upgrade

Self-upgrade the CLI to the latest version:

bash
pnpm dlx @vuetify/cli upgrade

Scaffolding Options

The interactive wizard guides you through project configuration:

StepOptions
Project NameYour project directory name
PlatformVue↗︎ + Vite↗︎, Nuxt↗︎
CSS FrameworkUnoCSS↗︎, Tailwind↗︎, None
TypeScriptYes, No
Router (Vue only)Vue Router↗︎, File-based, None
FeaturesESLint, Pinia↗︎, i18n↗︎, MCP

Platforms

PlatformDescription
Vue + ViteStandard Vue 3 SPA with Vite↗︎
NuxtNuxt↗︎ with SSR/SSG support

CSS Frameworks

FrameworkDescription
UnoCSS↗︎Instant atomic CSS engine
Tailwind↗︎Utility-first CSS
NoneNo CSS framework

Router Options (Vue only)

OptionDescription
Vue Router↗︎Standard routing
File-basedAuto-generated routes from file structure
NoneNo routing

Features

FeatureDescription
ESLintVuetify ESLint config↗︎
Pinia↗︎State management
i18n↗︎Internationalization
MCPVuetify MCP server config

Non-Interactive Mode

For CI/CD pipelines and automation, pass arguments directly:

bash
pnpm create vuetify0 my-app \
  --platform=vue \
  --css=unocss \
  --router=router \
  --features=eslint,pinia \
  --install

All Arguments

ArgumentValuesDescription
--platformvue, nuxtTarget platform
--cssunocss, tailwindcss, noneCSS framework
--no-typescriptflagUse JavaScript instead of TypeScript
--routerrouter, file-router, noneRouter type (Vue only)
--featureseslint, pinia, i18n, mcpFeatures to include (comma-separated)
--installflagAuto-install dependencies
--forceflagOverwrite existing directory
Warning

The --force flag will overwrite existing files without confirmation.

Was this page helpful?

© 2016-1970 Vuetify, LLC
Services
Ctrl+/