CLI Usage
Galaxy UI exposes these command flows: init, add, list, doctor, diff, update, and migrate tailwind.
init
Detect the framework and Tailwind version, create components.json, configure aliases/runtime files, and install matching dependencies.
npx @galaxy-stack/nebula-cli@latest init
npx @galaxy-stack/nebula-cli@latest init --yes
npx @galaxy-stack/nebula-cli@latest init --cwd ./my-appSupported targets are Vue, Nuxt, React, Next.js, Angular, React Native, and Flutter. Next.js uses React sources with Next-specific transforms; Nuxt uses Vue sources.
add
Copy editable source files and install packages declared by the framework registry.
npx @galaxy-stack/nebula-cli@latest add button
npx @galaxy-stack/nebula-cli@latest add button input dialog
npx @galaxy-stack/nebula-cli@latest add --all
npx @galaxy-stack/nebula-cli@latest add button --cwd ./my-appWith no component name, the CLI opens an interactive selector. Registry dependencies are resolved first, and existing files are kept. The command returns a non-zero exit code if a requested component, source file, or dependency installation fails.
migrate tailwind
Migrate a detected Tailwind v3 project to the Galaxy UI v4 scaffold.
npx @galaxy-stack/nebula-cli@latest migrate tailwind --dry-run
npx @galaxy-stack/nebula-cli@latest migrate tailwind --yes
npx @galaxy-stack/nebula-cli@latest migrate tailwind --cwd ./my-appThe command creates a backup in .galaxy/backups/, updates package/configuration files, and reports items requiring manual review. See Tailwind CSS for compatibility details.
list
Show the installable components and blocks for the configured (or requested) framework.
npx @galaxy-stack/nebula-cli@latest list
npx @galaxy-stack/nebula-cli@latest list --framework react
npx @galaxy-stack/nebula-cli@latest list --category feedbackdoctor
Validate the current project setup: components.json, framework detection, Tailwind version and animation setup, utils/components paths, and required dependencies. Exits non-zero when a required check fails.
npx @galaxy-stack/nebula-cli@latest doctor
npx @galaxy-stack/nebula-cli@latest doctor --cwd ./my-appdiff
Compare installed component files against the pinned registry source. Exits non-zero when a file is missing or modified:
npx @galaxy-stack/nebula-cli@latest diff button
npx @galaxy-stack/nebula-cli@latest diff button inputupdate
Re-download component source from the registry and overwrite local files, keeping a backup under .galaxy/backups/update/:
npx @galaxy-stack/nebula-cli@latest update button
npx @galaxy-stack/nebula-cli@latest update button inputConfiguration file
init creates components.json:
{
"$schema": "https://galaxy-nebula.vercel.app/schema.json",
"framework": "vue",
"typescript": true,
"tailwind": {
"version": 4,
"config": "",
"css": "src/assets/styles/global.css",
"baseColor": "slate",
"cssVariables": true,
"prefix": ""
},
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
"ui": "@/components/ui",
"lib": "@/lib"
},
"iconLibrary": "lucide"
}Package-manager detection uses bun.lock/bun.lockb, pnpm-lock.yaml, yarn.lock, or package-lock.json; npm is the fallback.
