The developer platform for everyone.
one atlas.yaml runs your whole stack. a native workspace runs your agents. your platform team is a YAML file.
Warning
Atlas is in alpha. It works and we use it every day, but expect bugs and breaking changes between releases. Please open an issue when something breaks. Releases come in Stable, Beta and Alpha channels: see docs/versioning.md.
website Β· docs Β· changelog Β· contributing
β the 78-second film, real footage of the real app. watch it on the website.
Atlas is a developer platform that doesn't need a platform team. The thing big companies build with a dozen tools and a quarter of work (a paved road from git clone to a running, observable stack) is one file in your repo and one binary on your machine.
- Stack orchestration.
atlas.yamldescribes infra, services, dependency order, health checks, restarts and actions.atlas devboots it and keeps it honest. - A desktop workspace. Atlas Desktop is a native app (macOS, Linux and Windows): a project per space, a git worktree per task, a GPU terminal, diff review, PRs and an embedded browser.
- Agents in the loop. omp, Claude Code and Codex run in parallel worktrees, with live "working / needs you / done" status.
- MCP for your agents.
atlas mcplets an agent read status and logs, restart a service and wait until it is healthy while you keep coding.
Same live state behind all of it: the TUI, the desktop app and the MCP server never disagree.
β real recording, not a mockup. regenerate with vhs demo/demo.tape Β· demo stack in demo/atlas.yaml
curl -fsSL https://atlas.codeatlas.com.br/install.sh | shDownloads the newest release of the default update channel (the newest alpha while Atlas is in alpha; pick another), verifies its SHA-256, puts atlas in ~/.atlas/bin and wires your PATH and the bundled agent skills. Needs only curl: no GitHub login, no sudo. Prefer a .dmg? Grab it from the latest release. Want the installer to also offer agent setup (omp, Claude Code, Codex)? Use scripts/bootstrap.sh. Manual install, building from source and uninstalling β docs/installation.md.
atlas update # checks every 6h; `atlas dev` offers to update before starting (Y/n)
atlas desktop # installs and opens Atlas Desktop (macOS on Apple silicon, Linux x86_64, Windows x64)On Windows, in PowerShell: irm https://atlas.codeatlas.com.br/install.ps1 | iex (what differs on Windows).
Atlas is for everyone; it ships platform by platform. Available now: macOS on Apple silicon, Linux x86_64, with .deb, .rpm, Arch (pacman -U) and AppImage packages on every release, and Windows 10/11 on x64. Coming soon: Intel Macs and Linux on ARM (see the download page). Details in the FAQ.
atlas init # scaffold atlas.yaml
atlas dev # send it (? = keys, q = quit)You cd into a monorepo and run atlas dev. Postgres + Redis come up in Docker, migrations run first, the API waits until it's actually ready, the web app waits for the API, crashy stuff restarts with backoff, every log lands in a searchable TUI and on disk. That's the whole paved road.
# yaml-language-server: $schema=./.atlas.schema.json β `atlas config schema > .atlas.schema.json`
name: myapp
env_files: [.env]
infra:
compose_file: docker-compose.yml
services:
migrate:
command: bun run db:migrate
oneshot: true
api:
command: bun run dev:api
port: 3000
health: http://localhost:3000/health
depends_on: { migrate: completed_successfully }
restart: on_failure
open_key: a
web:
command: bun run dev:web
port: 3001
depends_on: { api: healthy }
actions:
- key: u
label: Reset local DB
command: bun run db:reset
confirm: "Wipes your local DB. Sure?"
pause_services: [api]Other modes:
| command | what it does |
|---|---|
atlas dev web / atlas dev --profile backend |
start only those services + what they depends_on (--no-deps skips that); the rest show off and start by hand |
atlas dev --detach |
start the services in a background runner and return; atlas dev attaches the TUI (D detaches, services keep running), atlas down stops it |
atlas dev --headless |
no TUI, logs to stdout, still serves MCP control (attachable too) |
atlas dev --ci |
boots, waits for stable, prints JSON, exits 0/1 |
atlas dev --status |
is it running (and mode: runner|tui, attached clients)? exit 0 yes / 3 no |
atlas down |
stop the running atlas gracefully (runner or TUI) |
atlas config check |
validate config, show every error at once |
- π§ knows your dependency graph.
depends_on: { migrate: completed_successfully, api: healthy }, plusstartedandlog_ready(regex on a log line). No moresleep 10 && bun dev. - π self-healing.
restart: on_failure, exponential backoff 1s β 30s, gives up loudly aftermax_restarts. Crash loops never show a fake green dot. - β
typo-proof config.
services.web.helth: unknown field (did you mean 'health'?)before your terminal goes raw. JSON Schema for editor autocomplete. - π±οΈ mouse that works everywhere. tabs, sidebar rows,
β―menus, footer hints, modal buttons, palette items, scrollbar drag, all from one render-time click map, so it never drifts. - π± mobile dev built in. device picker for iOS sims / Android devices, build phase tracking, LAN-vs-loopback dev host injected for Tauri.
- π ssh tunnels that behave. keepalive, reconnect on Wi-Fi switch, verified reuse across runs, never kills by port.
- π§Ό leaves no mess. exact-PID orphan cleanup, singleton lock, terminal always restored (panic, SIGHUP, Ctrl+Z included).
- π’ deploy. atomic, health-gated releases with rollback β docs/deploy.md.
- π logs you can actually read. exact wrap with hanging indent, find with highlight +
n/N, regex + smartcase, filter vs find, level and time-range filters, JSON (pino/bunyan) compaction, jump between errors, clickable URLs andpath:line. - ποΈ per-service buffers so one chatty service can't nuke the rest, and every line also lands in
.logs/on disk.
- πͺ one window for many coding agents in parallel. a project per space, a git worktree per task (with its own port offset, so each worktree runs its own stack), persistent terminals that survive quitting the app.
- π review without leaving. diff review with notes sent back to the agent, PRs and checks via
gh, an embedded browser with Design Mode, worktrees on SSH hosts. - ποΈ yours to shape. Zed-style docks, command palette, rebindable keys and Zed themes.
- π¨ themes. Atlas Dark and Light (a blue, Tokyo Night based pair) are the defaults, next to Dracula and Alucard by Zeno Rocha and Luxonauta (MIT), and One; import Ghostty, iTerm, VS Code, Alacritty or Base16 themes, or your own Dracula Pro purchase from a zip.
- β‘ a terminal that keeps up. native Metal renderer (wgpu): 120 Hz, sub-millisecond frames, Kitty graphics + sixel images, color emoji, ligatures, shell integration (jump between prompts, exit codes, cwd), regex search, Kitty keyboard.
- π€ agent-native.
atlas mcpis a stdio MCP server: status, logs, log search, restart/stop/start, run actions (with a confirm gate), wait-until-ready.atlas dev --status/--cifor scripts. - π live agent status. omp, Claude Code and Codex show "working / needs you / done" in Desktop, with notifications.
atlas wt/atlas termlet agents drive the app back.
atlas setup # detects omp / claude / codex and shows what to run
atlas setup claude-code # dry run: shows exactly what it would change
atlas setup claude-code --apply # MCP server + skills + hooks for Claude Code
atlas setup codex --apply # same for Codex (then trust the hooks once in /hooks)
atlas setup omp --apply # one plugin for OMP: MCP server, hook, rule, subagent, skillsEach adds the atlas MCP server to the agent's config, makes the Atlas skills available to it, and registers hooks that hand the agent atlas dev --status at session start and stop it from launching the interactive TUI. It merges with your existing config (comments and other entries kept), is idempotent, and --uninstall removes only what it added. Restart the agent, then ask "why is api failing?" or "restart web and wait until it's ready".
Cursor and other MCP clients β manual entry in docs/mcp.md; details and troubleshooting β docs/agents.md.
| key | does |
|---|---|
0-9 / Tab |
jump between service tabs |
/ then n N |
find in logs (Tab = filter mode, Ctrl+R = regex) |
v / V |
level filter (all β warn+ β error) / time range |
f / G |
follow on/off / jump to newest |
J W T |
JSON compact Β· wrap Β· timestamps |
]e [e |
next / previous error line |
: |
command palette (fuzzy, recents first) |
m |
service menu (restart / stop / start) |
z |
zoom logs (hide sidebar) |
M |
release the mouse so you can select text |
D |
attached to a runner: detach, services keep running |
? |
everything else |
Full list β docs/tui.md.
Honest table. β = built in Β· π‘ = partial / via something else Β· β = no. Based on each project's own docs, checked Oct 2026.
| Atlas | process-compose | mprocs / dekit | Overmind | Tilt | Turborepo TUI | |
|---|---|---|---|---|---|---|
| Single YAML for the whole stack | β | β | β | π‘ Procfile | π‘ Starlark | π‘ tasks |
| Docker compose infra in the same run | β | β | β | β | β | β |
| Dependency conditions (healthy / completed / log ready) | β | β | π‘ ready log | β | β | π‘ task graph |
| Restart policy + backoff | β | β | β | π‘ -r |
β | β |
Log find with highlight + n/N |
β | β | β | β | π‘ web | β |
| JSON log pretty-print | β | β | β | β | β | β |
| Per-tab activity + error badges | β | π‘ activity | β | β | β web | β |
| Full mouse support | β | π‘ | π‘ | β | β web | π‘ |
| Logs persisted to disk w/ rotation | β | β | β | β | β | π‘ --log-file |
| MCP server for AI agents | β | β | β | β | β | π‘ AGENTS.md |
| Config validation w/ "did you mean" | β | β | β | β | β | β |
| Mobile device picker (iOS/Android) | β | β | β | β | β | β |
| Managed SSH tunnel | β | β | β | β | β | β |
| Actions with confirm + pause services | β | β | β | β | π‘ buttons | β |
| Detach + reattach later | β
--detach |
β | β dekit | β tmux | β | β |
| Native desktop app | β macOS, Linux, Windows | β | β | β | β | β |
| File-watch restart | β | β | β | β | β | β
watch |
| Replica scaling | β | β | β | β | β | β |
| Windows | β | β | β | β | β | β |
no cap: process-compose is the closest all-rounder and still wins on replicas. Tilt owns the k8s world. Atlas goes deepest on a bun/TS monorepo with Docker infra, mobile targets and AI agents in the loop, and is growing from there.
Also published at atlas.codeatlas.com.br/docs.
| π Getting started | install, first atlas.yaml, first run |
| π¦ Installation | release, update, build from source, uninstall |
| π§© Concepts | projects, spaces, worktrees, services, actions, runner, hostd |
| βοΈ Configuration | every field, atlas.local.yaml, validation, JSON Schema |
| π₯οΈ TUI | layout, keys, mouse, log viewer, sessions |
| πͺ Desktop | worktrees, agents, review, browser, SSH hosts, keys |
| β‘ GPU terminal | renderer, images, shell integration, performance |
| π Logs | collection, storage, search, bursts |
| π§° CLI | commands, flags, exit codes |
| π€ Agent setup | atlas setup omp|claude-code|codex: MCP + skills + hooks |
| π MCP | tool reference + manual client setup |
| 𧬠Runtime | startup order, restarts, shutdown, cleanup, .logs/ |
| π’ Deploy | atomic, health-gated releases with rollback |
| π©Ί Troubleshooting Β· FAQ | when something is off |
| ποΈ Architecture | crates, processes, sockets |
scripts/setup.sh # rustup, bun, frontend deps, cargo-tauri, cargo-deny
cargo build -p atlas-cli # the real binary (atlas-tui alone is just a lib)
bun run check # fmt + clippy -D warnings + tests + deny + skills + desktop + mobile β same as CI
atlas link # point your installed atlas at the debug build
bun run desktop:dev # Atlas Desktop with hot reloadcrates/
atlas-core/ shared types, paths, GitHub release client, crash reports
atlas-tui/ TUI, runtime, config, MCP server
atlas-host/ hostd: terminals (PTY/pipe), exec, fs for Atlas Desktop
atlas-skills/ bundled agent skills + installer
atlas-term/ GPU terminal: VT, wgpu/Metal renderer, fonts, images
atlas-desktop/ Atlas Desktop (Tauri 2)
atlas-cli/ the `atlas` binary
apps/desktop/ Atlas Desktop UI (SvelteKit + @codeatlasdev/ui)
apps/mobile/ Atlas Mobile (Flutter, iOS and Android)
site/ the website (Astro + Svelte); renders docs/ as the docs section
docs/ skills/ scripts/
Rust 1.99 (pinned in rust-toolchain.toml). CI runs on GitHub Actions for pull requests and main; releases are built by GitHub Actions from version tags.
- Contributing: read CONTRIBUTING.md before opening a pull request. Be kind: Code of Conduct.
- Security: report vulnerabilities privately via SECURITY.md, not in public issues.
- Releases: maintainers, see docs/release.md.
- License: MIT or Apache-2.0, at your option. Third-party notices β THIRD_PARTY_NOTICES.md.
made with too much coffee by CodeAtlas Β· MIT or Apache-2.0
![atlas dev: services boot in order, ]e error jumps, focusable URL and path:line links, find with a hit counter, compact JSON logs, level and time-range filters, and a confirm action that pauses a service](https://atlas.codeatlas.com.br/media/demo.gif)