v0.0.1 Processes · VMs · Containers · Native MCP Pier

Dev runtime.
Agent-ready.

Processes, Lima VMs, and Docker-compatible containers in one window, all driveable from MCP. A launchd helper keeps them running through app quits, daemon restarts, and crashed agent windows.

  • $99 one-time
  • $49/yr renewal (optional)
  • Native app, no Electron
  • Native MCP server
  • Apple Silicon · macOS 14+

01 Glance

Three runtimes, one window.

Click Processes, VMs, or Containers to switch tabs. Each one is live: pick a row, watch its state, hit Start or Stop. Processes stream their logs. VMs show the full Lima config. Containers show the image, compose group, and live output.

lighthouse/web
Live
[INFO] vite v8.0.7 dev server running at:
[INFO] ➜ Local: http://localhost:5173/
[INFO] ➜ Network: use --host to expose
[DIM] page reload .svelte-kit/generated/server/internal.js
[DIM] hmr update /src/routes/+page.svelte

02 Install

One DMG. One drag.

brew tap rasterandstate/tap
brew install --cask pier

Installs Pier.app and the pier CLI in one step. The helper daemon installs as a LaunchAgent on first run, so supervised processes survive logout, app updates, and daemon restarts.

Direct download: Pier-0.0.1.dmg (Developer ID signed, notarized, Sparkle-updated).

03 CLI & MCP

For humans and for agents.

Three surfaces on one runtime: a native app, a real CLI, and a first-party MCP server (pier-mcp). Claude Code, Cursor, and any MCP-compatible agent drive your processes, Lima VMs, and containers through the same protocol. No leaked PIDs. No juggling docker and limactl. No backgrounded tasks fighting your shell. Every agent action lands in the activity log, attributed to the client that made it.

# list projects and processes
pier ls

# start a process from your project's Procfile or package.json
pier start web

# tail logs with ANSI colors and search
pier logs web --follow

# import a project from the current directory
pier import .
# list every Lima instance Pier knows about
pier vm list

# start, stop, restart by name
pier vm start ubuntu
pier vm stop ubuntu

# drop into a shell (uses Terminal.app via AppleScript)
pier vm shell ubuntu
# list containers across whichever runtime is running
# (Docker Desktop, Colima, Podman, Rancher Desktop, OrbStack)
pier container list

# start, stop, restart, remove
pier container start nginx-test
pier container stop nginx-test
pier container rm nginx-test --force

# image / network / volume / engine sub-commands round out the surface
pier image list
pier engine info

The same verbs run over MCP on a local Unix socket: start_process, vm_start, container_start, and about 30 more. Read tools are free under read-only consent. Mutating tools stay gated until you opt in.

04 Inside

How it works

A small daemon, a native app, and an MCP surface that stays up through app quits, daemon restarts, and reboots.

  • Persistent supervision.

    A LaunchAgent-managed helper (pierhelperd) holds each process via a per-process supervisor. Quit Pier, kill the daemon, your processes keep running. Logout and reboot survival is per-process opt-in. PTY-backed spawn, kqueue exit detection.

  • Live log tail.

    Per-process logs with rotation, ANSI colour, and in-pane find. Tail follows a process across restart. Cursor-based _since APIs for agents that miss a window.

  • Native MCP.

    A first-party MCP server exposes list_processes, start_process, watch_logs, get_process_metrics, and more. Your agent operates your dev environment directly, and every call lands in the activity log.

  • Worktree-aware.

    Pier detects sibling git worktrees, offers to inherit the parent's process definitions with auto-bumped ports, and labels each worktree by branch. Parallel agents on parallel branches stop colliding on port 3000.

  • Lima VMs as a tab.

    List, start, stop, and shell into Lima instances without leaving Pier. Snapshots, logs, port forwards, and the full instance config render in a per-VM pane. vm_* MCP tools expose the same surface to agents. pier vm <verb> mirrors it on the CLI.

  • Docker-compatible containers.

    One Docker Engine API client, auto-discovered across Docker Desktop, Colima, Podman, Rancher Desktop, and OrbStack. Panes for Containers, Images, Networks, and Volumes, with compose grouping, action buttons, and live log tail. Twelve container_* MCP tools let your agent debug a container without you touching the Docker Desktop dock icon.

Pier doesn't replace your shell, your editor, or your agent. It's the small native layer that keeps everything else running while you and your agents get on with the work.

  • Apple Siliconarm64 native, M-series
  • macOS 14+Sonoma, Sequoia, Tahoe
  • Signed & notarizedDeveloper ID, Sparkle EdDSA appcast

05 Privacy

Local by default.

Pier supervises your processes on your Mac and exposes them over a local Unix socket. Project state lives at ~/Library/Application Support/com.rasterandstate.pier/. Telemetry is opt-in. When you turn it on, anonymous build and usage events go to a self-hosted GlitchTip and Plausible stack we run. The network code is visible in the app and disabled by default. License checks hit the Paragon server with offline grace. After the first verify, Pier doesn't need the network to keep working.

Stop babysitting four runtimes across four windows.

One window for your processes, VMs, and containers. One socket for your agents. $99 buys the current major version forever. The $49 yearly renewal extends updates and support for another year; skip it and your app keeps working.