Atlas CLI · v0.1.0

Get Atlas

One command installs a single self-contained file. Sign in, and you have a cloud machine you and your agents can work in together — with a public URL for anything you serve.

install
$ npm install -g @atlaslabsnpm/cli
$ atlas login

Requires Node.js 20+.

Install

Other ways in

No npm. Installs one self-contained file. Goes to /usr/local/bin when writable, otherwise ~/.local/bin — never needs sudo, and verifies a SHA-256 checksum before anything lands on your PATH.

$ curl -fsSL https://www.atlaslabs.id/install.sh | sh

Direct download. One file, no installer. Everything is bundled in — the only requirement is Node.

$ curl -fsSL https://www.atlaslabs.id/download/atlas.cjs -o atlas.cjs
$ node atlas.cjs whoami

From source. If you have the repo checked out.

$ cd packages/cli && npm install && npm run bundle
$ node dist/atlas.cjs --help

Getting started

Your first machine

1

Sign in

Opens your browser and approves this device. The token goes to your system keychain — you never paste a key anywhere.

$ atlas login
$ atlas whoami
2

Create a machine

The name is a slug: lowercase letters, numbers and dashes. Running this twice is a clean conflict, never a second machine.

$ atlas machine create my-app
3

Push your work and run it

Paths are relative to /workspace. Everything after -- runs on the machine verbatim, and the exit code comes back to your shell — so this fails your CI when the tests fail.

$ atlas put my-app ./server.js server.js
$ atlas exec my-app -- 'npm install && npm test'
4

Serve it and get a public URL

Bind to 0.0.0.0 on port 3000 or 8000 — those are the ports routed from outside, and they are fixed when the machine is created.

$ atlas exec my-app -- 'cd /workspace && (nohup node server.js >/tmp/dev.log 2>&1 &)'
$ atlas ports my-app
5

Stop it when you're done

Machines bill while they run. There is a 1-hour cap and a 5-minute idle timeout as a backstop, but stopping is the habit. Stopping is final — the filesystem does not survive, so pull anything you want to keep first.

$ atlas get my-app dist/build.zip ./build.zip
$ atlas machine rm my-app

How it works

Coworking with Atlas

Most tools make an agent work on your machine. Atlas gives you and your agents a third place: a machine that belongs to the work, not to either of you. You both reach it through the same commands, and neither of you has to be online for it to keep existing.

One surface

You type atlas exec. Your agent runs the same command. There is no separate agent API to drift out of sync with what you can do by hand.

Off your laptop

Installs, builds and dev servers run in the cloud. Your fan stays quiet, and closing the lid does not kill the run.

Ends in a URL

Anything you serve on port 3000 or 8000 gets a public HTTPS address. The handoff is a link, not "works on my machine".

Give your agent the same machine

Point your coding agent at the workspace and it can drive the machine directly — push files, run builds, read logs, hand back the URL. Because it uses the CLI you already approved, you are not clicking through a new permission prompt for every command it invents.

$ atlas machine create my-app
$ # then, to your agent: "build the landing page on my-app and send me the URL"

Everything is attributed

Every device that signs in gets its own identity, and every command, upload and agent run is recorded against it. When two people and three agents share a workspace, “who ran that?” has an answer. Revoke a device and its access ends immediately, everywhere.

$ atlas device list

Open it in Atlas Browser

A workspace has its own address. Hand it to Atlas Browser and you get the terminal, files and a live preview in one window, pointed at the same machine your agent is using.

$ atlas open my-app

Reference

Command reference

atlas loginSign in on this device
atlas whoamiWho you are signed in as
atlas machine create <slug>Provision a machine
atlas machine listYour machines and their status
atlas machine status <slug>Status and ports
atlas machine rm <slug>Terminate it
atlas exec <slug> -- <cmd>Run a command; mirrors its exit code
atlas put <slug> <local> <remote>Upload a file
atlas get <slug> <remote> [local|-]Download a file
atlas ports <slug>Public URLs for the machine
atlas open <slug>Open in Atlas Browser
atlas device list | rm <id>Signed-in devices; revoke one
atlas vm ready --url <url>Inside a deployment: report the live URL
atlas vm notify "<message>"Inside a deployment: update everyone on the project
atlas vm statusInside a deployment: check the credential

Machines run Debian 12 as root in /workspace, with Node 22, pnpm, Python 3.13, git and build tools preinstalled. Install anything else with apt-get.

Machines cannot be suspended and resumed. Stopping one is final.

Public URLs are unguessable but unauthenticated — treat a machine’s URL as shareable with anyone who has the link.

Ready to start?

Install, sign in, and create your first machine in about a minute.

Create an account