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 ...(ornpx @temps-sdk/cli ...). This reference matches@temps-sdk/cliv0.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).
# Run directly without installing
npx @temps-sdk/cli --version
bunx @temps-sdk/cli --version
# Or install globally
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):
# Interactive AWS-style configuration wizard
bunx @temps-sdk/cli configure
# Non-interactive (e.g. CI)
bunx @temps-sdk/cli configure --api-url https://temps.example.com --api-token <TOKEN> --output-format json --no-interactive
# Inspect / change individual values
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. |
# Interactive browser login against the default/public server
bunx @temps-sdk/cli login
# Interactive login against a specific server
bunx @temps-sdk/cli login https://temps.example.com
# Headless / CI login with a pre-minted API key
bunx @temps-sdk/cli login https://temps.example.com --api-key <YOUR_API_KEY>
# Save credentials under a named context
bunx @temps-sdk/cli login https://temps.example.com --api-key <YOUR_API_KEY> --context prod
# Troubleshoot a failing login with full request/response logging
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. |
# Log out of the active context (revokes the key server-side)
bunx @temps-sdk/cli logout
# Log out of a specific context
bunx @temps-sdk/cli logout --context prod
# Forget local credentials without contacting the server
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). |
# Launch the interactive wizard
bunx @temps-sdk/cli configure
# Configure non-interactively (e.g. in CI)
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.
# Interactive creation
bunx @temps-sdk/cli projects create
# Git-based project (non-interactive)
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
# Manual project deploying a Docker image
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.
# Update name and description
bunx @temps-sdk/cli projects update -p my-app -n "New Name" -d "New description"
# Non-interactive (use provided values)
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).
# Update slug and enable attack mode (CAPTCHA protection)
bunx @temps-sdk/cli projects settings -p my-app --slug new-slug --attack-mode
# Enable preview environments
bunx @temps-sdk/cli projects settings -p my-app --preview-envs
# Disable attack mode
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).
# Scale replicas and set resource limits
bunx @temps-sdk/cli projects config -p my-app --replicas 3 --cpu-limit 1 --memory-limit 512
# Enable auto-deploy
bunx @temps-sdk/cli projects config -p my-app --auto-deploy
# Disable 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 # Skip confirmation
bunx @temps-sdk/cli projects rm -p my-app -y # Same as --force
| 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).
# Initialize and prompt to create or select a project
bunx @temps-sdk/cli init
# Initialize against an existing project slug
bunx @temps-sdk/cli init my-app
# Create a new named project, skipping confirmation prompts
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.
# Link interactively
bunx @temps-sdk/cli link
# Link to a specific project and set the default environment
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.
# Status for the linked project
bunx @temps-sdk/cli status
# Status for a specific project / environment
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.
# Open the linked project's URL
bunx @temps-sdk/cli open
# Open a specific project / environment
bunx @temps-sdk/cli open my-app
bunx @temps-sdk/cli open -p my-app -e production
# Open the dashboard instead of the live URL
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) |
# Deploy by positional project argument
bunx @temps-sdk/cli deploy my-app
# Specify branch and environment
bunx @temps-sdk/cli deploy my-app -b feature/new-ui -e staging
# Deploy a specific commit, fully automated
bunx @temps-sdk/cli deploy -p my-app -b main -c a1b2c3d -e production -y
# Fire-and-forget (don't block on completion)
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 |
# Deploy the current directory (runs wizard if not linked)
bunx @temps-sdk/cli up
# Create + deploy a new project with an explicit name and preset
bunx @temps-sdk/cli up --name my-app --preset nextjs -e production
# Manual mode (no git), skip service setup, no prompts
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 |
# Deploy a directory
bunx @temps-sdk/cli deploy:static --path ./dist -p my-app
# Deploy an archive to production (automated)
bunx @temps-sdk/cli deploy:static --path ./build.tar.gz -p my-app -e production -y
# Using the alias, with a longer wait timeout
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 |
# Deploy a pre-built image
bunx @temps-sdk/cli deploy:image --image ghcr.io/org/app:v1.0 -p my-app
# With environment and automation
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 |
# Build from Dockerfile and deploy
bunx @temps-sdk/cli deploy:local-image -p my-app -f Dockerfile -c .
# Deploy an existing local image without rebuilding
bunx @temps-sdk/cli deploy:local-image --image my-app:latest --no-build -p my-app -e production -y
# With build arguments (repeat the flag) and an image tag
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 |
# Roll back the production environment to the previous deployment
bunx @temps-sdk/cli rollback my-app
# Roll back to a specific deployment ID without prompts
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) |
# Tail the last 1000 runtime lines for production
bunx @temps-sdk/cli runtime-logs -p my-app
# Follow logs from a specific container with timestamps (alias)
bunx @temps-sdk/cli rlogs -p my-app -e staging -c abc123 -f -t
# Show the last 200 lines
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 |
# (coming soon)
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 |
# (coming soon)
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 |
# Rollback to previous deployment
bunx @temps-sdk/cli deployments rollback -p my-app -e production
# Rollback to a specific deployment ID
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 |
# View build logs for the latest production deployment
bunx @temps-sdk/cli deployments logs -p my-app
# Stream build logs in real-time
bunx @temps-sdk/cli deployments logs -p my-app -f
# Last 50 lines from staging
bunx @temps-sdk/cli deployments logs -p my-app -e staging -n 50
# Build logs for a specific deployment, followed
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>.
# List variables (values hidden by default)
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
# Get a specific variable (key is positional)
bunx @temps-sdk/cli environments vars get DATABASE_URL -p my-app -e production
# Set a variable (key positional, value optional positional)
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
# Delete a variable (key positional)
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
# Import from a .env file (file is an optional positional)
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
# Export to .env format (stdout by default)
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.
# View resources
bunx @temps-sdk/cli environments resources production -p my-app --json
# Set CPU/memory limits and requests
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>.
# List cron jobs for an environment
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
# Show cron job details
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
# Show cron execution history
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.
# Metrics for all containers in an environment
bunx @temps-sdk/cli containers metrics -p 5 -e 12
# Metrics for a single container, JSON output
bunx @temps-sdk/cli containers metrics -p 5 -e 12 -c abc123 --json
# Watch mode, refresh every 5 seconds
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.
# List available service types
bunx @temps-sdk/cli services types
bunx @temps-sdk/cli services types --json
# Show the parameter schema for a specific type
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).
# Create a Postgres service (non-interactive)
bunx @temps-sdk/cli services create -t postgres -n main-db -y
# With explicit parameters (repeat -s for each one)
bunx @temps-sdk/cli services create -t postgres -n analytics-db -s version=17-alpine -s max_connections=200 -y
# Other service types
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.
# Start / stop
bunx @temps-sdk/cli services start --id 1
bunx @temps-sdk/cli services stop --id 1
# Update the Docker image and/or parameters
bunx @temps-sdk/cli services update --id 1 -n postgres:18-alpine -s max_connections=300
# Upgrade to a newer image version
bunx @temps-sdk/cli services upgrade --id 1 -v postgres:18-alpine
# Remove (force / non-interactive)
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.
# Link / unlink (project slug auto-detected from .temps/config.json)
bunx @temps-sdk/cli services link --id 1 --project my-app
bunx @temps-sdk/cli services unlink --id 1 --project my-app -y
# List projects linked to a service
bunx @temps-sdk/cli services projects --id 1
bunx @temps-sdk/cli services projects --id 1 --json
# Get connection info for a service by name or slug
bunx @temps-sdk/cli services connect main-db --project my-app
bunx @temps-sdk/cli services connect main-db --project my-app --json
# Show all injected env vars for a linked service
bunx @temps-sdk/cli services env --id 1 --project my-app
# Get a single env var
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).
# What restore modes does this service support?
bunx @temps-sdk/cli services restore-capabilities --id 1
bunx @temps-sdk/cli services restore-capabilities --id 1 --json
# List backups stored on an S3 source
bunx @temps-sdk/cli services list-backups --s3-source-id 3
bunx @temps-sdk/cli services list-backups --s3-source-id 3 --json
# Restore in-place from a specific backup
bunx @temps-sdk/cli services restore --id 1 --backup-id 42 -y
# Restore into a new service (omit the value or pass "auto" for an auto-suggested name)
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
# Point-in-time recovery (requires WAL-G); combine with --new-service to route into a clone
bunx @temps-sdk/cli services restore --id 1 --pitr 2026-06-01T12:00:00Z --new-service -y
# Don't block on run status
bunx @temps-sdk/cli services restore --id 1 --backup-id 42 -y --no-wait
# Track restore runs
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.
# Interactive
bunx @temps-sdk/cli providers add
# GitHub (non-interactive)
bunx @temps-sdk/cli providers add --provider github --name "My GitHub" --token <YOUR_GITHUB_TOKEN> -y
# Self-hosted GitLab (non-interactive)
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.
# Check first
bunx @temps-sdk/cli providers deletion-check --id 1
bunx @temps-sdk/cli providers deletion-check --id 1 --json
# Delete safely (checks dependencies first)
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.
# GitHub
bunx @temps-sdk/cli providers git connect --provider github --name "My GitHub" --token <YOUR_GITHUB_TOKEN> -y
# Self-hosted GitLab
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
# HTTP-01 challenge (default)
bunx @temps-sdk/cli domains add -d example.com -y
# DNS-01 challenge
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
# Verify domain and provision the SSL certificate
bunx @temps-sdk/cli domains verify -d example.com
# Check domain status
bunx @temps-sdk/cli domains status -d example.com
# Manage / renew the SSL certificate
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;--renewforces 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.
# List all ACME orders
bunx @temps-sdk/cli domains orders list
bunx @temps-sdk/cli domains orders ls --json
# Show the ACME order for a domain
bunx @temps-sdk/cli domains orders show --domain-id 1 --json
# Create or recreate an ACME order for a domain
bunx @temps-sdk/cli domains orders create --domain-id 1
# Finalize an order (complete challenge validation and issue the cert)
bunx @temps-sdk/cli domains orders finalize --domain-id 1
# Cancel an order for a domain
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
# Cloudflare
bunx @temps-sdk/cli dns add -t cloudflare -n "Cloudflare" -d "Prod CF" \
--api-token <CF_TOKEN> -y
# Route53
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
# Show provider details
bunx @temps-sdk/cli dns show --id 1 --json
# Remove a provider
bunx @temps-sdk/cli dns remove --id 1 -f
bunx @temps-sdk/cli dns rm --id 1 -y
# Test provider connection
bunx @temps-sdk/cli dns test --id 1
# List available zones in a provider
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
# List all DNS providers
bunx @temps-sdk/cli dns-provider list
bunx @temps-sdk/cli dnsp ls --json
# Create a Cloudflare provider
bunx @temps-sdk/cli dns-provider create -n "Cloudflare" -t cloudflare \
-d "Prod CF" --api-token <CF_TOKEN> -y
# Create a Route53 provider
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
# Show provider details
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
# Delete a provider
bunx @temps-sdk/cli dns-provider remove --id 1 -f
bunx @temps-sdk/cli dns-provider rm --id 1 -y
# Test provider connection
bunx @temps-sdk/cli dns-provider test --id 1
# List DNS zones for a provider
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.
# List managed domains for a provider
bunx @temps-sdk/cli dns-provider domains list --id 1 --json
bunx @temps-sdk/cli dns-provider domains ls --id 1
# Add a managed domain (optionally enabling auto-management)
bunx @temps-sdk/cli dns-provider domains add --id 1 -d example.com --auto-manage
# Verify a managed domain
bunx @temps-sdk/cli dns-provider domains verify --provider-id 1 -d example.com
# Remove a managed domain
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:0for production)-y, --yes— Skip confirmation prompts (for automation)
# HTTP monitor every 60s
bunx @temps-sdk/cli monitors create --project-id 5 -n "API Health" -t http -i 60 --environment-id 0 -y
# TCP monitor every 5 minutes
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.jsonorTEMPS_PROJECT)--json— Output in JSON format
# Single monitor
bunx @temps-sdk/cli monitors status --id 1 --json
# All monitors for the auto-detected project
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
Manage notification providers (Slack, Email, Webhook, etc.).
Group: notifications (alias: notify)
notifications list
List configured notification providers. Alias: ls.
bunx @temps-sdk/cli notifications list
bunx @temps-sdk/cli notifications list --json
| Option | Description |
|---|---|
--json |
Output in JSON format |
notifications add
Add a new notification provider. The relevant flags depend on --type.
| Option | Description |
|---|---|
-t, --type <type> |
Provider type (slack, email, webhook) |
-n, --name <name> |
Provider name |
-w, --webhook-url <url> |
Webhook URL (for slack) |
-c, --channel <channel> |
Channel name (for slack, optional) |
--smtp-host <host> |
SMTP host (for email) |
--smtp-port <port> |
SMTP port (for email) |
--username <username> |
SMTP username (for email) |
--password <password> |
SMTP password (for email) |
--from-address <address> |
From email address (for email) |
--from-name <name> |
From display name (for email, optional) |
--to-addresses <addresses> |
Comma-separated recipient addresses (for email) |
--url <url> |
Webhook URL (for webhook) |
--method <method> |
HTTP method: POST, PUT, PATCH (for webhook, default: POST) |
-y, --yes |
Skip confirmation prompts (for automation) |
# Add a Slack provider
bunx @temps-sdk/cli notifications add \
--type slack \
--name "Alerts" \
--webhook-url https://hooks.slack.com/services/XXX/YYY/ZZZ \
--channel "#alerts" \
-y
# Add an Email (SMTP) provider
bunx @temps-sdk/cli notifications add \
--type email \
--name "Email Alerts" \
--smtp-host smtp.gmail.com \
--smtp-port 587 \
--username user@gmail.com \
--password <YOUR_SMTP_PASSWORD> \
--from-address alerts@example.com \
--from-name "Temps Alerts" \
--to-addresses team@example.com,oncall@example.com \
-y
# Add a generic Webhook provider
bunx @temps-sdk/cli notifications add \
--type webhook \
--name "Custom Hook" \
--url https://example.com/webhook \
--method POST \
-y
notifications update
Update a notification provider. Same per-type flags as add, addressed by --id.
| Option | Description |
|---|---|
--id <id> |
Provider ID |
-n, --name <name> |
New provider name |
--enabled <enabled> |
Enable or disable (true/false) |
-w, --webhook-url <url> |
Webhook URL (for slack) |
-c, --channel <channel> |
Channel name (for slack) |
--smtp-host <host> |
SMTP host (for email) |
--smtp-port <port> |
SMTP port (for email) |
--username <username> |
SMTP username (for email) |
--password <password> |
SMTP password (for email) |
--from-address <address> |
From email address (for email) |
--from-name <name> |
From display name (for email) |
--to-addresses <addresses> |
Comma-separated recipient addresses (for email) |
--url <url> |
Webhook URL (for webhook) |
--method <method> |
HTTP method: POST, PUT, PATCH (for webhook) |
--json |
Output in JSON format |
-y, --yes |
Skip confirmation prompts |
bunx @temps-sdk/cli notifications update --id 1 --name "New Name"
bunx @temps-sdk/cli notifications update --id 1 --enabled false
bunx @temps-sdk/cli notifications update --id 2 --channel "#ops" --webhook-url https://hooks.slack.com/services/AAA/BBB/CCC -y
notifications enable / disable
Enable or disable a notification provider by ID.
| Option | Description |
|---|---|
--id <id> |
Provider ID |
--json |
Output in JSON format |
bunx @temps-sdk/cli notifications enable --id 1
bunx @temps-sdk/cli notifications disable --id 1
notifications show
Show notification provider details.
| Option | Description |
|---|---|
--id <id> |
Provider ID |
--json |
Output in JSON format |
bunx @temps-sdk/cli notifications show --id 1
bunx @temps-sdk/cli notifications show --id 1 --json
notifications remove
Remove a notification provider. Alias: rm.
| Option | Description |
|---|---|
--id <id> |
Provider ID |
-f, --force |
Skip confirmation |
-y, --yes |
Skip confirmation prompts (alias for --force) |
bunx @temps-sdk/cli notifications remove --id 1 -f
notifications test
Send a test notification through a provider.
| Option | Description |
|---|---|
--id <id> |
Provider ID |
bunx @temps-sdk/cli notifications test --id 1
Notification Preferences
Manage notification preferences.
Group: notification-preferences (alias: notif-prefs)
notification-preferences show
Show current notification preferences. Alias: get.
| Option | Description |
|---|---|
--json |
Output in JSON format |
bunx @temps-sdk/cli notification-preferences show
bunx @temps-sdk/cli notif-prefs show --json
notification-preferences update
Update a single notification preference. Alias: set.
| Option | Description |
|---|---|
-k, --key <key> |
Preference key to update |
-v, --value <value> |
Value for the preference |
bunx @temps-sdk/cli notification-preferences update -k email_enabled -v true
bunx @temps-sdk/cli notification-preferences update -k deployment_failures_enabled -v true
bunx @temps-sdk/cli notification-preferences update -k ssl_days_before_expiration -v 30
bunx @temps-sdk/cli notif-prefs set -k minimum_severity -v warning
notification-preferences reset
Reset notification preferences to defaults.
| Option | Description |
|---|---|
-f, --force |
Skip confirmation |
-y, --yes |
Skip confirmation prompts (alias for --force) |
bunx @temps-sdk/cli notification-preferences reset -y
Webhooks
Manage webhooks for project events.
Group: webhooks (alias: hooks)
webhooks list
List all webhooks for a project. Alias: ls.
| Option | Description |
|---|---|
--project-id <id> |
Project ID |
--json |
Output in JSON format |
bunx @temps-sdk/cli webhooks list --project-id 5
bunx @temps-sdk/cli webhooks list --project-id 5 --json
webhooks create
Create a new webhook for a project. Alias: add.
| Option | Description |
|---|---|
--project-id <id> |
Project ID |
-u, --url <url> |
Webhook URL |
-e, --events <events> |
Comma-separated event types (or "all" for all events) |
-s, --secret <secret> |
Webhook secret for signature verification |
-y, --yes |
Skip confirmation prompts (for automation) |
bunx @temps-sdk/cli webhooks create \
--project-id 5 \
-u https://example.com/webhook \
-e "deployment.success,deployment.failed" \
-s <YOUR_WEBHOOK_SECRET> \
-y
# Subscribe to every event type
bunx @temps-sdk/cli webhooks create --project-id 5 -u https://example.com/webhook -e all -s <YOUR_WEBHOOK_SECRET> -y
webhooks show
Show webhook details.
| Option | Description |
|---|---|
--project-id <id> |
Project ID |
--webhook-id <id> |
Webhook ID |
--json |
Output in JSON format |
bunx @temps-sdk/cli webhooks show --project-id 5 --webhook-id 1 --json
webhooks update
Update a webhook.
| Option | Description |
|---|---|
--project-id <id> |
Project ID |
--webhook-id <id> |
Webhook ID |
-u, --url <url> |
New webhook URL |
-e, --events <events> |
Comma-separated event types (or "all" for all events) |
-s, --secret <secret> |
New webhook secret for signature verification |
bunx @temps-sdk/cli webhooks update --project-id 5 --webhook-id 1 -u https://new-endpoint.com/webhook
bunx @temps-sdk/cli webhooks update --project-id 5 --webhook-id 1 -e "deployment.success,deployment.failed"
webhooks remove
Delete a webhook. Alias: rm.
| Option | Description |
|---|---|
--project-id <id> |
Project ID |
--webhook-id <id> |
Webhook ID |
-f, --force |
Skip confirmation |
-y, --yes |
Skip confirmation prompts (alias for --force) |
bunx @temps-sdk/cli webhooks remove --project-id 5 --webhook-id 1 -f
webhooks enable / disable
Enable or disable a webhook.
| Option | Description |
|---|---|
--project-id <id> |
Project ID |
--webhook-id <id> |
Webhook ID |
bunx @temps-sdk/cli webhooks enable --project-id 5 --webhook-id 1
bunx @temps-sdk/cli webhooks disable --project-id 5 --webhook-id 1
webhooks events
List available webhook event types.
| Option | Description |
|---|---|
--json |
Output in JSON format |
bunx @temps-sdk/cli webhooks events
bunx @temps-sdk/cli webhooks events --json
webhooks deliveries
Manage webhook deliveries. Subcommands: list, show, retry.
webhooks deliveries list
List deliveries for a webhook. Alias: ls.
| Option | Description |
|---|---|
--project-id <id> |
Project ID |
--webhook-id <id> |
Webhook ID |
--limit <n> |
Number of deliveries to return (default: 50) |
--json |
Output in JSON format |
bunx @temps-sdk/cli webhooks deliveries list --project-id 5 --webhook-id 1 --limit 100 --json
webhooks deliveries show
Show delivery details.
| Option | Description |
|---|---|
--project-id <id> |
Project ID |
--webhook-id <id> |
Webhook ID |
--delivery-id <id> |
Delivery ID |
--json |
Output in JSON format |
bunx @temps-sdk/cli webhooks deliveries show --project-id 5 --webhook-id 1 --delivery-id 1 --json
webhooks deliveries retry
Retry a failed delivery.
| Option | Description |
|---|---|
--project-id <id> |
Project ID |
--webhook-id <id> |
Webhook ID |
--delivery-id <id> |
Delivery ID |
bunx @temps-sdk/cli webhooks deliveries retry --project-id 5 --webhook-id 1 --delivery-id 1
Backups
Manage backup schedules, S3 backup sources, and individual backups. The top-level group is backups (alias backup).
Backup Schedules
backups schedules (alias backups schedule) manages recurring backup schedules.
| Command | Alias | Description |
|---|---|---|
backups schedules list |
ls |
List backup schedules |
backups schedules create |
— | Create a backup schedule |
backups schedules show |
— | Show backup schedule details |
backups schedules enable |
— | Enable a backup schedule |
backups schedules disable |
— | Disable a backup schedule |
backups schedules delete |
rm |
Delete a backup schedule |
backups schedules list
Options: --json (output in JSON format).
bunx @temps-sdk/cli backups schedules list --json
backups schedules create
Creates a schedule. All of the following options are required: -n, --name <name>, -t, --type <type> (full, incremental), -s, --schedule <cron> (cron format), -r, --retention <days>, -d, --description <desc>, and --s3-source-id <id>. Use -y, --yes to skip confirmation prompts (for automation).
bunx @temps-sdk/cli backups schedules create \
-n "Nightly DB" \
-t full \
-s "0 2 * * *" \
-r 30 \
-d "Nightly full backup of the primary database" \
--s3-source-id 1 \
-y
backups schedules show
Options: --id <id> (required, schedule ID), --json.
bunx @temps-sdk/cli backups schedules show --id 1 --json
backups schedules enable / backups schedules disable
Each takes a required --id <id> (schedule ID).
bunx @temps-sdk/cli backups schedules enable --id 1
bunx @temps-sdk/cli backups schedules disable --id 1
backups schedules delete (alias rm)
Options: --id <id> (required, schedule ID), -f, --force (skip confirmation), -y, --yes (skip confirmation prompts, alias for --force).
bunx @temps-sdk/cli backups schedules delete --id 1 -f
S3 Backup Sources
backups sources (alias backups source) manages S3 (and S3-compatible) backup storage sources.
| Command | Alias | Description |
|---|---|---|
backups sources list |
ls |
List S3 sources |
backups sources create |
— | Create an S3 source |
backups sources show |
— | Show S3 source details |
backups sources update |
— | Update an S3 source |
backups sources remove |
rm |
Delete an S3 source |
backups sources backups |
— | List backups for an S3 source |
backups sources run |
— | Trigger a backup for an S3 source |
backups sources list
Options: --json (output in JSON format).
bunx @temps-sdk/cli backups sources list --json
backups sources create
Creates an S3 source. All options are required: -n, --name <name>, --bucket <bucket>, --region <region>, --endpoint <endpoint> (for S3-compatible services), --access-key <key>, --secret-key <key>, and --prefix <prefix> (bucket path/prefix). Use -y, --yes to skip confirmation prompts (for automation).
bunx @temps-sdk/cli backups sources create \
-n "Main Backups" \
--bucket my-backups \
--region us-east-1 \
--endpoint https://s3.us-east-1.amazonaws.com \
--access-key AKIA... \
--secret-key "***" \
--prefix temps/ \
-y
backups sources show
Options: --id <id> (required, S3 source ID), --json.
bunx @temps-sdk/cli backups sources show --id 1 --json
backups sources update
Updates an S3 source. Options (all required): --id <id> (S3 source ID), -n, --name <name>, --bucket <bucket>, --region <region>, --endpoint <endpoint>, --access-key <key>, --secret-key <key>, --prefix <prefix>.
bunx @temps-sdk/cli backups sources update \
--id 1 \
-n "Primary Backups" \
--bucket my-backups \
--region eu-central-1 \
--endpoint https://s3.eu-central-1.amazonaws.com \
--access-key AKIA... \
--secret-key "***" \
--prefix temps/
backups sources remove (alias rm)
Options: --id <id> (required, S3 source ID), -f, --force (skip confirmation), -y, --yes (skip confirmation prompts, alias for --force).
bunx @temps-sdk/cli backups sources remove --id 1 -f
backups sources backups
Lists backups stored for an S3 source. Options: --id <id> (required, S3 source ID), --json.
bunx @temps-sdk/cli backups sources backups --id 1 --json
backups sources run
Triggers a backup for an S3 source. Options: --id <id> (required, S3 source ID).
bunx @temps-sdk/cli backups sources run --id 1
Backups
Top-level backups commands for listing and inspecting individual backups, plus on-demand service backups.
| Command | Alias | Description |
|---|---|---|
backups list |
ls |
List backups for a schedule |
backups show |
— | Show backup details |
backups run-service |
— | Run a backup for an external service |
backups list
Lists backups belonging to a schedule. Options: --schedule-id <id> (required, schedule ID), --json.
bunx @temps-sdk/cli backups list --schedule-id 1 --json
backups show
Options: --id <id> (required, backup ID), --json.
bunx @temps-sdk/cli backups show --id 1 --json
backups run-service
Runs an on-demand backup for an external service. Options (all required): --id <id> (external service ID), --s3-source-id <id> (S3 source ID to store the backup), -t, --type <type> (e.g. full, incremental).
bunx @temps-sdk/cli backups run-service --id 1 --s3-source-id 1 -t full
Security Scanning
Manage vulnerability scans for project environments and deployments.
Group: scans (alias: scan)
List scans
scans list (alias: ls) — List vulnerability scans for a project.
| Flag | Description |
|---|---|
--project-id <id> |
Project ID (required) |
--page <n> |
Page number |
--page-size <n> |
Items per page (default: 20, max: 100) |
--json |
Output in JSON format |
bunx @temps-sdk/cli scans list --project-id 5 --json
bunx @temps-sdk/cli scans ls --project-id 5 --page 2 --page-size 10
Trigger a scan
scans trigger — Trigger a new vulnerability scan.
| Flag | Description |
|---|---|
--project-id <id> |
Project ID (required) |
--environment-id <id> |
Environment ID to scan (required) |
bunx @temps-sdk/cli scans trigger --project-id 5 --environment-id 1
Latest scan
scans latest — Get the latest scan for a project.
| Flag | Description |
|---|---|
--project-id <id> |
Project ID (required) |
--environment-id <id> |
Filter by environment ID |
--json |
Output in JSON format |
bunx @temps-sdk/cli scans latest --project-id 5 --json
bunx @temps-sdk/cli scans latest --project-id 5 --environment-id 1 --json
Latest scans per environment
scans environments (alias: envs) — Get latest scans per environment.
| Flag | Description |
|---|---|
--project-id <id> |
Project ID (required) |
--json |
Output in JSON format |
bunx @temps-sdk/cli scans environments --project-id 5 --json
bunx @temps-sdk/cli scans envs --project-id 5
Show scan details
scans show — Show scan details.
| Flag | Description |
|---|---|
--id <id> |
Scan ID (required) |
--json |
Output in JSON format |
bunx @temps-sdk/cli scans show --id 1 --json
List vulnerabilities
scans vulnerabilities (alias: vulns) — List vulnerabilities found in a scan.
| Flag | Description |
|---|---|
--id <id> |
Scan ID (required) |
--severity <level> |
Filter by severity (CRITICAL, HIGH, MEDIUM, LOW) |
--json |
Output in JSON format |
bunx @temps-sdk/cli scans vulnerabilities --id 1 --json
bunx @temps-sdk/cli scans vulns --id 1 --severity CRITICAL --json
Scan by deployment
scans by-deployment — Get the scan for a specific deployment.
| Flag | Description |
|---|---|
--deployment-id <id> |
Deployment ID (required) |
--json |
Output in JSON format |
bunx @temps-sdk/cli scans by-deployment --deployment-id 42 --json
Remove a scan
scans remove (alias: rm) — Delete a vulnerability scan.
| Flag | Description |
|---|---|
--id <id> |
Scan ID (required) |
-f, --force |
Skip confirmation |
-y, --yes |
Skip confirmation prompts (alias for --force) |
bunx @temps-sdk/cli scans remove --id 1 -f
bunx @temps-sdk/cli scans rm --id 1 -y
IP Access Control
Manage IP access control rules (allow/deny lists evaluated against incoming traffic).
Group: ip-access (alias: ipa)
List rules
ip-access list (alias: ls) — List all IP access control rules.
| Flag | Description |
|---|---|
--json |
Output in JSON format |
bunx @temps-sdk/cli ip-access list --json
bunx @temps-sdk/cli ipa ls
Create a rule
ip-access create (alias: add) — Create a new IP access control rule.
| Flag | Description |
|---|---|
--ip <ip_or_cidr> |
IP address or CIDR range, e.g. "192.168.1.1" or "10.0.0.0/24" (required) |
--action <action> |
Action to take: allow or deny (required) |
--description <desc> |
Description/reason for the rule |
-y, --yes |
Skip confirmation prompts (for automation) |
# Allow an IP range
bunx @temps-sdk/cli ip-access create --ip 203.0.113.0/24 --action allow --description "Office network" -y
# Block a single IP
bunx @temps-sdk/cli ip-access add --ip 198.51.100.5 --action deny --description "Suspicious traffic" -y
Show rule details
ip-access show — Show IP access control rule details.
| Flag | Description |
|---|---|
--id <id> |
Rule ID (required) |
--json |
Output in JSON format |
bunx @temps-sdk/cli ip-access show --id 1 --json
Update a rule
ip-access update — Update an IP access control rule.
| Flag | Description |
|---|---|
--id <id> |
Rule ID (required) |
--ip <ip> |
New IP address or CIDR range |
--action <action> |
New action: allow or deny |
--description <desc> |
New description/reason |
bunx @temps-sdk/cli ip-access update --id 1 --ip 203.0.113.0/24 --action allow --description "Updated office network"
Remove a rule
ip-access remove (alias: rm) — Delete an IP access control rule.
| Flag | Description |
|---|---|
--id <id> |
Rule ID (required) |
-f, --force |
Skip confirmation |
-y, --yes |
Skip confirmation prompts (alias for --force) |
bunx @temps-sdk/cli ip-access remove --id 1 -f
bunx @temps-sdk/cli ipa rm --id 1 -y
Check an IP
ip-access check — Check if an IP address is blocked.
| Flag | Description |
|---|---|
--ip <ip> |
IP address to check (required) |
--json |
Output in JSON format |
bunx @temps-sdk/cli ip-access check --ip 198.51.100.5 --json
Error Tracking
Group: errors (alias: error) — Manage error tracking and error groups.
All subcommands require --project-id <id>. Add --json to any read command for machine-readable output. Error group statuses are unresolved, resolved, and ignored.
errors list
List error groups for a project (alias: ls).
Options: --project-id <id>, --status <status> (filter: unresolved, resolved, ignored), --page <page>, --page-size <size>, --environment-id <id>, --start-date <date> (ISO 8601), --end-date <date> (ISO 8601), --sort-by <field> (e.g. total_count, last_seen, first_seen), --sort-order <order> (asc or desc), --json.
# List all error groups for a project
bunx @temps-sdk/cli errors list --project-id 5 --json
# Filter and paginate
bunx @temps-sdk/cli errors list --project-id 5 --status unresolved --page 1 --page-size 20
# Filter by environment and date range
bunx @temps-sdk/cli errors list --project-id 5 --environment-id 1 --start-date 2025-01-01 --end-date 2025-01-31
# Sort by total occurrences, descending
bunx @temps-sdk/cli errors list --project-id 5 --sort-by total_count --sort-order desc
errors show
Show error group details.
Options: --project-id <id>, --group-id <id>, --json.
bunx @temps-sdk/cli errors show --project-id 5 --group-id abc123 --json
errors update
Update error group status.
Options: --project-id <id>, --group-id <id>, --status <status> (new status: unresolved, resolved, ignored), --assigned-to <user> (assign to user).
# Mark an error group resolved
bunx @temps-sdk/cli errors update --project-id 5 --group-id abc123 --status resolved
# Assign a group to a user
bunx @temps-sdk/cli errors update --project-id 5 --group-id abc123 --assigned-to dviejo
errors events
List events in an error group.
Options: --project-id <id>, --group-id <id>, --page <page>, --page-size <size>, --json.
bunx @temps-sdk/cli errors events --project-id 5 --group-id abc123 --page 1 --page-size 20 --json
errors event
Show a specific error event.
Options: --project-id <id>, --group-id <id>, --event-id <id>, --json.
bunx @temps-sdk/cli errors event --project-id 5 --group-id abc123 --event-id evt456 --json
errors stats
Get error statistics for a project.
Options: --project-id <id>, --json.
bunx @temps-sdk/cli errors stats --project-id 5 --json
errors timeline
Get error time series data.
Options: --project-id <id>, --days <days> (default 7), --bucket <bucket> (time bucket size, e.g. 1h, 15m, 1d; default 1h), --json.
bunx @temps-sdk/cli errors timeline --project-id 5 --days 7 --bucket 1h --json
errors dashboard
Get error dashboard statistics.
Options: --project-id <id>, --days <days> (default 7), --compare (compare to previous period), --json.
bunx @temps-sdk/cli errors dashboard --project-id 5 --days 7 --compare --json
Source Maps
Group: errors sourcemaps (alias: sm) — Manage source maps for error symbolication. Upload .map files per release so minified stack traces resolve to original source.
errors sourcemaps upload
Upload a source map file for a release.
Options: --project-id <id>, --release <version> (release version, e.g. commit SHA), --file <path> (path to the .map file), --file-path <urlpath> (URL path in stack traces, e.g. ~/assets/main.js), --dist <dist> (distribution identifier).
bunx @temps-sdk/cli errors sourcemaps upload \
--project-id 5 \
--release a1b2c3d \
--file ./dist/assets/main.js.map \
--file-path '~/assets/main.js' \
--dist web
errors sourcemaps list
List source maps for a release (alias: ls).
Options: --project-id <id>, --release <version>, --json.
bunx @temps-sdk/cli errors sourcemaps list --project-id 5 --release a1b2c3d --json
errors sourcemaps releases
List all releases that have source maps.
Options: --project-id <id>, --json.
bunx @temps-sdk/cli errors sourcemaps releases --project-id 5 --json
errors sourcemaps delete
Delete all source maps for a release.
Options: --project-id <id>, --release <version>.
bunx @temps-sdk/cli errors sourcemaps delete --project-id 5 --release a1b2c3d
errors sourcemaps delete-one
Delete a specific source map by ID.
Options: --project-id <id>, --source-map-id <id>.
bunx @temps-sdk/cli errors sourcemaps delete-one --project-id 5 --source-map-id sm_789
DSN (Data Source Names)
Group: dsn — Manage Data Source Names (DSNs) for error tracking and analytics. A DSN is the public ingest endpoint your app's SDK reports to. All subcommands require --project-id <id>.
dsn list
List all DSNs for a project (alias: ls).
Options: --project-id <id>, --json.
bunx @temps-sdk/cli dsn list --project-id 5 --json
dsn create
Create a new DSN for a project (alias: add).
Options: --project-id <id>, -n, --name <name> (DSN name), --environment-id <id>, --deployment-id <id>, --base-url <url> (base URL for the DSN), -y, --yes (skip confirmation prompts, for automation).
bunx @temps-sdk/cli dsn create \
--project-id 5 \
-n "Production DSN" \
--environment-id 1 \
--deployment-id 42 \
--base-url https://app.example.com \
-y
dsn get-or-create
Get an existing DSN or create one if none exists (idempotent).
Options: --project-id <id>, --environment-id <id>, --deployment-id <id>, --base-url <url> (base URL for the DSN), --json.
bunx @temps-sdk/cli dsn get-or-create \
--project-id 5 \
--environment-id 1 \
--deployment-id 42 \
--base-url https://app.example.com \
--json
dsn regenerate
Regenerate DSN keys (rotate keys).
Options: --project-id <id>, --dsn-id <id>, --base-url <url> (new base URL for the DSN), -f, --force (skip confirmation), -y, --yes (skip confirmation, alias for --force).
bunx @temps-sdk/cli dsn regenerate \
--project-id 5 \
--dsn-id 1 \
--base-url https://app.example.com \
-f
dsn revoke
Revoke (deactivate) a DSN.
Options: --project-id <id>, --dsn-id <id>, -f, --force (skip confirmation), -y, --yes (skip confirmation, alias for --force).
bunx @temps-sdk/cli dsn revoke --project-id 5 --dsn-id 1 -f
Analytics
Alias: stats
Use analytics for: page views, visitors, sessions, top pages, referrers, browsers, countries, regions, cities, events, traffic breakdowns, UTM campaigns, funnel conversion, and AI-crawler activity — anything about user/visitor behavior and marketing metrics.
View project analytics from the terminal with dashboard overviews and detailed breakdowns. analytics is read-only; to create or manage funnels use the top-level funnels group.
All subcommands accept -p, --project <project> (project slug or ID — required), --period <period>, and --json.
Periods: today, <n>h, <n>d, <n>m (e.g. 1h, 6h, 48h, 7d, 30d, 3m). Default is 24h for most subcommands (7d for analytics funnels).
analytics overview
Alias: o
Show the analytics dashboard overview (key metrics, sparkline, top pages, events, locations).
# Show analytics dashboard
bunx @temps-sdk/cli analytics overview -p my-app --period 24h
bunx @temps-sdk/cli analytics overview -p my-app --period 7d --json
# Short forms (overview is the default subcommand)
bunx @temps-sdk/cli analytics o -p my-app --period 7d
bunx @temps-sdk/cli stats overview -p my-app
Options:
-p, --project <project>— Project slug or ID (required).--period <period>— Time period (default24h).--json— Output in JSON format.
analytics top <dimension>
Show a breakdown by dimension.
Available dimensions: pages, referrers, browsers, os, devices, countries, regions, cities, channels, events, languages, utm_source, utm_medium, utm_campaign.
# Top pages by visit count
bunx @temps-sdk/cli analytics top pages -p my-app --period 7d
# Traffic sources
bunx @temps-sdk/cli analytics top referrers -p my-app --period 30d
# Browser breakdown as JSON
bunx @temps-sdk/cli analytics top browsers -p my-app --json
# Country breakdown, more rows
bunx @temps-sdk/cli analytics top countries -p my-app --period 30d --limit 50
# All events with counts
bunx @temps-sdk/cli analytics top events -p my-app --period 7d
# Other dimensions
bunx @temps-sdk/cli analytics top os -p my-app # Operating systems
bunx @temps-sdk/cli analytics top devices -p my-app # Device types
bunx @temps-sdk/cli analytics top regions -p my-app # Regions / states
bunx @temps-sdk/cli analytics top cities -p my-app # Cities
bunx @temps-sdk/cli analytics top channels -p my-app # Traffic channels
bunx @temps-sdk/cli analytics top languages -p my-app # Visitor languages
bunx @temps-sdk/cli analytics top utm_source -p my-app # UTM sources
bunx @temps-sdk/cli analytics top utm_medium -p my-app # UTM mediums
bunx @temps-sdk/cli analytics top utm_campaign -p my-app # UTM campaigns
Options:
-p, --project <project>— Project slug or ID (required).--period <period>— Time period (default24h).--limit <n>— Number of results (default20, max100).--json— Output in JSON format.
analytics funnels
Show funnel conversion metrics for all funnels in a project. This is the read-only analytics view; to create/update/delete funnels use the top-level funnels group.
bunx @temps-sdk/cli analytics funnels -p my-app --period 7d
bunx @temps-sdk/cli analytics funnels -p my-app --period 30d --json
Options:
-p, --project <project>— Project slug or ID (required).--period <period>— Time period (default7d).--json— Output in JSON format.
AI Agents (Crawler Analytics)
CLI mirror of the web dashboard at /projects/<slug>/analytics/ai-agents. Reads the same proxy-log endpoints (/proxy-logs/stats/ai-agents and /proxy-logs/stats/ai-pages) the web view uses, so the numbers always match.
analytics ai-agents
Show the AI crawler / provider breakdown.
# Every AI crawler that hit the site, ranked by request count
bunx @temps-sdk/cli analytics ai-agents -p my-app --period 24h
bunx @temps-sdk/cli analytics ai-agents -p my-app --period 7d --limit 50
# Roll up by vendor instead of individual agent
bunx @temps-sdk/cli analytics ai-agents -p my-app --group-by provider --period 7d
# Restrict to a single URL path
bunx @temps-sdk/cli analytics ai-agents -p my-app --path /docs --period 24h
# JSON for piping into jq / scripts
bunx @temps-sdk/cli analytics ai-agents -p my-app --period 24h --json
Options:
-p, --project <project>— Project slug or ID (required).--period <period>— Time period (default24h).--limit <n>— Number of rows to fetch (default20, max100).--group-by <mode>— Group rows byagent(default) orprovider.--path <path>— Restrict to one URL path (e.g./docs).--json— Output in JSON format.
analytics ai-pages
Show pages crawled by AI agents, with distinct-agent counts.
# Top pages crawled by AI agents (path + distinct-agent count + request total)
bunx @temps-sdk/cli analytics ai-pages -p my-app --period 24h
bunx @temps-sdk/cli analytics ai-pages -p my-app --period 7d --limit 10
# Expand each page with its per-agent split (one extra request per page — slower)
bunx @temps-sdk/cli analytics ai-pages -p my-app --period 7d --with-agents --limit 10
# Just the row for one path
bunx @temps-sdk/cli analytics ai-pages -p my-app --path /pricing --json
Options:
-p, --project <project>— Project slug or ID (required).--period <period>— Time period (default24h).--limit <n>— Number of pages to fetch (default20, max100).--path <path>— Restrict to one URL path (returns just that row).--with-agents— Also fetch and render the per-agent split for each page (slower).--json— Output in JSON format.
analytics ai-page <path>
Show which agents/providers crawled a single page.
bunx @temps-sdk/cli analytics ai-page /docs -p my-app --period 24h
bunx @temps-sdk/cli analytics ai-page /pricing -p my-app --group-by provider --period 7d
bunx @temps-sdk/cli analytics ai-page /blog/self-hosted-paas -p my-app --json
Arguments:
<path>— The single URL path to inspect (required).
Options:
-p, --project <project>— Project slug or ID (required).--period <period>— Time period (default24h).--limit <n>— Number of rows to fetch (default50, max100).--group-by <mode>— Group rows byagent(default) orprovider.--json— Output in JSON format.
When to use which:
ai-agents— answer "who is crawling me?". Same data as the web "Agents" tab.ai-pages— answer "what content is being crawled?". Same data as the web "Pages crawled" tab.ai-page <path>— answer "for this one URL, which agents/providers hit it?". Equivalent to expanding a row in the web "Pages crawled" tab.
Funnels
Alias: funnel
Manage analytics funnels for projects — create, update, list, delete, and inspect conversion metrics. The funnel-management commands identify the project with --project-id <id> (numeric project ID), distinct from the analytics group which uses -p, --project <slug-or-id>.
For a read-only conversion summary across all funnels see analytics funnels.
funnels list
Alias: ls
List all funnels for a project.
bunx @temps-sdk/cli funnels list --project-id 5
bunx @temps-sdk/cli funnels list --project-id 5 --json
Options:
--project-id <id>— Project ID (required).--json— Output in JSON format.
funnels create
Alias: add
Create a new funnel for a project.
bunx @temps-sdk/cli funnels create --project-id 5 -n "Signup Funnel" \
-s '[{"event_name":"page_view","filters":{"path":"/signup"}},{"event_name":"form_submit"},{"event_name":"signup_complete"}]' -y
Options:
--project-id <id>— Project ID (required).-n, --name <name>— Funnel name (required).-s, --steps <json>— Funnel steps as JSON array, e.g.'[{"event_name":"page_view"},{"event_name":"signup"}]'(required).-y, --yes— Skip confirmation prompts (for automation).
funnels update
Update a funnel.
bunx @temps-sdk/cli funnels update --project-id 5 --funnel-id 1 -n "Updated Funnel" \
-s '[{"event_name":"page_view"},{"event_name":"signup"}]'
Options:
--project-id <id>— Project ID (required).--funnel-id <id>— Funnel ID (required).-n, --name <name>— New funnel name (required).-s, --steps <json>— New funnel steps as JSON array (required).
funnels remove
Alias: rm
Delete a funnel.
bunx @temps-sdk/cli funnels remove --project-id 5 --funnel-id 1 -f
bunx @temp
> Content truncated for page performance. Open the source repository for the full SKILL.md file.