ghosty-cli
v0.9.0
Published
Ghosty — deploy applications safely, from a short interview to a live URL.
Maintainers
Readme
ghosty-cli
The CLI for Ghosty — a platform that lets non-technical employees deploy applications in a safe, controlled environment: from a short interview to a live URL.
npm i -g ghosty-cli
ghosty login --admin-url https://admin.<your-company-domain>
mkdir my-app && cd my-app
ghosty init # short interview, scaffolds the app
ghosty provision # repo + build pipeline + database + live URL
ghosty dev # run it locallyCommands
| Command | What it does |
| --- | --- |
| ghosty login | Browser sign-in (loopback OAuth). --admin-url <url> or --company <slug>; --no-browser prints the URL. |
| ghosty whoami | Show the signed-in builder, GitHub username, and apps. |
| ghosty init | Scaffold a new app (interview; all answers available as flags; --yes for defaults). |
| ghosty provision | Create everything the app needs on the platform and wait until it's ready. |
| ghosty state | Show platform resource status for this app. |
| ghosty dev | Run frontend + backend locally with your personal dev database. |
| ghosty migrate <name> | Apply a database schema change to your personal dev schema (<name> is a short snake_case label). Node apps run Prisma; Python apps run the backend's migrate entrypoint. No-op with a clear message when the app has no database yet. |
| ghosty secret <name> | Store a secret for this app (kebab-case <name>; --value or hidden prompt), record its name in app.config.json, stub it in backend/.env.local, and bind it to the service. Binds as the UPPER_SNAKE_CASE env var. |
| ghosty deploys / ghosty logs / ghosty redeploy | Inspect and trigger production deploys. |
| ghosty profile --github <username> | Record your GitHub username (grants push access on app repos). |
| ghosty preflight | Check Node, git, sign-in, and platform reachability. |
Every command supports --json for machine-readable output, and long-running
commands end with a single parseable ready/READY line. Interactive prompts
only appear on a TTY when a required value is missing — every prompt can be
skipped with flags. Works on macOS, Linux, and Windows.
Credentials live in ~/.ghosty/profiles.json (owner-only permissions), one
profile per admin URL, so one laptop can talk to multiple companies.
Development
npm run build -w ghosty-cli # tsc → dist/
npm test -w ghosty-cli # vitest (no network)
node packages/cli/bin/ghosty.js --helpApp templates ship in templates/ (consumed by ghosty init, maintained
separately from the command code).
