marina

next · vite · cargo · rails · uvicorndockerstarted by agents

Every dev server, and who started it.

marina shows what's listening on your machine, named after its project, with the agent session, editor or terminal that started it. Kill, restart and tail logs from one pane.

brew install danfry1/tap/marina
marina demo

macOS and Linux. marina demo runs on a made-up machine and touches nothing real.

Click the terminal and type, or tap the keys.

Every port, and who's berthed there.

Coding agents start dev servers and don't always stop them. marina names the session behind each one, flags what a finished session left behind, shows what's eating your CPU, and cleans up with one command.


      

Ten agents, no port fights.

marina port gives each project and worktree its own stable port, so parallel agents stop colliding on :3000.

An agent can ask marina about its own servers with --mine, and stop exactly those when it's done. --json on ls, kill, url, who, free, port and agents keeps scripts and agents on a stable contract.

Agents only use it when they're told to. Paste this into CLAUDE.md or AGENTS.md:

## Dev servers
- Run servers on `$(marina port)`, not a fixed port.
  One per service: `marina port <name>`.
- Your server's URL: `marina url --mine`.
- When done, stop yours: `marina kill --mine`.
- Another agent in this worktree? Name your port
  (`marina port <task>`) and kill by port.

Enter on a session jumps to it in herdr, tmux, iTerm2, WezTerm, Ghostty or Terminal.

claude · checkout (worktree saved-cards)agent shell
$ pnpm dev --port $(marina port)
  ➜  Local:   http://localhost:3142/

$ marina url --mine
checkout  http://localhost:3142

$ marina kill --mine
stopping checkout · next dev :3142
stopped 1 server

And the small things.

Logs, inline

t tails a server's log file when it writes one. R restarts it with its output captured, so t always works after that.

LAN warnings

A server bound to 0.0.0.0 shows :3000!, so you know it's reachable from the network.

Crash notices

If a long-running server dies without you killing it, marina says so.

Docker too

Published container ports show up as rows, and a [[group]] rule files one with its app. X, R and t use the docker CLI.

Try it in a minute.

brew install danfry1/tap/marina
marina demo # a made-up machine
marina      # then yours

macOS and Linux. No telemetry, no accounts, no network calls: nothing leaves your machine.