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 loginOpen a browser for GitHub OAuth and store your token locally.
pulsar auth login
pulsar auth logoutClear stored credentials.
pulsar auth logout
pulsar whoamiShow 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 deployTrigger 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 statusList 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 openOpen 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 valueSet a single environment variable.
pulsar env set DATABASE_URL "postgres://..." pulsar env set my-app API_KEY "sk-..." --env production
pulsar env remove [project] KEYDelete 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 listList 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