Vite
Scaffold a Vite workspace with TypeScript.
Why Use This Command?
- Installs Vite with TypeScript so you get fast dev server startup and hot module replacement out of the box.
- Auto-detects monorepo or workspace mode so the same command works whether you're starting fresh or adding to an existing project.
- Wires up
vite,vite build, andvite previewscripts so the workspace runs without extra configuration.
Requirements
- Node.js runtime — Use any Node.js LTS release.
- Empty directory (monorepo mode) or monorepo root (workspace mode) — The command auto-detects which mode to use.
Usage
Options
| Flag | Description |
|---|---|
-d, --dry-run | Preview changes without writing files. |
--name <name> | Project or workspace name. |
--workspace-name <name> | Workspace directory name. |
--output <dir> | Output directory. |
Output Structure
{project-slug}/
├── package.json
├── nova.config.json
├── apps/
│ └── {workspace-name}/
│ ├── package.json
│ ├── vite.config.mts
│ ├── tsconfig.json
│ ├── index.html
│ └── src/
│ └── main.ts
└── packages/
How It Works
Interactive Wizard
When run without flags, the command walks you through an interactive wizard:
Monorepo mode (no package.json found):
- Project name — Enter a slug for your monorepo (e.g.
my-vite-app). - Workspace name — Enter a slug for the workspace directory (default:
vite). - Where should the project be created? — Choose between creating a new directory or building in the current working directory.
- Output directory — If creating a new directory, confirm the path (default:
./{project-name}). - Run generators — Optionally run project-level generators (
.editorconfig,.gitignore,LICENSE, etc.).
Workspace mode (package.json with workspaces found):
- Package name — Enter a slug for the workspace package (e.g.
my-vite-app). - Workspace name — Enter a slug for the workspace directory (default:
vite). - Output directory — Confirm the workspace path (default:
./apps/{workspace-name}).
Non-Interactive Mode
Provide --name, --workspace-name, and --output to skip all prompts:
nova scaffold app vite --name my-vite-app --workspace-name vite --output ./my-vite-app
Next Steps
After scaffolding, consider running generators to add essential project files like .editorconfig, .gitignore, LICENSE, and README.md.