Overalls.

An AI-first developer platform that you own.

Guide Self-host
Design Architecture
Source GitHub · MIT Appearance

Your first machine

Everything on this page happens on your deployment. Replace <your-domain> with Marshall's public host name and <gateway> with your Porsche host name.

Sign in
https://<your-domain>/sign-in, by magic link; passkeys are also supported
Machines
https://<your-domain>/machines
SSH keys
https://<your-domain>/settings/ssh-keys

1. Sign in

Enter your email address at /sign-in and follow the link you're sent. Registration is open, and an account is created the first time someone signs in.

2. Create a machine in the browser

On /machines, choose an image and a profile, then create. When the machine is running, its page opens a terminal straight away. Add as many terminals as you need; they stay open when you close the tab.

3. Register an SSH key

Paste one OpenSSH public key (Ed25519, ECDSA, or RSA with at least 2048 bits) on the SSH keys page. To approve a key from the terminal instead, keep an interactive ssh <gateway> session open and follow the short-lived approval link it prints.

4. Manage machines over SSH

ssh <gateway> whoami
ssh <gateway> images
ssh <gateway> new --name example-machine
ssh <gateway> ls
ssh <gateway> stop example-machine
ssh <gateway> start example-machine

Every command accepts --json. Commands that change something accept --request-id ID, so retrying after a dropped connection can't do the same thing twice. Stopping keeps the disk; rm deletes it.

5. Install the CLI

Each machine's page has a Connect from your computer section with a one-line installer for Linux and macOS (and a PowerShell one for Windows). It sets up wildcard SSH to every machine you can reach. After that:

overalls open https://github.com/OWNER/REPO
overalls agent --machine <machine-uuid>

open creates a machine, waits for the clone into /workspace/REPO, then opens a shell. agent sends one prompt to the machine's agent threads, after you approve the CLI in the browser.

6. Launch from a repository page

Any supported repository URL, appended to your deployment's address after a #, starts a machine with that repository checked out:

https://<your-domain>/#https://github.com/OWNER/REPO

The toolbar extension does the same with one click on GitHub, GitLab, Codeberg and Bitbucket Cloud. It sends only the repository's origin and path, and never page contents. Your deployment serves the unsigned developer packages at /bin/chrome.zip and /bin/firefox.xpi.

Full reference: Getting started

Full reference: Command reference

Full reference: Automation