Skip to main content
The Pxxl CLI is a single binary that wraps every public-facing API surface — deploys, environment variables, databases, CDN, teams, and domain reseller lookups. It is the same code path the dashboard uses, so anything you can do in the UI you can script from your terminal or CI runner. Use it to deploy a local folder with one command (SpaceDrop), push .env files into projects, provision databases for preview environments, and upload static assets to the CDN — all authenticated with a single API key.

Install

Install the CLI globally from npm:
npm install -g @pxxlapp/pxxl
The npm package publishes as @pxxlapp/pxxl because the bare pxxl name is reserved, but the installed binary is just pxxl.

Authenticate

Log in once with a Pxxl API key:
pxxl login --api-key pxxl_...
The CLI validates the key before saving it, then stores credentials in your user config directory with restricted file permissions. PXXL_API_KEY always overrides the stored key. PXXL_TEAM_ID overrides the selected spaceship for scoped commands. The API endpoint is fixed to the official Pxxl Gateway.

Commands

CommandPurpose
pxxl loginStore an API key for local CLI use.
pxxl logoutRemove the stored API key.
pxxl whoamiCheck the authenticated account.
pxxl init --newCopy a Pxxl boilerplate and write pxxl.toml plus .pxxlignore.
pxxl deployZip the current project and deploy it through SpaceDrop.
pxxl redeployTrigger a fresh deployment for an existing project.
pxxl pullClone or update the Git repo attached to a Pxxl project.
pxxl env ...Push local env files or list project envs.
pxxl cdn ...Upload, list, download, delete, and summarize CDN assets.
pxxl team ...List spaceships and select one for scoped operations.
pxxl db ...Create, list, inspect, and manage Pxxl databases.

Boilerplate Init

pxxl init --new express-bun-pxxl --name my-api --domain pxxl.pro
pxxl init --new nextjs-pnpm-pxxl --name web-app --domain pxxl.pro
Available starters include Express + Bun, Hono + Bun, Fastify + pnpm, Next.js + pnpm, Astro + npm, Vite React + npm, Vite React + pnpm, static CDN gallery, and Express API. pxxl init --new reads the boilerplate manifest and writes matching pxxl.toml defaults for package manager, framework, port, install command, build command, and start command.

Project Automation

pxxl redeploy <project-id>
pxxl pull <project-id> ./my-app
pxxl env list <project-id>
pxxl env push <project-id> --file .env
pxxl env push <project-id> --file .env.production --global
pxxl pull clones the Git repo and branch attached to a Pxxl project. If the destination is already a git checkout, it first verifies that the local origin matches the project repo, checks that the working tree is clean, then fetches and fast-forwards the selected branch. It refuses to overwrite a non-git, non-empty folder. Use scope=deploy or scope=all for deploy/redeploy. Use scope=project, scope=env, or scope=all for env reads and writes. Write operations require permission=read_write.

Teams

pxxl team list
pxxl team use <team-id>
pxxl team current
pxxl team clear
Use scope=team, scope=database, or scope=all to list teams. The selected spaceship is stored locally and used by database commands.

Databases

pxxl db list
pxxl db create --name app-db --type postgres
pxxl db get <database-id>
pxxl db start <database-id>
pxxl db stop <database-id>
pxxl db restart <database-id>
pxxl db stats <database-id>
pxxl db tables <database-id>
pxxl db delete <database-id>
Use scope=database or scope=all. Read operations work with permission=read; create/update/lifecycle/delete require permission=read_write.
Keep API keys out of repositories, client bundles, screenshots, and build logs. Use a key with the smallest needed scope.