| name | temps-cli |
| description | Complete command-line reference for managing the Temps deployment platform. Covers all 440+ CLI commands across 69 command groups — projects, deployments, environments, services, domains, DNS, monitoring, incidents, backups, security scanning, error tracking, analytics, funnels, revenue, session replay, email, KV/Blob storage, AI agents (sandbox/skills/MCP/secrets/workflows), Temps Cloud, and platform administration. Use when the user wants to: (1) Find CLI command syntax and flags, (2) Manage projects and deployments via CLI, (3) Configure services and infrastructure, (4) Set up monitoring and logging, (5) Automate deployments with CI/CD, (6) Manage domains and DNS, (7) Configure notifications and webhooks, (8) View project analytics and traffic breakdowns. Triggers: "temps cli", "temps command", "how to use temps", "@temps-sdk/cli", "bunx temps", "npx temps", "temps deploy", "temps projects", "temps services", "temps analytics", "temps stats".
|
Temps CLI - Complete Reference
Temps CLI is the command-line interface for the Temps deployment platform. It provides full control over projects, deployments, services, domains, monitoring, and platform configuration.
Always invoke the CLI via bunx @temps-sdk/cli ... (or npx @temps-sdk/cli ...). This reference matches @temps-sdk/cli v0.1.26 and was generated directly from the CLI's command definitions — every flag, argument, and alias below is verbatim.
Installation
@temps-sdk/cli is the official CLI published by the Temps team on npm under the @temps-sdk organization (npm profile, source code).
npx @temps-sdk/cli --version
bunx @temps-sdk/cli --version
npm install -g @temps-sdk/cli
bun add -g @temps-sdk/cli
Configuration
The CLI reads settings from ~/.temps/config.json and per-context credentials from ~/.temps/. Configure interactively or non-interactively with the configure command (see CLI Configuration for full flags and the get/set/list/show/reset subcommands):
bunx @temps-sdk/cli configure
bunx @temps-sdk/cli configure --api-url https://temps.example.com --api-token <TOKEN> --output-format json --no-interactive
bunx @temps-sdk/cli configure show
bunx @temps-sdk/cli configure get output-format
bunx @temps-sdk/cli configure set output-format json
bunx @temps-sdk/cli configure reset
Config file: ~/.temps/config.json
Credentials: Stored per-context in ~/.temps/ with restricted file permissions (mode 0600). Managed automatically by login / logout and the context commands.
Environment variables (override config):
| Variable | Description |
|---|
TEMPS_API_URL | Override API endpoint |
TEMPS_TOKEN | API token (highest priority) |
TEMPS_API_TOKEN | API token (CI/CD) |
TEMPS_API_KEY | API key |
TEMPS_DEBUG | Set to 1 to log every request/response (same as --debug) |
NO_COLOR | Disable colored output |
Global Options
These options are available on the root command:
-V, --version Display version number
--no-color Disable colored output
--debug Enable debug output (verbose request/response logging)
-h, --help Display help for any command
Run bunx @temps-sdk/cli <command> --help to see the flags for any specific command or subcommand.
Authentication
Authenticate the CLI against a Temps server. Interactive logins open the browser; pass --api-key for headless / CI environments. Each login is stored as a named context (see CLI Contexts).
login
bunx @temps-sdk/cli login [options] [url]
Authenticate with a Temps server. Opens the browser for interactive logins; use --api-key for headless / CI.
The optional positional [url] is the Temps server URL to authenticate against.
| Option | Description |
|---|
-k, --api-key <key> | Use a pre-minted API key (Settings → API Keys) instead of opening the browser. Required for headless / CI. |
--context <name> | Save the credentials under this context name (defaults to URL host). |
--debug | Print every request/response (URL, status, headers, raw body) to stderr. Also enabled via TEMPS_DEBUG=1. |
bunx @temps-sdk/cli login
bunx @temps-sdk/cli login https://temps.example.com
bunx @temps-sdk/cli login https://temps.example.com --api-key <YOUR_API_KEY>
bunx @temps-sdk/cli login https://temps.example.com --api-key <YOUR_API_KEY> --context prod
bunx @temps-sdk/cli login https://temps.example.com --debug
logout
bunx @temps-sdk/cli logout [options]
Revoke the active context's API key on the server and forget it locally.
| Option | Description |
|---|
--context <name> | Log out of a specific context (defaults to active). |
--local-only | Skip server-side revocation; only clear local credentials. |
bunx @temps-sdk/cli logout
bunx @temps-sdk/cli logout --context prod
bunx @temps-sdk/cli logout --local-only
whoami
bunx @temps-sdk/cli whoami [options]
Display the current authenticated user and active context.
| Option | Description |
|---|
--json | Output as JSON. |
bunx @temps-sdk/cli whoami
bunx @temps-sdk/cli whoami --json
CLI Contexts
A context is one set of credentials per Temps server. login creates contexts; the commands below switch between and manage them.
bunx @temps-sdk/cli context <command>
Manage CLI contexts (one set of credentials per Temps server).
context list
bunx @temps-sdk/cli context list [options]
Alias: ls. List all configured contexts.
| Option | Description |
|---|
--json | Output in JSON format. |
bunx @temps-sdk/cli context list
bunx @temps-sdk/cli context ls --json
context use
bunx @temps-sdk/cli context use [options] <name>
Alias: switch. Switch the active context. <name> is the context to activate.
bunx @temps-sdk/cli context use prod
bunx @temps-sdk/cli context switch staging
context remove
bunx @temps-sdk/cli context remove [options] <name>
Alias: rm. Remove a context. This does NOT revoke the key on the server — use logout first if you need server-side revocation. <name> is the context to remove.
bunx @temps-sdk/cli context remove old-server
bunx @temps-sdk/cli context rm staging
context current
bunx @temps-sdk/cli context current [options]
Print the active context name.
| Option | Description |
|---|
--json | Output in JSON format with full details. |
bunx @temps-sdk/cli context current
bunx @temps-sdk/cli context current --json
CLI Configuration
bunx @temps-sdk/cli configure [options] [command]
Configure CLI settings via an AWS-style wizard. Running configure with no subcommand launches the wizard; the flags below let you set values non-interactively, and the subcommands inspect/modify individual values.
| Option | Description |
|---|
--api-url <url> | API URL. |
--api-token <token> | API token for authentication. |
--output-format <format> | Output format (table, json, minimal). |
--enable-colors | Enable colored output in config. |
--disable-colors | Disable colored output in config. |
-i, --interactive | Force interactive mode even in non-TTY. |
-y, --no-interactive | Non-interactive mode (uses defaults for unspecified options). |
bunx @temps-sdk/cli configure
bunx @temps-sdk/cli configure \
--api-url https://temps.example.com \
--api-token <YOUR_API_TOKEN> \
--output-format json \
--no-interactive
configure get
bunx @temps-sdk/cli configure get [options] <key>
Get a configuration value. <key> is the config key to read.
bunx @temps-sdk/cli configure get output-format
configure set
bunx @temps-sdk/cli configure set [options] <key> <value>
Set a configuration value. <key> is the config key and <value> is the new value.
bunx @temps-sdk/cli configure set output-format json
configure list
bunx @temps-sdk/cli configure list [options]
List all configuration values.
bunx @temps-sdk/cli configure list
configure show
bunx @temps-sdk/cli configure show [options]
Show current configuration and authentication status.
| Option | Description |
|---|
--json | Output in JSON format. |
bunx @temps-sdk/cli configure show
bunx @temps-sdk/cli configure show --json
configure reset
bunx @temps-sdk/cli configure reset [options]
Reset configuration to defaults.
bunx @temps-sdk/cli configure reset
Projects
Manage projects — create, inspect, configure, and delete deployment projects.
Group: projects Aliases: project, p
All subcommands accept a project via -p, --project <project> (slug or ID) unless noted.
List Projects
projects list (alias ls) — List all projects.
bunx @temps-sdk/cli projects list
bunx @temps-sdk/cli projects ls --json
bunx @temps-sdk/cli projects list --page 2 --per-page 10
| Flag | Description |
|---|
--json | Output in JSON format |
--page <n> | Page number |
--per-page <n> | Items per page |
Example output:
Projects (3)
┌──────┬──────────────┬────────┬──────────────┬─────────────────────┐
│ Name │ Slug │ Preset │ Environments │ Created │
├──────┼──────────────┼────────┼──────────────┼─────────────────────┤
│ Blog │ blog │ nextjs │ 2 │ 2025-01-15 10:30:00 │
│ API │ api-backend │ nodejs │ 1 │ 2025-01-14 08:00:00 │
│ Docs │ docs-site │ static │ 1 │ 2025-01-12 14:00:00 │
└──────┴──────────────┴────────┴──────────────┴─────────────────────┘
Create Project
projects create (alias new) — Create a new project (git-based or manual deployment).
Run with no flags for the interactive wizard, or pass flags for non-interactive creation. Git projects use --repo <owner/name> plus build/branch settings; manual projects use --manual with a --source-type.
bunx @temps-sdk/cli projects create
bunx @temps-sdk/cli projects create \
-n "My App" \
-d "Description of my app" \
--repo org/my-app \
--branch main \
--directory apps/web \
--preset nextjs \
--connection 3 \
-y
bunx @temps-sdk/cli projects create \
-n "My Service" \
--manual \
--source-type docker_image \
--image ghcr.io/org/my-service:latest \
--port 3000 \
-y
| Flag | Description |
|---|
-n, --name <name> | Project name |
-d, --description <description> | Project description |
--repo <repository> | Repository in owner/name format |
--branch <branch> | Git branch |
--directory <directory> | Root directory (relative to repo) |
--preset <preset> | Build preset (e.g., nextjs, nodejs, static, docker) |
--connection <id> | Git connection ID |
--manual | Create a manual (non-git) project — deploy via Docker image or static files |
--source-type <type> | Manual deployment method: manual (flexible), docker_image, or static_files |
--image <image> | Docker image for the first deployment (manual mode) |
--port <port> | Application/container port (manual mode, default: 3000) |
-y, --yes | Skip optional prompts (services, env vars, set-default) |
Show Project
projects show (alias get) — Show project details.
bunx @temps-sdk/cli projects show -p my-app
bunx @temps-sdk/cli projects show -p my-app --json
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID |
--json | Output in JSON format |
Example output:
My App
ID 5
Slug my-app
Description My application
Preset nextjs
Main Branch main
Repository org/my-app
Created 1/15/2025, 10:30:00 AM
Updated 1/20/2025, 3:45:00 PM
Update Project
projects update (alias edit) — Update project name and description.
bunx @temps-sdk/cli projects update -p my-app -n "New Name" -d "New description"
bunx @temps-sdk/cli projects update -p my-app -n "New Name" -y
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID |
-n, --name <name> | New project name |
-d, --description <description> | New project description |
--json | Output in JSON format |
-y, --yes | Skip prompts, use provided values (for automation) |
Update Project Settings
projects settings — Update project settings (slug, attack mode, preview environments).
bunx @temps-sdk/cli projects settings -p my-app --slug new-slug --attack-mode
bunx @temps-sdk/cli projects settings -p my-app --preview-envs
bunx @temps-sdk/cli projects settings -p my-app --no-attack-mode
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID |
--slug <slug> | Project URL slug |
--attack-mode | Enable attack mode (CAPTCHA protection) |
--no-attack-mode | Disable attack mode |
--preview-envs | Enable preview environments |
--no-preview-envs | Disable preview environments |
--json | Output in JSON format |
-y, --yes | Skip prompts (for automation) |
Update Git Settings
projects git — Update git repository settings.
bunx @temps-sdk/cli projects git -p my-app --owner myorg --repo myrepo --branch main --preset nextjs
bunx @temps-sdk/cli projects git -p my-app --directory apps/web --preset nextjs -y
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID |
--owner <owner> | Repository owner |
--repo <repo> | Repository name |
--branch <branch> | Main branch |
--directory <directory> | App directory path |
--preset <preset> | Build preset (auto, nextjs, nodejs, static, docker, rust, go, python) |
--json | Output in JSON format |
-y, --yes | Skip prompts, use provided/existing values (for automation) |
Update Deployment Config
projects config — Update deployment configuration (resources, replicas).
bunx @temps-sdk/cli projects config -p my-app --replicas 3 --cpu-limit 1 --memory-limit 512
bunx @temps-sdk/cli projects config -p my-app --auto-deploy
bunx @temps-sdk/cli projects config -p my-app --no-auto-deploy
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID |
--replicas <n> | Number of container replicas |
--cpu-limit <limit> | CPU limit in cores (e.g., 0.5, 1, 2) |
--memory-limit <limit> | Memory limit in MB |
--auto-deploy | Enable automatic deployments |
--no-auto-deploy | Disable automatic deployments |
--json | Output in JSON format |
-y, --yes | Skip prompts (for automation) |
Delete Project
projects delete (alias rm) — Delete a project.
bunx @temps-sdk/cli projects delete -p my-app
bunx @temps-sdk/cli projects rm -p my-app -f
bunx @temps-sdk/cli projects rm -p my-app -y
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID |
-f, --force | Skip confirmation |
-y, --yes | Skip confirmation (alias for --force) |
Project Workspace Commands
Top-level commands for working with a project from a local directory.
Init
init [project-slug] — Initialize a Temps project in the current directory. Creates the local project link (and a new project if needed).
bunx @temps-sdk/cli init
bunx @temps-sdk/cli init my-app
bunx @temps-sdk/cli init --name "My App" -y
| Argument / Flag | Description |
|---|
[project-slug] | Optional project slug to initialize against |
-n, --name <name> | Project name (for new projects) |
-y, --yes | Skip confirmation prompts |
Link
link [project-slug] — Link the current directory to an existing Temps project.
bunx @temps-sdk/cli link
bunx @temps-sdk/cli link my-app --environment production
| Argument / Flag | Description |
|---|
[project-slug] | Optional project slug to link |
-e, --environment <name> | Set default environment |
Status
status [project] — Show project deployment status. Resolves the project from the positional argument, -p, or the linked directory.
bunx @temps-sdk/cli status
bunx @temps-sdk/cli status my-app
bunx @temps-sdk/cli status -p my-app -e production
bunx @temps-sdk/cli status -p my-app --json
| Argument / Flag | Description |
|---|
[project] | Optional project slug (positional) |
-p, --project <project> | Project slug |
-e, --environment <env> | Filter by environment |
--json | Output in JSON format |
Open
open [project] — Open the project URL in a browser.
bunx @temps-sdk/cli open
bunx @temps-sdk/cli open my-app
bunx @temps-sdk/cli open -p my-app -e production
bunx @temps-sdk/cli open -p my-app --dashboard
| Argument / Flag | Description |
|---|
[project] | Optional project slug (positional) |
-p, --project <project> | Project slug |
-e, --environment <env> | Open specific environment |
--dashboard | Open the dashboard instead of the project URL |
Deployments
Commands for shipping projects to Temps — from git, static archives, pre-built or locally-built Docker images — plus managing the deployment lifecycle (status, rollback, cancel, pause/resume, teardown) and viewing build and runtime logs.
Deploy from Git
temps deploy [project] — deploy a project from git. The project may be passed as a positional argument or via -p, --project.
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID |
-e, --environment <env> | Target environment name |
--environment-id <id> | Target environment ID |
-b, --branch <branch> | Git branch to deploy |
-c, --commit <sha> | Specific commit SHA to deploy |
--no-wait | Do not wait for deployment to complete |
-y, --yes | Skip confirmation prompts (for automation) |
bunx @temps-sdk/cli deploy my-app
bunx @temps-sdk/cli deploy my-app -b feature/new-ui -e staging
bunx @temps-sdk/cli deploy -p my-app -b main -c a1b2c3d -e production -y
bunx @temps-sdk/cli deploy -p my-app -b main -e production --no-wait -y
Example output:
Deploying my-app
Branch main
Environment production
Deployment started (ID: 42)
Building...
Pushing image...
Starting containers...
Deployment successful!
Deploy the Current Project (up)
temps up [project] — deploy the current project. Runs the setup wizard if the directory is not yet linked, auto-detecting the framework preset and git branch from the working directory.
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID |
-e, --environment <env> | Target environment name |
-b, --branch <branch> | Git branch to deploy (auto-detected from cwd) |
-n, --name <name> | Project name (for new projects) |
--preset <preset> | Framework preset slug (skip auto-detection) |
--manual | Use manual deployment mode (no git) |
--no-services | Skip external service setup |
--no-wait | Do not wait for deployment to complete |
-y, --yes | Skip confirmation prompts |
bunx @temps-sdk/cli up
bunx @temps-sdk/cli up --name my-app --preset nextjs -e production
bunx @temps-sdk/cli up -p my-app --manual --no-services -y
Deploy Static Files
temps deploy:static (alias deploy-static) — deploy static files from a tar.gz, zip, or directory.
| Flag | Description | Default |
|---|
--path <path> | Path to static files archive or directory | |
-p, --project <project> | Project slug or ID | |
-e, --environment <env> | Target environment name | production |
--environment-id <id> | Target environment ID | |
--no-wait | Do not wait for deployment to complete | |
-y, --yes | Skip confirmation prompts (for automation) | |
--metadata <json> | Additional metadata (JSON format) | |
--timeout <seconds> | Timeout in seconds for --wait | 300 |
bunx @temps-sdk/cli deploy:static --path ./dist -p my-app
bunx @temps-sdk/cli deploy:static --path ./build.tar.gz -p my-app -e production -y
bunx @temps-sdk/cli deploy-static --path ./dist -p my-app --timeout 600
Deploy a Pre-built Docker Image
temps deploy:image (alias deploy-image) — deploy a pre-built Docker image from a registry.
| Flag | Description | Default |
|---|
--image <image> | Docker image reference (e.g., ghcr.io/org/app:v1.0) | |
-p, --project <project> | Project slug or ID | |
-e, --environment <env> | Target environment name | production |
--environment-id <id> | Target environment ID | |
--no-wait | Do not wait for deployment to complete | |
-y, --yes | Skip confirmation prompts (for automation) | |
--metadata <json> | Additional metadata (JSON format) | |
--timeout <seconds> | Timeout in seconds for --wait | 300 |
bunx @temps-sdk/cli deploy:image --image ghcr.io/org/app:v1.0 -p my-app
bunx @temps-sdk/cli deploy:image --image registry.example.com/app:latest -p my-app -e staging -y
Build and Deploy a Local Docker Image
temps deploy:local-image (alias deploy-local-image) — build and deploy a local Docker image, or deploy an existing local image with --image.
| Flag | Description | Default |
|---|
--image <image> | Use existing local image instead of building (skips build) | |
-f, --dockerfile <path> | Path to Dockerfile | Dockerfile |
-c, --context <path> | Build context directory | . |
--build-arg <arg...> | Build arguments (can be specified multiple times) | |
--no-build | Skip building, requires --image | |
-p, --project <project> | Project slug or ID | |
-e, --environment <env> | Target environment name | production |
--environment-id <id> | Target environment ID | |
-t, --tag <tag> | Tag for the built/uploaded image | |
--no-wait | Do not wait for deployment to complete | |
-y, --yes | Skip confirmation prompts (for automation) | |
--metadata <json> | Additional metadata (JSON format) | |
--timeout <seconds> | Timeout in seconds for --wait | 600 |
bunx @temps-sdk/cli deploy:local-image -p my-app -f Dockerfile -c .
bunx @temps-sdk/cli deploy:local-image --image my-app:latest --no-build -p my-app -e production -y
bunx @temps-sdk/cli deploy:local-image -p my-app -t my-app:built \
--build-arg NODE_ENV=production --build-arg API_URL=https://api.example.com
Rollback (top-level)
temps rollback [project] — rollback to a previous deployment.
| Flag | Description | Default |
|---|
-p, --project <project> | Project slug | |
-e, --environment <env> | Target environment | production |
--to <id> | Rollback to specific deployment ID | |
-y, --yes | Skip confirmation | |
bunx @temps-sdk/cli rollback my-app
bunx @temps-sdk/cli rollback -p my-app -e production --to 40 -y
Runtime Logs
temps runtime-logs (alias rlogs) — view runtime container logs. Use -f to follow in real-time.
| Flag | Description | Default |
|---|
-p, --project <project> | Project slug or ID | |
-e, --environment <env> | Environment name | production |
-c, --container <id> | Container ID (partial match supported) | |
-n, --tail <lines> | Number of lines to tail | 1000 |
-t, --timestamps | Show timestamps | |
-f, --follow | Follow log output (stream in real-time) | |
bunx @temps-sdk/cli runtime-logs -p my-app
bunx @temps-sdk/cli rlogs -p my-app -e staging -c abc123 -f -t
bunx @temps-sdk/cli runtime-logs -p my-app -n 200
Local Development Tunnel (dev)
temps dev — start a local development tunnel. Coming soon: this command is not yet functional.
| Flag | Description | Default |
|---|
-p, --project <project> | Project slug | |
--port <port> | Local port to expose | 3000 |
bunx @temps-sdk/cli dev -p my-app --port 3000
Execute in a Container (exec)
temps exec [command] (alias ssh) — execute a command in a running container. Coming soon: this command is not yet functional.
| Flag | Description |
|---|
-p, --project <project> | Project slug |
-e, --environment <env> | Target environment |
bunx @temps-sdk/cli exec -p my-app -e production "ls -la"
bunx @temps-sdk/cli ssh -p my-app -e production /bin/sh
Managing Deployments
temps deployments (alias deploys) — manage deployments. Subcommands cover listing, status, lifecycle control, and build logs.
List Deployments
temps deployments list (alias ls) — list deployments.
| Flag | Description | Default |
|---|
-p, --project <project> | Project slug or ID | |
-e, --environment <env> | Filter by environment name (client-side) | |
--environment-id <id> | Filter by environment ID (server-side) | |
-n, --limit <number> | Limit results | 10 |
--page <n> | Page number | |
--per-page <n> | Items per page | |
--json | Output in JSON format | |
bunx @temps-sdk/cli deployments list -p my-app
bunx @temps-sdk/cli deployments ls -p my-app --limit 5 --json
bunx @temps-sdk/cli deployments list -p my-app --page 2 --per-page 10 --environment-id 1
Example output:
Deployments (3)
┌────┬─────────┬────────────┬────────────┬──────────┬─────────────────────┐
│ ID │ Branch │ Env │ Status │ Duration │ Created │
├────┼─────────┼────────────┼────────────┼──────────┼─────────────────────┤
│ 42 │ main │ production │ ● running │ 2m 15s │ 2025-01-20 15:30:00 │
│ 41 │ develop │ staging │ ● running │ 1m 45s │ 2025-01-20 14:00:00 │
│ 40 │ main │ production │ ○ stopped │ 3m 02s │ 2025-01-19 10:00:00 │
└────┴─────────┴────────────┴────────────┴──────────┴─────────────────────┘
Deployment Status
temps deployments status — show deployment status.
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID (required) |
-d, --deployment-id <id> | Deployment ID (required) |
--json | Output in JSON format |
bunx @temps-sdk/cli deployments status -p my-app -d 42
bunx @temps-sdk/cli deployments status -p my-app -d 42 --json
Rollback (subcommand)
temps deployments rollback — rollback to a previous deployment.
| Flag | Description | Default |
|---|
-p, --project <project> | Project slug or ID (required) | |
-e, --environment <env> | Target environment | production |
--to <deployment> | Rollback to specific deployment ID | |
bunx @temps-sdk/cli deployments rollback -p my-app -e production
bunx @temps-sdk/cli deployments rollback -p my-app --to 40
Cancel a Deployment
temps deployments cancel — cancel a running deployment.
| Flag | Description |
|---|
-p, --project-id <id> | Project ID |
-d, --deployment-id <id> | Deployment ID |
-f, --force | Skip confirmation |
bunx @temps-sdk/cli deployments cancel -p 5 -d 42
bunx @temps-sdk/cli deployments cancel -p 5 -d 42 -f
Pause / Resume a Deployment
temps deployments pause — pause a deployment. temps deployments resume — resume a paused deployment. Both take the same flags.
| Flag | Description |
|---|
-p, --project-id <id> | Project ID |
-d, --deployment-id <id> | Deployment ID |
bunx @temps-sdk/cli deployments pause -p 5 -d 42
bunx @temps-sdk/cli deployments resume -p 5 -d 42
Teardown a Deployment
temps deployments teardown — teardown a deployment and remove all resources.
| Flag | Description |
|---|
-p, --project-id <id> | Project ID |
-d, --deployment-id <id> | Deployment ID |
-f, --force | Skip confirmation |
bunx @temps-sdk/cli deployments teardown -p 5 -d 42
bunx @temps-sdk/cli deployments teardown -p 5 -d 42 -f
Build Logs
temps deployments logs — show deployment build logs. (For runtime container logs use temps runtime-logs.)
| Flag | Description | Default |
|---|
-p, --project <project> | Project slug or ID | |
-e, --environment <env> | Environment | production |
-f, --follow | Follow log output | |
-n, --lines <number> | Number of lines to show | 100 |
-d, --deployment <id> | Specific deployment ID | |
bunx @temps-sdk/cli deployments logs -p my-app
bunx @temps-sdk/cli deployments logs -p my-app -f
bunx @temps-sdk/cli deployments logs -p my-app -e staging -n 50
bunx @temps-sdk/cli deployments logs -p my-app -d 42 -f
Environments
Manage environments (e.g. production, staging, preview branches) and their environment variables for a project. Group alias: envs or env.
bunx @temps-sdk/cli environments <subcommand> ...
bunx @temps-sdk/cli envs <subcommand> ...
bunx @temps-sdk/cli env <subcommand> ...
List Environments
environments list (alias ls). Requires -p, --project <project>.
bunx @temps-sdk/cli environments list -p my-app
bunx @temps-sdk/cli environments ls -p my-app --json
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID (required) |
--json | Output in JSON format |
Create Environment
environments create. Requires a project, name, and git branch.
bunx @temps-sdk/cli environments create -p my-app -n staging -b develop
bunx @temps-sdk/cli environments create -p my-app -n preview -b feature/login --preview
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID (required) |
-n, --name <name> | Environment name (required) |
-b, --branch <branch> | Git branch (required) |
--preview | Set as preview environment |
Delete Environment
environments delete (alias rm). Takes the environment as a positional argument.
bunx @temps-sdk/cli environments delete staging -p my-app
bunx @temps-sdk/cli environments rm staging -p my-app -f
| Argument / Flag | Description |
|---|
<environment> | Environment to delete (required positional) |
-p, --project <project> | Project slug or ID (required) |
-f, --force | Skip confirmation |
Environment Variables
environments vars <command> manages environment variables. The parent group requires -p, --project <project>.
bunx @temps-sdk/cli environments vars list -p my-app -e production
bunx @temps-sdk/cli environments vars list -p my-app -e production --show-values
bunx @temps-sdk/cli environments vars list -p my-app -e production --json
bunx @temps-sdk/cli environments vars get DATABASE_URL -p my-app -e production
bunx @temps-sdk/cli environments vars set API_KEY my-value -p my-app -e production,staging
bunx @temps-sdk/cli environments vars set SECRET_KEY my-value -p my-app -e production --no-preview
bunx @temps-sdk/cli environments vars set API_KEY new-value -p my-app -e production --update
bunx @temps-sdk/cli environments vars delete OLD_KEY -p my-app -e production
bunx @temps-sdk/cli environments vars unset OLD_KEY -p my-app -e production -f
bunx @temps-sdk/cli environments vars import .env.production -p my-app -e production
bunx @temps-sdk/cli environments vars import .env.production -p my-app -e production,staging --overwrite
bunx @temps-sdk/cli environments vars export -p my-app -e production
bunx @temps-sdk/cli environments vars export -p my-app -e production -o .env.backup
vars list (alias ls)
| Flag | Description |
|---|
-e, --environment <name> | Filter by environment name (required) |
--show-values | Show actual values (hidden by default) |
--json | Output in JSON format |
vars get
Takes <key> as a positional argument.
| Argument / Flag | Description |
|---|
<key> | Variable key (required positional) |
-e, --environment <name> | Specify environment (if variable exists in multiple) (required) |
vars set
Takes <key> (required) and [value] (optional) as positional arguments. If value is omitted you will be prompted.
| Argument / Flag | Description |
|---|
<key> | Variable key (required positional) |
[value] | Variable value (optional positional) |
-e, --environments <names> | Comma-separated environment names (interactive if not provided) (required) |
--no-preview | Exclude from preview environments |
--update | Update existing variable instead of creating new |
vars delete (aliases rm, unset)
Takes <key> as a positional argument.
| Argument / Flag | Description |
|---|
<key> | Variable key (required positional) |
-e, --environment <name> | Delete only from specific environment (required) |
-f, --force | Skip confirmation |
vars import
Takes [file] as an optional positional argument (defaults to a .env file in the working directory).
| Argument / Flag | Description |
|---|
[file] | Path to a .env file (optional positional) |
-e, --environments <names> | Comma-separated environment names (required) |
--overwrite | Overwrite existing variables |
vars export
| Flag | Description |
|---|
-e, --environment <name> | Export from specific environment (required) |
-o, --output <file> | Write to file instead of stdout |
Environment Resources
environments resources <environment> views or sets CPU/memory limits and requests for an environment. The environment is a positional argument.
bunx @temps-sdk/cli environments resources production -p my-app --json
bunx @temps-sdk/cli environments resources production -p my-app \
--cpu 500 --memory 512 --cpu-request 250 --memory-request 256
| Argument / Flag | Description |
|---|
<environment> | Environment name (required positional) |
-p, --project <project> | Project slug or ID (required) |
--cpu <millicores> | CPU limit in millicores (e.g., 500 = 0.5 CPU) |
--memory <mb> | Memory limit in MB (e.g., 512) |
--cpu-request <millicores> | CPU request in millicores (guaranteed minimum) |
--memory-request <mb> | Memory request in MB (guaranteed minimum) |
--json | Output in JSON format |
Scale Environment
environments scale views or sets the number of replicas for an environment. The environment defaults to production.
bunx @temps-sdk/cli environments scale -p my-app -r 3
bunx @temps-sdk/cli environments scale -p my-app -e staging -r 2 --json
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID (required) |
-e, --environment <env> | Environment name or slug (default: production) |
-r, --replicas <count> | Number of replicas to set |
--json | Output in JSON format |
Cron Jobs
environments crons <command> manages cron jobs for an environment. The parent group requires both -p, --project <project> and -e, --environment <env>.
bunx @temps-sdk/cli environments crons list -p my-app -e production
bunx @temps-sdk/cli environments crons ls -p my-app -e production --json
bunx @temps-sdk/cli environments crons show -p my-app -e production --id 1
bunx @temps-sdk/cli environments crons show -p my-app -e production --id 1 --json
bunx @temps-sdk/cli environments crons executions -p my-app -e production --id 1
bunx @temps-sdk/cli environments crons execs -p my-app -e production --id 1 --page 1 --per-page 20
Parent group flags (required on every subcommand):
| Flag | Description |
|---|
-p, --project <project> | Project slug or ID (required) |
-e, --environment <env> | Environment name or slug (required) |
crons list (alias ls)
| Flag | Description |
|---|
--json | Output in JSON format |
crons show
| Flag | Description |
|---|
--id <id> | Cron job ID (required) |
--json | Output in JSON format |
crons executions (alias execs)
| Flag | Description |
|---|
--id <id> | Cron job ID (required) |
--page <page> | Page number (default: 1) |
--per-page <count> | Items per page (default: 20) |
--json | Output in JSON format |
Pull & Push Environment Variables
Top-level shortcuts for syncing environment variables between a local .env file and Temps. The [file] argument is optional and defaults to a .env file in the working directory.
Pull (env:pull)
Pulls environment variables from a single environment down to a local .env file.
bunx @temps-sdk/cli env:pull -p my-app -e production
bunx @temps-sdk/cli env:pull .env.production -p my-app -e production
| Argument / Flag | Description |
|---|
[file] | Target .env file (optional positional) |
-e, --environment <name> | Pull from specific environment (required) |
-p, --project <project> | Project slug (required) |
Push (env:push)
Pushes environment variables from a local .env file up to one or more environments.
bunx @temps-sdk/cli env:push -p my-app -e production
bunx @temps-sdk/cli env:push .env.production -p my-app -e production,staging --overwrite
| Argument / Flag | Description |
|---|
[file] | Source .env file (optional positional) |
-e, --environment <names> | Comma-separated environment names (required) |
-p, --project <project> | Project slug (required) |
--overwrite | Overwrite existing variables |
Containers
containers <command> (alias cts) manages the running project containers within an environment. All subcommands identify resources by ID (-p, --project-id, -e, --environment-id, -c, --container-id).
bunx @temps-sdk/cli containers <subcommand> ...
bunx @temps-sdk/cli cts <subcommand> ...
List Containers
containers list (alias ls). Lists containers in an environment, or across all environments if -e is omitted.
bunx @temps-sdk/cli containers list -p 5
bunx @temps-sdk/cli containers ls -p 5 -e 12 --json
| Flag | Description |
|---|
-p, --project-id <id> | Project ID (required) |
-e, --environment-id <id> | Environment ID (optional - lists all environments if omitted) |
--json | Output in JSON format |
Show Container
containers show displays details for a single container.
bunx @temps-sdk/cli containers show -p 5 -e 12 -c abc123
bunx @temps-sdk/cli containers show -p 5 -e 12 -c abc123 --json
| Flag | Description |
|---|
-p, --project-id <id> | Project ID (required) |
-e, --environment-id <id> | Environment ID (required) |
-c, --container-id <id> | Container ID (required) |
--json | Output in JSON format |
Start Container
containers start starts a stopped container.
bunx @temps-sdk/cli containers start -p 5 -e 12 -c abc123
| Flag | Description |
|---|
-p, --project-id <id> | Project ID (required) |
-e, --environment-id <id> | Environment ID (required) |
-c, --container-id <id> | Container ID (required) |
Stop Container
containers stop stops a running container.
bunx @temps-sdk/cli containers stop -p 5 -e 12 -c abc123
bunx @temps-sdk/cli containers stop -p 5 -e 12 -c abc123 -f
| Flag | Description |
|---|
-p, --project-id <id> | Project ID (required) |
-e, --environment-id <id> | Environment ID (required) |
-c, --container-id <id> | Container ID (required) |
-f, --force | Skip confirmation |
Restart Container
containers restart restarts a container.
bunx @temps-sdk/cli containers restart -p 5 -e 12 -c abc123
| Flag | Description |
|---|
-p, --project-id <id> | Project ID (required) |
-e, --environment-id <id> | Environment ID (required) |
-c, --container-id <id> | Container ID (required) |
Container Metrics
containers metrics reports container resource metrics. If -c is omitted, metrics for all containers are shown.
bunx @temps-sdk/cli containers metrics -p 5 -e 12
bunx @temps-sdk/cli containers metrics -p 5 -e 12 -c abc123 --json
bunx @temps-sdk/cli containers metrics -p 5 -e 12 -w -i 5
| Flag | Description |
|---|
-p, --project-id <id> | Project ID (required) |
-e, --environment-id <id> | Environment ID (required) |
-c, --container-id <id> | Container ID (optional - shows all if not specified) |
--json | Output in JSON format |
-w, --watch | Watch mode - continuously update metrics |
-i, --interval <seconds> | Refresh interval in seconds (default: 2) |
Services (Databases, Caches, Storage)
Manage external services — databases (PostgreSQL, MongoDB), caches (Redis), and object storage (S3). The group is services with alias svc.
bunx @temps-sdk/cli services <subcommand> [options]
bunx @temps-sdk/cli svc <subcommand> [options]
Supported service types: postgres, mongodb, redis, s3.
List Services
services list (alias ls) — lists all external services.
bunx @temps-sdk/cli services list
bunx @temps-sdk/cli services ls --json
| Option | Description |
|---|
--json | Output in JSON format |
Service Types
services types lists the available service types. It also has an info subcommand that prints the parameter schema for a given type — useful when building --set key=value arguments for automation.
bunx @temps-sdk/cli services types
bunx @temps-sdk/cli services types --json
bunx @temps-sdk/cli services types info postgres
bunx @temps-sdk/cli services types info redis --json
services types
| Option | Description |
|---|
--json | Output in JSON format |
services types info <type> — <type> is required.
| Option | Description |
|---|
--json | Output as raw JSON schema (default) |
Create Service
services create (alias add) — create a new external service. The -t, -n, and -s flags are required; use -y to skip confirmation prompts in automation. Parameters are supplied with repeatable -s key=value pairs (run services types info <type> to discover valid keys).
bunx @temps-sdk/cli services create -t postgres -n main-db -y
bunx @temps-sdk/cli services create -t postgres -n analytics-db -s version=17-alpine -s max_connections=200 -y
bunx @temps-sdk/cli services create -t redis -n cache -y
bunx @temps-sdk/cli services create -t mongodb -n data-store -y
bunx @temps-sdk/cli services create -t s3 -n files -y
| Option | Description |
|---|
-t, --type <type> | Service type (postgres, mongodb, redis, s3) |
-n, --name <name> | Service name |
-s, --set <key=value> | Set a parameter (repeatable) |
-y, --yes | Skip confirmation prompts (for automation) |
Import Existing Service
services import — adopt an already-running Docker container as a managed service.
bunx @temps-sdk/cli services import \
-t postgres -n imported-db \
--container-id my-postgres-container \
-s version=16-alpine \
--version 16-alpine -y
| Option | Description |
|---|
-t, --type <type> | Service type (postgres, mongodb, redis, s3) |
-n, --name <name> | Service name |
--container-id <id> | Container ID or name to import |
-s, --set <key=value> | Set a parameter (repeatable) |
--version <version> | Optional version override |
-y, --yes | Skip confirmation prompts (for automation) |
Show Service
services show — display the details of a single service.
bunx @temps-sdk/cli services show --id 1
bunx @temps-sdk/cli services show --id 1 --json
| Option | Description |
|---|
--id <id> | Service ID |
--json | Output in JSON format |
Service Lifecycle
Start, stop, update, upgrade, and remove services. All target a service by --id.
bunx @temps-sdk/cli services start --id 1
bunx @temps-sdk/cli services stop --id 1
bunx @temps-sdk/cli services update --id 1 -n postgres:18-alpine -s max_connections=300
bunx @temps-sdk/cli services upgrade --id 1 -v postgres:18-alpine
bunx @temps-sdk/cli services remove --id 1
bunx @temps-sdk/cli services rm --id 1 -f
bunx @temps-sdk/cli services rm --id 1 -y
services start
| Option | Description |
|---|
--id <id> | Service ID |
services stop
| Option | Description |
|---|
--id <id> | Service ID |
services update — -n and -s are required.
| Option | Description |
|---|
--id <id> | Service ID |
-n, --name <name> | Docker image name (e.g., postgres:18-alpine) |
-s, --set <key=value> | Set a parameter (repeatable) |
services upgrade
| Option | Description |
|---|
--id <id> | Service ID |
-v, --version <version> | Docker image to upgrade to (e.g., postgres:18-alpine) |
services remove (alias rm)
| Option | Description |
|---|
--id <id> | Service ID |
-f, --force | Skip confirmation |
-y, --yes | Skip confirmation prompts (alias for --force) |
Link Services to Projects
Link a service to a project to inject its connection environment variables, and inspect or unlink that relationship. Project flags accept a slug and are auto-detected from .temps/config.json when run inside a linked project directory.
bunx @temps-sdk/cli services link --id 1 --project my-app
bunx @temps-sdk/cli services unlink --id 1 --project my-app -y
bunx @temps-sdk/cli services projects --id 1
bunx @temps-sdk/cli services projects --id 1 --json
bunx @temps-sdk/cli services connect main-db --project my-app
bunx @temps-sdk/cli services connect main-db --project my-app --json
bunx @temps-sdk/cli services env --id 1 --project my-app
bunx @temps-sdk/cli services env-var --id 1 --project my-app --var DATABASE_URL
services link — both options required.
| Option | Description |
|---|
--id <id> | Service ID |
-p, --project <slug> | Project slug (auto-detected from .temps/config.json) |
services unlink
| Option | Description |
|---|
--id <id> | Service ID |
-p, --project <slug> | Project slug (auto-detected from .temps/config.json) |
-f, --force | Skip confirmation |
-y, --yes | Skip confirmation prompts (alias for --force) |
services projects
| Option | Description |
|---|
--id <id> | Service ID |
--json | Output in JSON format |
services connect <name> — <name> (service name or slug) is required.
| Option | Description |
|---|
-p, --project <slug> | Project slug (auto-detected from .temps/config.json) |
--json | Output in JSON format |
services env
| Option | Description |
|---|
--id <id> | Service ID |
-p, --project <slug> | Project slug (auto-detected from .temps/config.json) |
--json | Output in JSON format |
services env-var
| Option | Description |
|---|
--id <id> | Service ID |
-p, --project <slug> | Project slug (auto-detected from .temps/config.json) |
--var <name> | Environment variable name |
--json | Output in JSON format |
Backups & Restore
Inspect a service's restore capabilities, browse backups stored on an S3 source, and restore in-place, into a new service, or via point-in-time recovery (PITR). PITR requires a WAL-G backup (PostgreSQL).
bunx @temps-sdk/cli services restore-capabilities --id 1
bunx @temps-sdk/cli services restore-capabilities --id 1 --json
bunx @temps-sdk/cli services list-backups --s3-source-id 3
bunx @temps-sdk/cli services list-backups --s3-source-id 3 --json
bunx @temps-sdk/cli services restore --id 1 --backup-id 42 -y
bunx @temps-sdk/cli services restore --id 1 --backup-id 42 --new-service
bunx @temps-sdk/cli services restore --id 1 --backup-id 42 --new-service main-db-restored -y
bunx @temps-sdk/cli services restore --id 1 --pitr 2026-06-01T12:00:00Z --new-service -y
bunx @temps-sdk/cli services restore --id 1 --backup-id 42 -y --no-wait
bunx @temps-sdk/cli services restore-runs --id 1
bunx @temps-sdk/cli services restore-run --id 17
services restore-capabilities — shows what restore modes a service supports (in-place / new service / PITR).
| Option | Description |
|---|
--id <id> | Service ID |
--json | Output in JSON format |
services list-backups — lists backups stored on an S3 source.
| Option | Description |
|---|
--s3-source-id <id> | S3 source ID |
--json | Output in JSON format |
services restore — restore a service from a backup (in-place, new service, or PITR).
| Option | Description |
|---|
--id <id> | Source service ID (the service the backup came from) |
--backup-id <id> | Backup ID to restore from (see list-backups) |
--new-service [name] | Clone into a new service. Omit the value or pass "auto" to accept the auto-suggested name. |
--pitr <iso> | Point-in-time recovery target, ISO 8601 timestamp (requires WAL-G backup). Combine with --new-service to route PITR into a new service. |
-y, --yes | Skip confirmation |
--no-wait | Return immediately without polling run status |
--json | Output in JSON format |
services restore-runs — list recent restore runs for a service.
| Option | Description |
|---|
--id <id> | Service ID |
--json | Output in JSON format |
services restore-run — show a single restore run (--id is the restore run ID, not the service ID).
| Option | Description |
|---|
--id <id> | Restore run ID |
--json | Output in JSON format |
Git Providers
Manage Git providers (GitHub, GitLab) that Temps uses to pull source for deployments. The top-level group is providers (alias provider).
List Providers
providers list (alias ls) lists all configured Git providers.
bunx @temps-sdk/cli providers list
bunx @temps-sdk/cli providers ls --json
| Flag | Description |
|---|
--json | Output in JSON format |
Add Provider
providers add registers a new Git provider. Run without flags for an interactive prompt, or pass the flags below for non-interactive use.
bunx @temps-sdk/cli providers add
bunx @temps-sdk/cli providers add --provider github --name "My GitHub" --token <YOUR_GITHUB_TOKEN> -y
bunx @temps-sdk/cli providers add \
--provider gitlab \
--name "My GitLab" \
--token <YOUR_GITLAB_TOKEN> \
--base-url https://gitlab.example.com \
-y
| Flag | Description |
|---|
-p, --provider <provider> | Provider type (github, gitlab) |
-n, --name <name> | Provider name |
-t, --token <token> | Personal access token |
--base-url <url> | GitLab base URL (for self-hosted GitLab) |
-y, --yes | Skip confirmation prompts (for automation) |
Show Provider
providers show prints details for a single provider.
bunx @temps-sdk/cli providers show --id 1
bunx @temps-sdk/cli providers show --id 1 --json
| Flag | Description |
|---|
--id <id> | Provider ID |
--json | Output in JSON format |
Activate / Deactivate Provider
providers activate and providers deactivate toggle whether a provider is usable.
bunx @temps-sdk/cli providers activate --id 1
bunx @temps-sdk/cli providers deactivate --id 1
Both commands take only --id <id> (Provider ID).
Remove Provider
providers remove (alias rm) removes a Git provider.
bunx @temps-sdk/cli providers remove --id 1
bunx @temps-sdk/cli providers remove --id 1 -f
bunx @temps-sdk/cli providers rm --id 1 -y
| Flag | Description |
|---|
--id <id> | Provider ID |
-f, --force | Skip confirmation |
-y, --yes | Skip confirmation prompts (alias for --force) |
Safe Delete & Deletion Check
providers deletion-check reports whether a provider can be safely deleted (i.e. has no dependent connections/deployments). providers safe-delete deletes only after passing that dependency check.
bunx @temps-sdk/cli providers deletion-check --id 1
bunx @temps-sdk/cli providers deletion-check --id 1 --json
bunx @temps-sdk/cli providers safe-delete --id 1
bunx @temps-sdk/cli providers safe-delete --id 1 -y
providers deletion-check flags:
| Flag | Description |
|---|
--id <id> | Provider ID |
--json | Output in JSON format |
providers safe-delete flags:
| Flag | Description |
|---|
--id <id> | Provider ID |
-f, --force | Skip confirmation |
-y, --yes | Skip confirmation prompts (alias for --force) |
Git Provider Repositories
The providers git subgroup connects a provider and lists its repositories.
Connect a Git Provider
providers git connect connects a Git provider. This mirrors providers add (same flags) and is the recommended entry point under the git subgroup.
bunx @temps-sdk/cli providers git connect --provider github --name "My GitHub" --token <YOUR_GITHUB_TOKEN> -y
bunx @temps-sdk/cli providers git connect \
--provider gitlab \
--name "My GitLab" \
--token <YOUR_GITLAB_TOKEN> \
--base-url https://gitlab.example.com \
-y
| Flag | Description |
|---|
-p, --provider <provider> | Provider type (github, gitlab) |
-n, --name <name> | Provider name |
-t, --token <token> | Personal access token |
--base-url <url> | GitLab base URL (for self-hosted GitLab) |
-y, --yes | Skip confirmation prompts (for automation) |
List Repositories
providers git repos lists repositories available through a provider, with search, sorting, and filtering.
bunx @temps-sdk/cli providers git repos --id 1
bunx @temps-sdk/cli providers git repos --id 1 --json
bunx @temps-sdk/cli providers git repos --id 1 --search "my-app" --language typescript --page 1 --per-page 50
bunx @temps-sdk/cli providers git repos --id 1 --sort stars --direction desc --owner myorg
| Flag | Description |
|---|
--id <id> | Provider ID (optional, lists all if not provided) |
--json | Output in JSON format |
--search <term> | Search repositories by name |
--page <n> | Page number |
--per-page <n> | Items per page (max: 100) |
--sort <field> | Sort by field (name, created_at, updated_at, stars) |
--direction <dir> | Sort direction: asc or desc |
--language <lang> | Filter by programming language |
--owner <owner> | Filter by repository owner |
Git Provider Connections
The providers connections subgroup (alias conn) manages individual Git connections (e.g. installed apps / authorized accounts) attached to providers.
List Connections
providers connections list (alias ls) lists all Git connections.
bunx @temps-sdk/cli providers connections list
bunx @temps-sdk/cli providers connections list --json
bunx @temps-sdk/cli providers connections list --page 1 --per-page 50 --sort account_name --direction asc
| Flag | Description |
|---|
--json | Output in JSON format |
--page <n> | Page number |
--per-page <n> | Items per page (default: 30, max: 100) |
--sort <field> | Sort by field (created_at, updated_at, account_name) |
--direction <dir> | Sort direction: asc or desc (default: desc) |
Show Connection
providers connections show shows connection details for a provider.
bunx @temps-sdk/cli providers connections show --id 1
bunx @temps-sdk/cli providers connections show --id 1 --json
| Flag | Description |
|---|
--id <id> | Provider ID |
--json | Output in JSON format |
Activate / Deactivate Connection
bunx @temps-sdk/cli providers connections activate --id 1
bunx @temps-sdk/cli providers connections deactivate --id 1
Both commands take only --id <id> (Connection ID).
Sync Repositories
providers connections sync re-syncs the repositories for a connection.
bunx @temps-sdk/cli providers connections sync --id 1
Takes only --id <id> (Connection ID).
Update Token
providers connections update-token rotates the access token for a connection.
bunx @temps-sdk/cli providers connections update-token --id 1 --token <YOUR_NEW_TOKEN>
| Flag | Description |
|---|
--id <id> | Connection ID |
-t, --token <token> | New access token |
Validate Connection
providers connections validate checks that a connection's credentials still work.
bunx @temps-sdk/cli providers connections validate --id 1
bunx @temps-sdk/cli providers connections validate --id 1 --json
| Flag | Description |
|---|
--id <id> | Connection ID |
--json | Output in JSON format |
Delete Connection
providers connections delete (alias rm) removes a Git connection.
bunx @temps-sdk/cli providers connections delete --id 1
bunx @temps-sdk/cli providers connections delete --id 1 -f
bunx @temps-sdk/cli providers connections rm --id 1 -y
| Flag | Description |
|---|
--id <id> | Connection ID |
-f, --force | Skip confirmation |
-y, --yes | Skip confirmation prompts (alias for --force) |
Domains
Manage custom domains and their ACME/SSL provisioning. Group alias: domain.
All subcommands target a single domain by name (-d, --domain) or, for ACME orders and DNS challenges, by numeric domain ID (--domain-id).
List Domains
bunx @temps-sdk/cli domains list
bunx @temps-sdk/cli domains ls --json
--json outputs in JSON format. (Alias: ls. No project flag — this lists all domains.)
Add Domain
bunx @temps-sdk/cli domains add -d example.com -y
bunx @temps-sdk/cli domains add -d example.com -c dns-01 -y
| Flag | Description |
|---|
-d, --domain <domain> | Domain name (required) |
-c, --challenge <type> | Challenge type: http-01 or dns-01 (default: http-01) |
-y, --yes | Skip confirmation prompts |
Verify & Provision SSL
bunx @temps-sdk/cli domains verify -d example.com
bunx @temps-sdk/cli domains status -d example.com
bunx @temps-sdk/cli domains ssl -d example.com
bunx @temps-sdk/cli domains ssl -d example.com --renew
verify — Verify domain and provision SSL certificate. Requires -d, --domain.
status — Check domain status. Requires -d, --domain.
ssl — Manage SSL certificate. Requires -d, --domain; --renew forces certificate renewal.
Remove Domain
bunx @temps-sdk/cli domains remove -d example.com -f
bunx @temps-sdk/cli domains rm -d example.com -y
| Flag | Description |
|---|
-d, --domain <domain> | Domain name (required) |
-f, --force | Skip confirmation |
-y, --yes | Skip confirmation prompts (alias for --force) |
Alias: rm.
ACME Orders
Manage ACME orders for SSL certificate provisioning. Group alias: order.
bunx @temps-sdk/cli domains orders list
bunx @temps-sdk/cli domains orders ls --json
bunx @temps-sdk/cli domains orders show --domain-id 1 --json
bunx @temps-sdk/cli domains orders create --domain-id 1
bunx @temps-sdk/cli domains orders finalize --domain-id 1
bunx @temps-sdk/cli domains orders cancel --domain-id 1 -y
| Subcommand | Flags |
|---|
orders list (alias ls) | --json |
orders show | --domain-id <id> (required), --json |
orders create | --domain-id <id> (required) |
orders finalize | --domain-id <id> (required) |
orders cancel | --domain-id <id> (required), -f, --force, -y, --yes (alias for --force) |
DNS Challenge
Set up DNS challenge records automatically using a configured DNS provider. Requires both the domain ID and the provider ID.
bunx @temps-sdk/cli domains dns-challenge --domain-id 1 --provider-id 2
| Flag | Description |
|---|
--domain-id <id> | Domain ID (required) |
--provider-id <id> | DNS provider ID (required) |
Debug HTTP-01 Challenge
bunx @temps-sdk/cli domains http-debug -d example.com
bunx @temps-sdk/cli domains http-debug -d example.com --json
| Flag | Description |
|---|
-d, --domain <domain> | Domain name (required) |
--json | Output in JSON format |
Custom Domains
Manage project-scoped custom domains, including redirects and certificate links. Group alias: cdom. Every subcommand requires --project-id.
List
bunx @temps-sdk/cli custom-domains list --project-id 5
bunx @temps-sdk/cli custom-domains ls --project-id 5 --json
Flags: --project-id <id> (required), --json. Alias: ls.
Create
bunx @temps-sdk/cli custom-domains create \
--project-id 5 \
-d app.example.com \
--environment-id 1 \
--branch main \
--redirect-to https://new.example.com \
--status-code 301 \
-y
| Flag | Description |
|---|
--project-id <id> | Project ID (required) |
-d, --domain <domain> | Domain name (required) |
--environment-id <id> | Environment ID (default: 0) |
--branch <branch> | Branch name |
--redirect-to <url> | Redirect target URL |
--status-code <code> | HTTP status code for redirects |
-y, --yes | Skip confirmation prompts (for automation) |
Alias: add.
Show
bunx @temps-sdk/cli custom-domains show --project-id 5 --domain-id 1 --json
Flags: --project-id <id> (required), --domain-id <id> (custom domain ID, required), --json.
Update
bunx @temps-sdk/cli custom-domains update \
--project-id 5 \
--domain-id 1 \
-d app.example.com \
--environment-id 2 \
--branch feature/v2 \
--redirect-to https://new.example.com \
--status-code 308
| Flag | Description |
|---|
--project-id <id> | Project ID (required) |
--domain-id <id> | Custom domain ID (required) |
-d, --domain <domain> | New domain name |
--environment-id <id> | New environment ID |
--branch <branch> | New branch name |
--redirect-to <url> | New redirect target URL |
--status-code <code> | New HTTP status code for redirects |
Link Certificate
bunx @temps-sdk/cli custom-domains link-cert \
--project-id 5 --domain-id 1 --certificate-id 3
Flags: --project-id <id> (required), --domain-id <id> (custom domain ID, required), --certificate-id <id> (required).
Remove
bunx @temps-sdk/cli custom-domains remove --project-id 5 --domain-id 1 -f
bunx @temps-sdk/cli custom-domains rm --project-id 5 --domain-id 1 -y
Flags: --project-id <id> (required), --domain-id <id> (custom domain ID, required), -f, --force, -y, --yes (alias for --force). Alias: rm.
DNS (Providers for Domain Verification)
The dns group manages DNS providers used for automated domain verification (DNS-01 challenges). It does not manage individual DNS records.
List Providers
bunx @temps-sdk/cli dns list
bunx @temps-sdk/cli dns ls --json
Flags: --json. Alias: ls.
Add Provider
bunx @temps-sdk/cli dns add -t cloudflare -n "Cloudflare" -d "Prod CF" \
--api-token <CF_TOKEN> -y
bunx @temps-sdk/cli dns add -t route53 -n "AWS" -d "Prod AWS" \
--access-key-id <KEY> --secret-access-key <SECRET> --region us-east-1 -y
| Flag | Description |
|---|
-t, --type <type> | Provider type: cloudflare, route53, digitalocean, namecheap, gcp, azure, manual |
-n, --name <name> | Provider name |
-d, --description <description> | Provider description |
--api-token <token> | Cloudflare API token |
--account-id <id> | Cloudflare account ID (optional) |
--access-key-id <key> | AWS access key ID |
--secret-access-key <secret> | AWS secret access key |
--region <region> | AWS region |
--api-user <user> | Namecheap API user |
--api-key <key> | Namecheap API key |
--username <username> | Namecheap username |
--client-ip <ip> | Namecheap whitelisted client IP |
--project-id <id> | GCP project ID |
--service-account-email <email> | GCP service account email |
--private-key-id <id> | GCP private key ID |
--private-key <key> | GCP private key |
--tenant-id <id> | Azure tenant ID |
--client-id <id> | Azure client ID |
--client-secret <secret> | Azure client secret |
--subscription-id <id> | Azure subscription ID |
--resource-group <name> | Azure resource group |
-y, --yes | Skip confirmation prompts (for automation) |
Provide only the credential flags relevant to the chosen --type.
Show / Remove / Test / Zones
bunx @temps-sdk/cli dns show --id 1 --json
bunx @temps-sdk/cli dns remove --id 1 -f
bunx @temps-sdk/cli dns rm --id 1 -y
bunx @temps-sdk/cli dns test --id 1
bunx @temps-sdk/cli dns zones --id 1 --json
| Subcommand | Flags |
|---|
show | --id <id> (required), --json |
remove (alias rm) | --id <id> (required), -f, --force, -y, --yes (alias for --force) |
test | --id <id> (required) |
zones | --id <id> (required), --json |
DNS Providers (dns-provider)
Manage DNS providers and the domains they manage. Group alias: dnsp. This group overlaps with dns but adds full CRUD (update), managed-domain subcommands, and a DNS lookup utility.
List / Create / Show
bunx @temps-sdk/cli dns-provider list
bunx @temps-sdk/cli dnsp ls --json
bunx @temps-sdk/cli dns-provider create -n "Cloudflare" -t cloudflare \
-d "Prod CF" --api-token <CF_TOKEN> -y
bunx @temps-sdk/cli dns-provider add -n "AWS" -t route53 -d "Prod AWS" \
--access-key-id <KEY> --secret-access-key <SECRET> --region us-east-1 -y
bunx @temps-sdk/cli dns-provider show --id 1 --json
create (alias add) accepts the same credential flags as dns add:
| Flag | Description |
|---|
-n, --name <name> | Provider name |
-t, --type <type> | Provider type: cloudflare, route53, digitalocean, namecheap, gcp, azure, manual |
-d, --description <description> | Provider description |
--api-token <token> | API token (Cloudflare, DigitalOcean) |
--account-id <id> | Cloudflare account ID (optional) |
--access-key-id <key> | AWS access key ID |
--secret-access-key <secret> | AWS secret access key |
--region <region> | AWS region |
--api-user <user> | Namecheap API user |
--api-key <key> | Namecheap API key |
--username <username> | Namecheap username |
--client-ip <ip> | Namecheap whitelisted client IP |
--project-id <id> | GCP project ID |
--service-account-email <email> | GCP service account email |
--private-key-id <id> | GCP private key ID |
--private-key <key> | GCP private key |
--tenant-id <id> | Azure tenant ID |
--client-id <id> | Azure client ID |
--client-secret <secret> | Azure client secret |
--subscription-id <id> | Azure subscription ID |
--resource-group <name> | Azure resource group |
-y, --yes | Skip confirmation prompts (for automation) |
show flags: --id <id> (required), --json.
Update
bunx @temps-sdk/cli dns-provider update --id 1 \
-n "Cloudflare Prod" -d "Updated" --api-key <NEW_TOKEN> --active true
| Flag | Description |
|---|
--id <id> | Provider ID (required) |
-n, --name <name> | New provider name |
-d, --description <description> | New description |
--api-key <key> | New API key/token |
--active <boolean> | Set active status (true/false) |
Remove / Test / Zones
bunx @temps-sdk/cli dns-provider remove --id 1 -f
bunx @temps-sdk/cli dns-provider rm --id 1 -y
bunx @temps-sdk/cli dns-provider test --id 1
bunx @temps-sdk/cli dns-provider zones --id 1 --json
| Subcommand | Flags |
|---|
remove (alias rm) | --id <id> (required), -f, --force, -y, --yes (alias for --force) |
test | --id <id> (required) |
zones | --id <id> (required), --json |
Managed Domains
dns-provider domains manages the domains associated with a provider.
bunx @temps-sdk/cli dns-provider domains list --id 1 --json
bunx @temps-sdk/cli dns-provider domains ls --id 1
bunx @temps-sdk/cli dns-provider domains add --id 1 -d example.com --auto-manage
bunx @temps-sdk/cli dns-provider domains verify --provider-id 1 -d example.com
bunx @temps-sdk/cli dns-provider domains remove --provider-id 1 -d example.com -f
bunx @temps-sdk/cli dns-provider domains rm --provider-id 1 -d example.com -y
| Subcommand | Flags |
|---|
domains list (alias ls) | --id <id> (required), --json |
domains add | --id <id> (required), -d, --domain <domain> (required), --auto-manage |
domains verify | --provider-id <id> (required), -d, --domain <domain> (required) |
domains remove (alias rm) | --provider-id <id> (required), -d, --domain <domain> (required), -f, --force, -y, --yes (alias for --force) |
Note: domains add/domains list identify the provider with --id, while domains verify/domains remove use --provider-id.
DNS Lookup
bunx @temps-sdk/cli dns-provider lookup -d example.com --json
Looks up DNS A records for a domain. Flags: -d, --domain <domain> (domain to look up, required), --json.
Monitoring
Uptime monitors back the status pages and on-platform alerting. The monitors group manages the probes themselves (HTTP/TCP/ping checks); the incidents group manages the incident timeline surfaced on status pages.
Monitors
Group alias: monitoring
Manage uptime monitors for status pages.
| Subcommand | Alias | Purpose |
|---|
list | ls | List all monitors for a project |
create | add | Create a new monitor for a project |
show | — | Show monitor details and current status |
remove | rm | Delete a monitor |
status | — | Get current status for all monitors, or one by ID |
history | — | Get monitor uptime history |
monitors list (alias ls)
List all monitors for a project.
--project-id <id> — Project ID (required)
--json — Output in JSON format
bunx @temps-sdk/cli monitors list --project-id 5
bunx @temps-sdk/cli monitors list --project-id 5 --json
monitors create (alias add)
Create a new monitor for a project.
--project-id <id> — Project ID (required)
-n, --name <name> — Monitor name (required)
-t, --type <type> — Monitor type: http, tcp, ping (required)
-i, --interval <seconds> — Check interval in seconds: 60, 300, 600, 900, 1800 (required)
--environment-id <id> — Environment ID (default: 0 for production)
-y, --yes — Skip confirmation prompts (for automation)
bunx @temps-sdk/cli monitors create --project-id 5 -n "API Health" -t http -i 60 --environment-id 0 -y
bunx @temps-sdk/cli monitors create --project-id 5 -n "DB Connection" -t tcp -i 300 --environment-id 0 -y
monitors show
Show monitor details and current status.
--id <id> — Monitor ID (required)
--json — Output in JSON format
bunx @temps-sdk/cli monitors show --id 1
bunx @temps-sdk/cli monitors show --id 1 --json
monitors remove (alias rm)
Delete a monitor.
--id <id> — Monitor ID (required)
-f, --force — Skip confirmation
-y, --yes — Skip confirmation prompts (alias for --force)
bunx @temps-sdk/cli monitors remove --id 1 -f
monitors status
Get current status — all monitors for a project, or a single monitor by ID.
--id <id> — Monitor ID (omit to show all monitors for the project)
-p, --project <slug> — Project slug (auto-detected from .temps/config.json or TEMPS_PROJECT)
--json — Output in JSON format
bunx @temps-sdk/cli monitors status --id 1 --json
bunx @temps-sdk/cli monitors status -p my-app
monitors history
Get monitor uptime history.
--id <id> — Monitor ID (required)
--days <days> — Number of days to show (default: 7)
--json — Output in JSON format
bunx @temps-sdk/cli monitors history --id 1 --days 30 --json
Monitor types: http, tcp, ping
Intervals (seconds): 60, 300, 600, 900, 1800
Incidents
Group alias: incident
Manage incidents for status pages and monitoring.
| Subcommand | Alias | Purpose |
|---|
list | ls | List incidents for a project |
create | add | Create a new incident |
show | — | Show incident details |
update-status | — | Update an incident status |
updates | — | List status updates for an incident |
bucketed | — | Get bucketed incident data for a project |
incidents list (alias ls)
List incidents for a project.
--project-id <id> — Project ID (required)
--status <status> — Filter by status: investigating, identified, monitoring, resolved
--environment-id <id> — Filter by environment ID
--page <n> — Page number
--page-size <n> — Items per page
--json — Output in JSON format
bunx @temps-sdk/cli incidents list --project-id 5 --status investigating --json
bunx @temps-sdk/cli incidents list --project-id 5 --page 1 --page-size 20 --environment-id 1
incidents create (alias add)
Create a new incident.
--project-id <id> — Project ID (required)
-t, --title <title> — Incident title (required)
-d, --description <description> — Incident description (required)
-s, --severity <severity> — Severity level: critical, major, minor (required)
-y, --yes — Skip confirmation prompts (for automation)
bunx @temps-sdk/cli incidents create --project-id 5 -t "API Degradation" -d "High response times" -s major -y
incidents show
Show incident details.
--id <id> — Incident ID (required)
--json — Output in JSON format
bunx @temps-sdk/cli incidents show --id 1 --json
incidents update-status
Update an incident status. Each call appends a status update to the incident timeline.
--id <id> — Incident ID (required)
-s, --status <status> — New status: investigating, identified, monitoring, resolved (required)
-m, --message <message> — Status update message (required)
bunx @temps-sdk/cli incidents update-status --id 1 -s monitoring -m "Fix deployed, monitoring"
bunx @temps-sdk/cli incidents update-status --id 1 -s resolved -m "Issue resolved"
incidents updates
List status updates for an incident.
--id <id> — Incident ID (required)
--json — Output in JSON format
bunx @temps-sdk/cli incidents updates --id 1 --json
incidents bucketed
Get bucketed incident data for a project (time-series aggregation).
--project-id <id> — Project ID (required)
-i, --interval <interval> — Bucket interval: 5min, hourly, daily (default: hourly)
--start-time <time> — Start time (ISO 8601)
--end-time <time> — End time (ISO 8601)
--environment-id <id> — Filter by environment ID
--json — Output in JSON format
bunx @temps-sdk/cli incidents bucketed --project-id 5 -i hourly \
--start-time 2026-06-01T00:00:00Z --end-time 2026-06-03T00:00:00Z --json
Severities: critical, major, minor
Statuses: investigating, identified, monitoring, resolved
Notifications