Pulsar
docs
← back to home

CLI Reference

The Pulsar CLI (pulsar) lets you deploy, manage databases, sync env vars, stream logs, and roll back — all from your terminal.

Installation

npm install -g pulsar-deploy-cli

Requires Node.js 18+. Verify with pulsar --version.

Authentication

pulsar auth login

Open a browser for GitHub OAuth and store your token locally.

pulsar auth login
pulsar auth logout

Clear stored credentials.

pulsar auth logout
pulsar whoami

Show the currently logged-in user's name and email.

pulsar whoami

Project setup

pulsar init [project]

Link the current directory to a Pulsar project. Auto-detects by folder name, shows a picker otherwise. Writes pulsar.json and adds it to .gitignore.

pulsar init              # auto-detect or pick from list
pulsar init my-app       # link to a specific project

Deployments

pulsar deploy

Trigger a deployment. Reads pulsar.json if no --project flag is passed.

pulsar deploy                      # uses pulsar.json
pulsar deploy --project my-app    # explicit project
pulsar deploy --no-wait           # queue and return immediately
pulsar status

List all your projects with their current deploy status and live URLs.

pulsar status
pulsar rollback <project>

Roll back to the most recent previous live deployment.

pulsar rollback my-app
pulsar logs <project>

Stream build and runtime logs for the latest deployment.

pulsar logs my-app
pulsar logs my-app --follow       # keep streaming
pulsar open

Open the project's live URL in browser. --dashboard opens the Pulsar dashboard.

pulsar open              # open live URL
pulsar open --dashboard  # open project dashboard

Environment variables

All commands read pulsar.json for the project name when no argument is given.

pulsar env list [project]

List all env var keys grouped by scope. Values are never shown.

pulsar env list
pulsar env list my-app
pulsar env set [project] KEY value

Set a single environment variable.

pulsar env set DATABASE_URL "postgres://..."
pulsar env set my-app API_KEY "sk-..." --env production
pulsar env remove [project] KEY

Delete an env var. Alias: rm.

pulsar env remove SECRET_KEY
pulsar env rm my-app OLD_KEY
pulsar env pull [project]

Download env vars from Pulsar into a local .env file. Skips keys already set locally (--overwrite to replace). Warns if .env is not gitignored.

pulsar env pull                      # writes .env
pulsar env pull --output .env.local
pulsar env pull --env preview
pulsar env pull --overwrite
pulsar env push [project]

Upload all variables from a local .env file to Pulsar in bulk. Parses quoted values and comments.

pulsar env push                      # reads .env
pulsar env push --input .env.production
pulsar env push --env preview

Databases

pulsar db list

List all managed database instances with type, status, and port.

pulsar db list
pulsar db connection <name>

Print the connection string with a hint for adding it to env vars. Alias: conn.

pulsar db connection my-db
pulsar db conn postgres-1
pulsar db create <name>

Provision a new managed database instance.

pulsar db create my-db --type postgres
pulsar db create cache --type redis --size micro
pulsar db create admin --type pocketbase --email admin@example.com
pulsar db delete <name>

Delete a managed database instance and all its data. Irreversible.

pulsar db delete old-db

pulsar.json

Running pulsar init creates a pulsar.json in your project root. This links commands to your project without requiring --project flags every time.

{
  "project": "my-app",
  "projectId": "550e8400-e29b-41d4-a716-446655440000"
}

pulsar.json is automatically added to .gitignore. Do not commit it.

.env workflows

Team onboarding

git clone https://github.com/your-org/your-app
cd your-app
pulsar init           # link to the Pulsar project
pulsar env pull       # download env vars to .env
npm install && npm run dev

Adding new secrets

# Edit .env locally, then push to Pulsar
echo 'NEW_KEY=value123' >> .env
pulsar env push
pulsar deploy         # redeploy to apply