create-shadcn-vue
v0.1.0
Published
Scaffold a new Vue project preconfigured with Tailwind and shadcn-vue.
Maintainers
Readme
------------------------------------------------------------
▄█████ ▄▄ ▄▄ ▄▄▄ ▄▄▄▄ ▄▄▄▄ ▄▄ ▄▄ ██ ██ ▄▄ ▄▄ ▄▄▄▄▄
▀▀▀▄▄▄ ██▄██ ██▀██ ██▀██ ██▀▀▀ ███▄██ ▄▄▄ ██▄▄██ ██ ██ ██▄▄
█████▀ ██ ██ ██▀██ ████▀ ▀████ ██ ▀██ ▀██▀ ▀███▀ ██▄▄▄
------------------------------------------------------------create-shadcn-vue
Scaffold a new Vue project preconfigured with Tailwind CSS and shadcn-vue in one command.
It runs the manual shadcn-vue Vite install
steps for you: create the Vue app, add Tailwind, patch tsconfig*.json and
vite.config.ts with the @/* alias, then shadcn-vue init.
Usage
pnpm create shadcn-vue@latest [options] <project-name>Works with any package manager (npm create, bun create, yarn create, …);
it detects which one invoked it.
Options
| Option | Description |
|------------------|--------------------------------------------------------------------|
| --help, -h | Show help and exit. |
| --default | Use all defaults for Vue, Tailwind, shadcn-vue and Vitest. |
| --cwd <dir> | Directory to create the project in (default: current dir). |
| --verbose | Print each command before running it. |
| --bare | Skip the demo button component and App.vue. |
| --vue-* | Forward a flag to create-vue (e.g. --vue-router → --router). |
| --vue-help | Show create-vue's options. |
| --shadcn-* | Forward a flag to shadcn-vue init (e.g. --shadcn-base-color=zinc). |
| --shadcn-help | Show shadcn-vue init's options. |
If the target directory already exists, it falls back to <project-name>-project.
Examples
# Everything default
pnpm create shadcn-vue@latest --default my-app
# TypeScript + router, zinc base color, into ./tmp/test
pnpm create shadcn-vue@latest --vue-ts --vue-router --shadcn-base-color=zinc --cwd ./tmp/test my-appshadcn-vue's
@/*alias needs TypeScript — pass--vue-ts(or--default) if you want it wired up.
Feature selection
This CLI runs its own yes/no wizard for the Vue features you didn't pass on
the command line (TypeScript, Router, Pinia, Vitest, Playwright, ESLint,
Prettier), then hands create-vue the full set non-interactively with --bare
(no example app — you're layering shadcn on top).
- Pass a feature as a flag (
--vue-router) → it's enabled, no prompt. - Omit it → you're asked. Answer
yto include it. - Non-TTY (CI) or every feature already passed → no prompts.
Development
npm install
npm test # vitest; wipes ./tmp/test before each run