Skip to content
Operations
Skill

/add-custom-domain

Add a custom domain to a Temps project and provision an automatic SSL/TLS certificate via Let's Encrypt, driven entirely from the `@temps-sdk/cli` CLI. Handles subdomains, apex domains, HTTP-01 and DNS-01 challenges, and wildcard domains. Use when the user wants to: (1) Add a

BOOST
From plugin
temps
84613 skills
Install
$ npx -y skills add gotempsh/temps --skill add-custom-domain --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/add-custom-domain

Context preview

The summary Claude sees to decide when to auto-load this skill.

Add a custom domain to a Temps project and provision an automatic SSL/TLS certificate via Let's Encrypt, driven entirely from the `@temps-sdk/cli` CLI. Handles subdomains, apex domains, HTTP-01 and DNS-01 challenges, and wildcard domains. Use when the user wants to: (1) Add a

SKILL.md

add-custom-domain.SKILL.md
name: add-custom-domain
description: |
  Add a custom domain to a Temps project and provision an automatic SSL/TLS certificate via Let's Encrypt, driven entirely from the `@temps-sdk/cli` CLI. Handles subdomains, apex domains, HTTP-01 and DNS-01 challenges, and wildcard domains. Use when the user wants to: (1) Add a custom domain to their Temps app, (2) Set up HTTPS/SSL for a deployment, (3) Point their own domain at a Temps project, (4) Add a wildcard domain, (5) Configure DNS for Temps. Triggers: "add custom domain", "point my domain at temps", "set up ssl", "https for my app", "wildcard domain", "add domain to project".

Add a Custom Domain

Add a custom domain to a Temps project and get automatic HTTPS. This skill drives the whole flow from the CLI; the human equivalent is **Project → Domains → Add Domain** in the dashboard.

When to use

The user wants their own domain (e.g. `app.example.com`) serving a Temps project, with an SSL certificate, instead of the auto-assigned subdomain.

Prerequisites

  • The Temps CLI is authenticated. Verify, and log in to the user's instance if needed

(`login` is a top-level command; the instance URL is the positional argument):

  bunx @temps-sdk/cli whoami || bunx @temps-sdk/cli login "<instance_url>"
  • The user knows the **domain** to add and which **project** it belongs to.
  • The user can edit DNS for the domain (or has a DNS provider connected in Temps

for DNS-01 / wildcard).

Steps

1. **Identify the project.** If the user gave a name but not an ID, list projects and resolve it:

   bunx @temps-sdk/cli projects list --json

Note the numeric `id` of the target project. Use it as `<project-id>` below.

2. **Create the DNS record** at the user's DNS provider so the domain points at the Temps server. Tell the user exactly what to add (you cannot create this for them unless a DNS provider is connected in Temps):

  • **Subdomain** (`app.example.com`): `A` record, name `app`, value = the

server's public IP. A `CNAME` to the server hostname also works.

  • **Apex** (`example.com`): `A` record, name `@`, value = the server's IP.

(CNAMEs are not allowed at the zone root.)

  • If the user is on **Cloudflare**, have them set the record to **DNS only**

(grey cloud) during issuance so Temps' Let's Encrypt challenge isn't proxied.

3. **Add the domain to the project.** Default is the HTTP-01 challenge, handled automatically:

   bunx @temps-sdk/cli custom-domains create --project-id <project-id> -d app.example.com -y
  • **Apex + Cloudflare/another provider connected, or port 80 not reachable:**

use DNS-01 instead (see Wildcard below) — confirm a DNS provider is connected in **Settings → DNS Providers** first.

4. **Wildcard domains** (`*.example.com`) require DNS-01 and a connected DNS provider. Confirm the provider is connected, then add the wildcard the same way:

   bunx @temps-sdk/cli custom-domains create --project-id <project-id> -d "*.example.com" -y

Temps creates the `_acme-challenge` TXT record automatically via the provider.

Verify

bunx @temps-sdk/cli custom-domains list --project-id <project-id>

The domain should progress to **active** once DNS propagates and the certificate is issued (usually under a minute for HTTP-01). You can confirm DNS independently:

dig +short app.example.com A

If the domain stays pending: verify the DNS record resolves to the server, that port 80 is reachable (HTTP-01), and — on Cloudflare — that the proxy is off during issuance. Certificates renew automatically ~30 days before expiry.

Related

  • Dashboard path: **Project → Domains → Add Domain**
  • Doc: https://temps.sh/docs/add-a-custom-domain
  • CLI group: `bunx @temps-sdk/cli custom-domains --help`
  • Full CLI reference: the `temps-cli` skill covers all 440+ `bunx @temps-sdk/cli`

commands.

Read more
Ships withtemps

AI-native open-source alternative to Vercel + Sentry + PostHog + Pingdom + Resend + E2B. 440+ CLI operations with drop-in skills for Claude Code, Codex & OpenCode — deployments, analytics, session replay, error tracking, OpenTelemetry, email, sandboxes & AI gateway in one self-hosted Rust binary.

Get the whole plugin

Other skills on temps.

add-node-sdk
Skill

add-node-sdk

Integrate the Temps Node.js SDKs for server-side platform access, KV storage, and Blob storage. Use when the user wants to: (1)…

@gotempsh@gotempshInstall Skill