Skip to content

CLI Installation

The ZevCloud CLI lets you deploy, manage services, and view logs from your terminal.

The CLI covers the full lifecycle of a ZevCloud service from your terminal:

  • zevcloud init — interactive service creation from your current directory. Detects whether you have a GitHub remote or not and picks the right source mode automatically: GitHub-source for repos with a remote, direct terminal upload for fresh projects without one. Walks you through project + plan + framework + confirmation, then triggers your first deploy.
  • zevcloud deploy <serviceId> — redeploy an existing service. For GitHub-source services it pulls latest from the configured branch. For upload-source services it re-tars your current directory and uploads a fresh build context. The CLI knows which mode each service is in and does the right thing.
  • Service operations — view runtime logs (logs), manage environment variables (env), restart (restart), stop (stop).
  • Team / project management — list teams, projects, services. Switch between teams in the same shell with team switch.

If you’re new to ZevCloud, start with zevcloud login and then zevcloud init — both are interactive and walk you through everything.

CLI
npm install -g @zevcloud/cli

Or use without installing:

CLI
npx @zevcloud/cli login

Generate an API key from Dashboard → Settings → API Keys. Pick the scope that matches what the CLI needs to do — deploy is right for most CI and agent workflows; full is equivalent to a human admin. See Authentication for the scope hierarchy and what each one allows.

Then authenticate:

CLI
zevcloud login

Paste your API key when prompted. The CLI validates it against the API and stores it locally.

CLI
zevcloud whoami

Shows the active team, the API URL it’s pointing at, and a partial key fingerprint. If you’ve configured more than one team it also lists the others so you know what’s available to switch to.

You can also confirm the CLI is installed and check for updates:

CLI
zevcloud version

This prints the installed version, the latest version on npm (when known), and your Node and platform info. Useful for bug reports.

The fastest way to ship code: cd into your project directory and run zevcloud init. It detects whether you have a GitHub remote and walks you through the rest interactively — pick a project, plan, framework, and the CLI handles the first build and deploy.

CLI
# From inside your project directory cd my-app zevcloud init

Already deployed and want to push an update?

CLI
# List your services to find the id zevcloud services # Redeploy (the CLI handles GitHub-pull or terminal-upload automatically # based on how the service was created) zevcloud deploy <serviceId> # View logs zevcloud logs <serviceId> -f

Set a custom API URL (for self-hosted or sandbox):

CLI
zevcloud config --api-url https://zevcloud-apisandbox.zevop.net/v1

The URL must use HTTPS. The CLI rejects plaintext HTTP endpoints to keep API keys off the wire in cleartext.

For non-interactive environments where storing an API key on disk is undesirable, set credentials via environment variables instead:

CLI
export ZEVCLOUD_API_KEY=sk_live_... export ZEVCLOUD_TEAM_ID=<your-team-id> zevcloud deploy <serviceId>

When ZEVCLOUD_API_KEY is set the CLI uses it for every command and never reads or writes the on-disk credential store. Pair it with ZEVCLOUD_TEAM_ID so the team-id header is set explicitly. This is the right pattern for GitHub Actions, GitLab CI, and AI agent runners.

The CLI checks the npm registry once every 24 hours for a newer version. If one is available, you’ll see a small notice after your command completes — no extra action required to receive it. To disable the check, set ZEVCLOUD_DISABLE_UPDATE_CHECK=true.