Skip to main content
The CLI ships inside the deepspace package, which is added to every scaffolded app. You run it via npx:
npx deepspace <command> [options]
No global install is needed. To create a new app, use npm create deepspace@latest - it fetches the latest scaffolder on demand.

Command index

CommandPurpose
createShortcut for npm create deepspace@latest
loginAuthenticate via GitHub/Google OAuth, or email + password
logoutClear the local session
whoamiPrint the current login state
devRun the app locally with Vite + worker in-process
killStop leaked workerd / wrangler / vite processes
testRun the Playwright + Vitest test suites
screenshotCapture a screenshot of any URL via Playwright
test-accountsCreate and manage @deepspace.test accounts for testing
addInstall a scaffold feature (ai-chat, messaging, kanban, …)
integrationsDiscover and call third-party integration endpoints
managed-reposCreate and manage DeepSpace-owned GitHub repos
invokeTop-level alias for integrations invoke
deployDeploy to Workers for Platforms; live at <name>.app.space
undeployTear down a deployed app and its provisioned resources
domainBuy, attach, and manage custom domains
libraryPublish (or unpublish) your deployed app in the DeepSpace community library
Full command reference →

Login state

Login is shared across every app on the machine. One npx deepspace login covers dev, test-accounts, deploy, and billed integration calls for all apps.
npx deepspace whoami        # human-readable
npx deepspace whoami --json # machine-readable
The session file lives at ~/.deepspace/session. Treat it as secret - never commit it.

Agent-friendly defaults

The CLI is designed to be safely invoked from automation:
  • Non-interactive by default. Omitting required arguments prints usage and exits 1 - it does not prompt on stdin.
  • --json everywhere it matters. whoami, domain *, integrations list/info, test-accounts list all support machine-readable output.
  • --yes skips confirmation prompts on destructive commands (domain buy, domain detach, test-accounts clear, managed-repos delete).
  • Help is plain text. --help / -h produces ANSI-free output suitable for scripting.

Local dev workflow

The standard development loop:
1

Scaffold

npm create deepspace@latest my-app
cd my-app
2

Develop

npx deepspace dev
Vite + worker run on localhost:5173 with HMR.
3

Test

npx deepspace test
Smoke + API specs run against the dev workers.
4

Deploy

npx deepspace deploy
Live at <name>.app.space in ~30 seconds.

Cleaning up leaked processes

If a previous dev session crashed or you closed the terminal without Ctrl-C, leaked workerd / wrangler / vite processes can hold ports. Use:
npx deepspace kill                   # default port 5173
npx deepspace kill --port 5180
npx deepspace kill --all             # sweep every workerd/wrangler/vite
Don’t kill a parallel session’s processes. If a sibling session is running on port 5173, use --port 5174 (and update tests/playwright.config.ts to match) instead of stopping their dev server.

Next steps