shipyard README

The project's README from github.com/cosscom/shipyard. As one markdown file: README.md.

Berth

https://www.berthd.app/ Run coding agents on your dev boxes, and work with them as if they were on your laptop.

Berth 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.

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.
kits/ Pointers to kits kept in their own repositories, such as the Cal.com kit.

Getting started

On each box, as the user your agents will run as:

curl -fsSL https://berthd.app/install | sh

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 Berth (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.

For berth in a terminal, Settings → General → Command line → Install links ~/.local/bin/berth to the app's copy (it asks first). On a Linux laptop, or for the CLI alone, download it from the release (use linux-arm64, darwin-arm64 or darwin-amd64 to match):

mkdir -p ~/.local/bin
curl -fsSL https://github.com/cosscom/shipyard/releases/latest/download/berth-linux-amd64.tar.gz | tar -xz -C ~/.local/bin

Paste the box's link into the app (Add a box), or:

berth pair 'berth://100.101.102.103:7444?code=…&fp=…'

Instead of the install line, berth add ssh can install and pair a box over SSH in one step. Then add a project and start an agent, in the app or here:

berth add ssh me@my-box                    # or: install on the box over SSH, and pair
berth location add my-box/app ~/work/app
berth task new my-box/app/fix-login --agent claude --prompt "Fix the login redirect"

berth help lists every command; every listing takes --json.

Build from source

With Go 1.27, Node 22, pnpm and Rust. make all builds berth and berthd into bin/; the app runs the clone's bin/berth for the laptop agent:

git clone https://github.com/cosscom/shipyard
cd berthd && make all
cd app && pnpm install && pnpm tauri dev

make app-build builds Berth.app and its disk image, with the CLI and the Linux daemons inside.

Docs

The documentation is at docs.berthd.app. Its pages are the docs/ folder here, built by docs-site/:

Development

make test               # go vet + go test -race
pnpm -C app build       # typecheck and build the app
pnpm -C docs-site dev   # the docs site, on http://localhost:3333

Licence

MIT.

shipyard (cosscom/shipyard)

Searching Database…

Что это?Berth позволяет запускать кодинг-агентов вроде Claude Code и Codex на удалённых dev-машинах — VPS, облачной ВМ или десктопе под столом — и управлять ими с ноутбука, как будто они локальные, с worktree, терминалами, dev-серверами и автоматизациями для каждого репозитория.
Berth — это CLI-инструмент или десктопное приложение?И то и другое: berthd — демон, работающий на каждой машине, berth — CLI и фоновый агент на ноутбуке, а сверху есть десктопное приложение на Tauri/React, в которое упакованы бинарники CLI и Linux-демона.
Как это запустить?На каждой машине запустите установочный скрипт от пользователя, под которым будут работать ваши агенты; он скачивает berthd, проверяет контрольные суммы, устанавливает без root, запускает как пользовательский сервис systemd (launchd на macOS) и печатает одноразовую ссылку сопряжения. Затем установите приложение Berth для Mac или Linux CLI и вставьте эту ссылку — или выполните 'berth add ssh', чтобы сопрячь машину по SSH за один шаг.
Есть ли подводные камни установки, о которых стоит знать?Ссылка сопряжения одноразовая и истекает через десять минут, поэтому машину нужно добавить сразу после установки berthd; хуки интеграции Claude Code/Codex/Cursor можно пропустить с помощью --no-integrations, если они не нужны.
На каких платформах работает Berth?Десктопное приложение поставляется как универсальный macOS dmg для Apple Silicon и Intel, а CLI/berthd также работают на Linux (релизные сборки linux-arm64, darwin-arm64, darwin-amd64), используя systemd на Linux и launchd на macOS.
Как Berth защищает соединение между ноутбуком и моими машинами?Соединения используют mutual TLS с закреплением ключей и одноразовую ссылку сопряжения для добавления машины, плюс есть возможность добираться до машин через вашу собственную сеть Tailscale.
Каких кодинг-агентов поддерживает Berth?Berth построен вокруг Claude Code и Codex, с хуками, которые позволяют также Cursor сообщать своё состояние, и оркестрацией (промпт, ожидание, проверка, цикл, передача), работающей с любым из них.
Что будет с моими агентами, если я закрою ноутбук или потеряю Wi-Fi?Ничего — агенты работают на самой машине, а не на ноутбуке, поэтому закрытие приложения, сон ноутбука или потеря Wi-Fi их никогда не останавливают; приложение — лишь окно просмотра, которое можно закрыть и позже открыть снова.
Что такое «kit» в Berth?Kit — это распространяемый набор настройки проекта — порты, окружение, сервисы, хуки и потоки, — который можно применить к worktree; киты живут в собственных репозиториях, как упомянутый в документации кит Cal.com.
Что такое Automations в Berth?Потоки в духе Zapier, которые выполняются на самой машине и запускаются событиями, расписанием или активностью GitHub, плюс обычные shell-хуки и врата «before:» для настройки проекта.
What are similar projects?1code, swarm-forge, emdash, ClawTeam, buzz, fractal, overstory, vicoa
Creator
cosscom
Size
71.8 MB
Stars
314
Age
14d
Commits · 90 Days