cosscom / shipyard
git clone https://github.com/cosscom/shipyard.git
v0.3.28 · 1d ago
Run coding agents on your dev boxes: worktrees, terminals, orchestration, kits and automations, with a desktop app.
—
stars, 24h
—
stars, 7 days
+323
stars, 30 days · #817
323
★ total
37
forks · 10 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageTypeScript
LicenseMIT
Created2026-10-02 (18d ago)
Last pushtoday
Watchers0
OwnerOrganization
Links
- GitHub: github.com/cosscom/shipyard
- Homepage: https://coss.com/shipyard
- Releases · Issues · Hacker News mentions
README excerpt
# Shipyard https://www.berthd.app/ Run coding agents on your dev boxes, and work with them as if they were on your laptop. Shipyard connects a laptop to any number of development machines (a VPS, a cloud VM, a desktop under your desk) and gives each repository on them worktrees, terminals, agents, dev servers and automations. The agents run on the boxes, so closing the app, sleeping the laptop or losing Wi-Fi never stops them; the app is a view you can close and reopen at any time. - **Workspaces per worktree**: terminals (ghostty-web), splits, and browser tabs onto each worktree's dev server, at private URLs like `http://checkout.shop.devl.localhost:1377/`. - **Agents you can see and steer**: Claude Code, Codex and others, with a kanban of who needs you, a review inbox for finished work, and orchestration (prompt, wait, check, loop, hand off) from the app, the CLI, or other agents. - **Projects set up the same everywhere**: each worktree gets its own ports, environment, services, hooks and flows, from the repository's `.berth/config.json`, a shareable kit, or the box's own config. - **Automations**: Zapier-style flows on events, schedules or GitHub activity, running on the box; plus plain shell hooks and `before:` gates. - **Plugins**: React plugins for the app, with built-ins for git changes, pull requests, dev servers, box monitoring, activity and notes. - **Boxes without the fuss**: pinned mutual TLS, pairing by link, boxes on other tailnets, self-upgrade over Shipyard's own connection, and a phone companion served by each box. ## Pieces | | | | --- | --- | | `berthd` | The daemon on each box: worktrees, sessions (tmux), services, hooks, flows, kits. | | `berth` | The laptop CLI and background agent: connections, private URLs, the app's API. | | `app/` | The desktop app (Tauri, React, coss ui). | | `plugins/` | Built-in plugins, written against `packages/plugin-sdk`. | ## Getting started **On each box**, as the user your agents will run as: [code] It downloads `berthd` from the latest release, checks it against the release's checksums, installs it for that user (no root), starts it as a systemd user service (launchd on macOS), installs the hooks that let Claude Code, Codex and Cursor report their state (`--no-integrations` skips them), and prints a pairing link. The link works once, for ten minutes. Run it again to upgrade in place; `sh -s -- --help` lists the options. **On your Mac**, download Shipyard (`Berth-macos-universal.dmg`, for Apple silicon and Intel, signed and notarized), drag it to Applications and open it. The app carries the `berth` CLI and the Linux daemons `berth add ssh` uploads, and offers to start the laptop agent when it isn't running. It updates itself: new releases download in the background, and **Restart to update** in the status bar or Settings → About applies one; it never restarts on its own, and restarting never stops an agent. Or, with Homebrew (it links `berth` into Homebrew's `bin` too): [code] F