# Temps Cli

> |

- **Type:** Skill
- **Install:** `agentstack add skill-gotempsh-temps-temps-cli`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [gotempsh](https://agentstack.voostack.com/s/gotempsh)
- **Installs:** 0
- **Category:** [Cloud & Infrastructure](https://agentstack.voostack.com/c/cloud-infrastructure)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [gotempsh](https://github.com/gotempsh)
- **Source:** https://github.com/gotempsh/temps/tree/main/skills/temps-cli
- **Website:** https://temps.sh/docs

## Install

```sh
agentstack add skill-gotempsh-temps-temps-cli
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Temps CLI - Complete Reference

Temps CLI is the command-line interface for the Temps deployment platform. It provides full control over projects, deployments, services, domains, monitoring, and platform configuration.

> **Always invoke the CLI via `bunx @temps-sdk/cli ...`** (or `npx @temps-sdk/cli ...`). This reference matches **`@temps-sdk/cli` v0.1.26** and was generated directly from the CLI's command definitions — every flag, argument, and alias below is verbatim.

## Installation

`@temps-sdk/cli` is the official CLI published by the Temps team on npm under the `@temps-sdk` organization ([npm profile](https://www.npmjs.com/org/temps-sdk), [source code](https://github.com/gotempsh/temps)).

```bash
# 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](#cli-configuration) for full flags and the `get`/`set`/`list`/`show`/`reset` subcommands):

```bash
# 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  --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  --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](#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 ` | Use a pre-minted API key (Settings → API Keys) instead of opening the browser. Required for headless / CI. |
| `--context ` | 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`. |

```bash
# 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 

# Save credentials under a named context
bunx @temps-sdk/cli login https://temps.example.com --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 ` | Log out of a specific context (defaults to active). |
| `--local-only` | Skip server-side revocation; only clear local credentials. |

```bash
# 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. |

```bash
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 `

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. |

```bash
bunx @temps-sdk/cli context list
bunx @temps-sdk/cli context ls --json
```

### context use

`bunx @temps-sdk/cli context use [options] `

Alias: `switch`. Switch the active context. `` is the context to activate.

```bash
bunx @temps-sdk/cli context use prod
bunx @temps-sdk/cli context switch staging
```

### context remove

`bunx @temps-sdk/cli context remove [options] `

Alias: `rm`. Remove a context. This does NOT revoke the key on the server — use `logout` first if you need server-side revocation. `` is the context to remove.

```bash
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. |

```bash
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 ` | API URL. |
| `--api-token ` | API token for authentication. |
| `--output-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). |

```bash
# 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  \
  --output-format json \
  --no-interactive
```

### configure get

`bunx @temps-sdk/cli configure get [options] `

Get a configuration value. `` is the config key to read.

```bash
bunx @temps-sdk/cli configure get output-format
```

### configure set

`bunx @temps-sdk/cli configure set [options]  `

Set a configuration value. `` is the config key and `` is the new value.

```bash
bunx @temps-sdk/cli configure set output-format json
```

### configure list

`bunx @temps-sdk/cli configure list [options]`

List all configuration values.

```bash
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. |

```bash
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.

```bash
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 ` (slug or ID) unless noted.

### List Projects

`projects list` (alias `ls`) — List all projects.

```bash
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 ` | Page number |
| `--per-page ` | 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 ` plus build/branch settings; manual projects use `--manual` with a `--source-type`.

```bash
# 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 ` | Project name |
| `-d, --description ` | Project description |
| `--repo ` | Repository in `owner/name` format |
| `--branch ` | Git branch |
| `--directory ` | Root directory (relative to repo) |
| `--preset ` | Build preset (e.g., nextjs, nodejs, static, docker) |
| `--connection ` | Git connection ID |
| `--manual` | Create a manual (non-git) project — deploy via Docker image or static files |
| `--source-type ` | Manual deployment method: `manual` (flexible), `docker_image`, or `static_files` |
| `--image ` | Docker image for the first deployment (manual mode) |
| `--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.

```bash
bunx @temps-sdk/cli projects show -p my-app
bunx @temps-sdk/cli projects show -p my-app --json
```

| Flag | Description |
| --- | --- |
| `-p, --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.

```bash
# 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 slug or ID |
| `-n, --name ` | New project name |
| `-d, --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).

```bash
# 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 slug or ID |
| `--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.

```bash
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 slug or ID |
| `--owner ` | Repository owner |
| `--repo ` | Repository name |
| `--branch ` | Main branch |
| `--directory ` | App directory path |
| `--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).

```bash
# 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 slug or ID |
| `--replicas ` | Number of container replicas |
| `--cpu-limit ` | CPU limit in cores (e.g., 0.5, 1, 2) |
| `--memory-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.

```bash
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 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).

```bash
# 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 ` | Project name (for new projects) |
| `-y, --yes` | Skip confirmation prompts |

### Link

`link [project-slug]` — Link the current directory to an existing Temps project.

```bash
# 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 |
| --- | --- |
| `

…

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [gotempsh](https://github.com/gotempsh)
- **Source:** [gotempsh/temps](https://github.com/gotempsh/temps)
- **License:** Apache-2.0
- **Homepage:** https://temps.sh/docs

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-gotempsh-temps-temps-cli
- Seller: https://agentstack.voostack.com/s/gotempsh
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
