Coasts logo

Coasts

Containerized Hosts

Localhost service isolation and orchestration for git worktrees.

Free, OSS, works with any harness, no AI upsells.

Backed By Y Combinator (F25)

// the problem

Worktrees isolate code, not runtimes.

Your agents work in parallel, but your machine doesn't. Every worktree still runs on the same local environment — causing potential migration conflicts, port collisions, and competition for shared resources. So you validate sequentially, spin up cloud resources, or buy another laptop — while the bulk of your hardware sits idle.

Coasts are the local-first, free and open source solution to spawning parallel runtimes for your agents. A coast is a full runtime — its own ports, its own network, its own services. Run each stack in full isolation, or choose which resources to share across your coasts. Coasts work with any agentic coding solution — all you need is git worktrees.

// how it works

Three steps to parallel development.

01

install

terminal
$ eval "$(curl -fsSL https://coasts.dev/install)"
$ coast daemon install
✓ coast ready
02

define your environment

Coastfile
# Coastfile — point to your existing compose

[coast]
name = "my-project"
compose = "./docker-compose.yml"

[ports]
web = 3000
db = 5432
api = 8080

For your agent

Let your agent configure the Coastfile for you

Copy a ready-made prompt you can paste into Cursor, Claude Code, or another agent. Run it in a chat opened in your project's directory.

03

orchestrate

build once, run two coasts
$ coast build
$ coast run dev-1
$ coast run dev-2
$ coast ls
# NAME PROJECT STATUS BRANCH RUNTIME WORKTREE CO ROOT # dev-1 my-project running main dind - - ~/dev/my-project # dev-2 my-project running main dind - - ~/dev/my-project
✓ runtimes ready
assign each to its own worktree
$ coast assign dev-1 --worktree feature/auth
web → hot swapped
db → unchanged
api → restarted
$ coast assign dev-2 --worktree fix/rate-limits
web → hot swapped
db → unchanged
api → restarted
$ coast ls
# NAME PROJECT STATUS BRANCH RUNTIME WORKTREE CO ROOT # dev-1 my-project running feature/auth dind feature/auth - ~/dev/my-project # dev-2 my-project running fix/rate-limits dind fix/rate-limits - ~/dev/my-project
exec inside each coast, use ports for routing
$ coast exec dev-1 -- npm run test
/workspace $ npm run test
PASS all tests
$ coast exec dev-2 -- go test ./...
/workspace $ go test ./...
ok ./... 0.91s
$ coast ports dev-1
# SERVICE CANONICAL DYNAMIC # ★ web 3000 62217 # db 5432 55681 # api 8080 61422
$ coast ports dev-2
# SERVICE CANONICAL DYNAMIC # ★ web 3000 62311 # db 5432 58294 # api 8080 62533

For your agent

Teach your agent the Coasts workflow

Give it the context and conventions it needs to manage Coasts without extra back-and-forth. Run it in a chat opened in your project's directory.

// see it in action

From zero to parallel in minutes.

Watch how Coasts isolates full dev stacks so multiple agents can build, test, and iterate at the same time — without stepping on each other.

// works with everything

Your infrastructure, their favorite tools.

Coasts operates at the runtime level, not the harness or agent level. Claude Code, Cursor, Codex, Conductor, or whatever ships next month: if it uses worktrees, it works with Coasts. Let your team use whatever AI coding tools they like. Don't get locked-in to a harness by building your dev infra around it.

Claude Code logo
Cursor logo
Codex logo
Conductor logo

// contribute

Free, local, open source, MIT licensed.

Built in the open and free to use. Check out the code, open an issue, or submit a pull request.