CLI Reference
Command
Section titled “Command”npx create-xtarter-app@latest [project-name] [options]Arguments
Section titled “Arguments”| Argument | Required | Description |
|---|---|---|
project-name | No | Name for the new project. If omitted, you’ll be prompted. |
Options
Section titled “Options”| Option | Alias | Type | Default | Description |
|---|---|---|---|---|
--template | -t | string | — | Template ID to use (skips prompt). See Templates |
--preview | -P | boolean | — | Preview template details without scaffolding |
--pm | -p | string | — | Package manager (pnpm, npm, bun, yarn) |
--no-git | — | boolean | — | Skip git initialization |
--clean | — | boolean | — | Remove CI/CD config files after scaffolding |
--yes | -y | boolean | — | Use defaults for all prompts |
--help | -h | boolean | — | Show help text |
--version | -v | boolean | — | Show version |
Package managers
Section titled “Package managers”| Manager | Command | Note |
|---|---|---|
pnpm | (default) | Fast, disk-efficient |
npm | — | Default Node.js |
bun | — | Ultra-fast runtime |
yarn | — | Classic choice |
Examples
Section titled “Examples”# Interactive — prompts for everythingpnpm create xtarter-app
# Quick start with defaultspnpm create xtarter-app my-app --yes
# Pick a templatepnpm create xtarter-app my-app --template vite-tailwind
# Specific package manager, no gitpnpm create xtarter-app my-app --pm bun --no-git
# Preview a templatepnpm create xtarter-app --preview --template next-tailwindnpm create xtarter-app@latestnpm create xtarter-app@latest my-app --yesnpm create xtarter-app@latest my-app --template vite-tailwindbun create xtarter-appbun create xtarter-app my-app --yesbun create xtarter-app my-app --template vite-tailwindyarn create xtarter-appyarn create xtarter-app my-app --yesyarn create xtarter-app my-app --template vite-tailwindError handling
Section titled “Error handling”- Invalid template ID — prints all valid template IDs and exits
- Invalid package manager — prints valid options and exits
- Target directory exists — cancels with an error (won’t overwrite)
- Invalid project name — validation fails during prompt
- Download failure — retries up to 3 times, then exits with error
- Install failure — exits with the command’s exit code
Programmatic API
Section titled “Programmatic API”The package also exports a programmatic API for use in scripts and tooling:
import { downloadTemplateFiles, modifyPackageJson, installDependencies, initializeGit, isGitInstalled, cleanCIConfigs, getTemplateById, getTemplateChoices, TEMPLATES,} from 'create-xtarter-app'
// Download a templateawait downloadTemplateFiles({ template: getTemplateById('vite-tailwind')!, targetPath: './my-app',})
// Modify package.jsonawait modifyPackageJson({ projectPath: './my-app', projectName: 'my-app' })
// Install dependenciesawait installDependencies({ packageManager: 'pnpm', projectPath: './my-app' })
// Initialize gitif (isGitInstalled()) { await initializeGit({ projectPath: './my-app' })}See Templates for the full TemplateConfig type.