Skip to main content
Install the native CLI, then run cool by itself to open the account shell. Run a subcommand when you know the operation you need. cool <command> --help shows each command’s arguments and flags.

Sign in

Replace the email below with your address. cool login sends a code and signs you in; cool signup makes a new account the same way. Enter the code when prompted. Agents must ask the owner before sending the email.
cool whoami shows the signed-in account. cool usage shows the account’s limits next to what it uses now; cool usage --json returns the GET /api/usage response.

Publish a site

Publish files when you want to show something. cool publish is instant and needs no VM:
Without --computer, cool publish creates a new computer. With --computer, it publishes a new release to that computer. A single .html file is published as index.html. A new site is public unless you pass --visibility private; cool share public bakery opens it to everyone later. cool releases bakery lists the releases, and cool releases promote bakery 2 makes an earlier one live again. A cool.json at the site’s root configures the site. spa: true serves index.html for unknown paths. functions names a bundled module that answers /api/ at the edge, and secrets names the secret set its environment comes from. run and port start a server, which gives the computer a VM on first use. Without signing in, cool publish creates a computer that is deleted after 24 hours. Keep it with cool claim <claim-link>, or publish to it again with --claim <claim-link>.

Computers with a VM

A site has no VM until the work needs one: a server or bot that stays up, a scheduled job, or a long task. Give an existing site its VM, in place, or create a new computer that has one:
A VM is an always-on Ubuntu machine with sudo, at the same address. VMs need the Pro plan; see pricing. Giving a site a VM is one-way: afterwards cool publish to that site is refused, so change its files with cool files or cool exec. cool create returns once the computer runs and opens no shell.
cool enter bakery opens the computer’s terminal. Run exit to return to your local terminal.

Run a command

cool exec runs a command on a computer with a VM. One word after the computer name is a shell line, run by bash. Two or more words are a program and its arguments, each passed exactly as written:
Quote the whole line when it holds && or |, or your local shell runs that part. Executions continue after a client disconnect or timeout. To reconnect, use the execution ID that cool exec prints:
Use a service for a process that must stay available at the computer’s address.

Run a service

cool service run gives a site its VM if it has none, keeps one program running and restarts it when it crashes. With --port, the program answers at bakery.cool.computer. On a computer you published files to, the service answers the paths nothing published answers: the site’s functions keep /api/, and a file in /home/runtime/app keeps its path and its clean URL (about.html answers /about, index.html its directory), so delete a published index.html for the service to answer /. Run cool service --help to see show, restart, stop, and clear.

Work with files

Run cool files --help for read, write, list, stat, directory, delete, upload, and download commands. cool files list and cool files read read a site’s live release and never give it a VM. File changes on a computer with a VM stay on its disk when you disconnect.

Email

Every computer has an inbox. cool email bakery lists its newest mail. See Email your computer for reading, sending, and replying.

Machine-readable output

Commands that return structured records accept --json. Use it when a script or agent will read the result.