runnable reference docs.

Every code block has a ▶ Run button that POSTs to the sandbox and returns a live URL inline. Reading by an AI? /docs/llms.txt gives you the whole thing.

from zero to a public URL in under a minute.

Three steps. The CLI handles auth, image build, container start, and edge proxy registration. You write one file and run one command.

01

install the CLI

terminal
# install the CLI
curl -fsSL https://deploy.me/install | sh

# or with brew
brew install deploy-me/tap/deploy.me
02

write deploy.me.ts

deploy.me.ts
import { Deploy } from "deploy.me"

export default Deploy
  .name("hello-agent")
  .image("deploy.me/hello:1")
  .target("ovh:rise-1@eu-west")
  .scale({ min: 0, max: 10, idle: "30s" })
  .http({ port: 3000 })
03

run deploy.me up

terminal
$ deploy.me up

✓ image pulled       1.1s
✓ container started  2.4s
✓ proxy registered   0.3s
✓ live               94ms

→ https://hello-agent.deploy.me

That URL is real. It serves your container until you kill it or scale it to zero. Per-second billing starts on first request.

everything is a file.

A deploy is described by a single TypeScript file. The CLI parses it, validates against ambient types, and ships it. No YAML. No CI config. No control plane to learn — just a builder you can autocomplete.

every verb on Deploy.

.name(), .image(), .target(), .env(), .scale(), .http(), .schedule(), .budget(). Each is fully typed; hit tab.