Open Source

Your AI‑powered
dev workspace.

A native macOS app built on Ghostty's GPU-rendered terminal. Manages git worktrees, coding agent sessions, and dev servers from a single window. Each workstream gets its own branch, terminal, and AI agent — all running in parallel, all at native speed.

Download View source
Projects
▾   my-project
↳   new-feature
↳   fix-bug
Coding AgentTerminalBrowser

~/my-project   git status

On branch dy/new-feature

Working tree clean

❯ _

Features

Everything in one window.

No more juggling terminals, browsers, and git clients. Each workstream is a self-contained development environment.

☇

Git Worktrees

Each workstream gets its own branch and worktree. Switch between tasks without stashing, with .env files automatically symlinked.

◈

Claude Code, Antigravity, & Codex

Run Claude Code, Antigravity CLI, or Codex with resume support across app restarts and YOLO mode toggles.

▦

Tmux Persistence

Agent sessions survive app restarts via tmux on a dedicated socket. No more lost context or interrupted workflows.

⚙

Setup & Run Scripts

Configure setup, run, and teardown scripts per project via .dockyard.json with automated port detection.

☍

Embedded Browser & Split Views

Preview your web app side-by-side with automatic port detection (:3000, :5001, etc.) without leaving your workspace.

✦

GitHub Issues & Live CI Checks

Create workstreams from GitHub issues, inspect live CI check popovers with CodeRabbit AI reviews, and manage PRs directly.

How it works

Three steps to parallel development.

Go from repo to running workstream in seconds. Each workstream is isolated and self-contained.

1

Add a project

Drop a directory on the sidebar, or create a new one. Dockyard detects git repos, installed tools, and GitHub connections automatically.

2

Create a workstream

A new git worktree with a fresh branch, your selected coding CLI, a terminal, and a browser tab. Port detection is automatic — the browser opens your dev server as soon as it starts listening.

3

Code with AI

The coding agent gets to work immediately. Setup scripts install dependencies. Switch between workstreams without losing state.

Configuration

Drop-in script config.

Automate your workstream lifecycle with setup, run, and teardown scripts. Install dependencies when a worktree is created, start dev servers on demand, and clean up resources when archiving. Add a .dockyard.json to your project root.

.dockyard.json project root
{
  "setup": "npm install",
  "run": "PORT=$DY_PORT npm run dev",
  "teardown": "docker-compose down"
}
Hook When it runs
setupOnce, when a workstream is created. Use for installing dependencies or build steps.
runOn demand via the Environment tab. Wrapped in dy-run for automatic port detection.
teardownWhen a workstream is archived. Use for cleanup like stopping containers.

All fields are optional. Scripts run in the workstream directory using your login shell.

Environment

Variables available in every terminal.

Every workstream terminal, setup script, and run command has access to these environment variables. Use them in your scripts and dev server configs.

Variable Description
DY_PROJECTProject name
DY_WORKSTREAMWorkstream name
DY_PROJECT_DIRMain repository path
DY_WORKTREE_DIRWorktree path for this workstream
DY_PORTDeterministic port for this workstream
Keyboard-first

Navigate without the mouse.

Context-sensitive shortcuts that adapt to whether you're in a project view or a workstream.

Global

New workstream or project⌘N
Settings⌘,
Toggle sidebar⌘⌥S
External terminal⌘⌥T

Workstream

Switch tab⌘1-9
Cycle tabs⌘⇧[ ]
New Terminal⌘T
New Browser⌘B
Start or rerun dev server⌘⇧↵
Archive workstream⌘⇧W
New Editor⌘O
External browser⌘⌥B

Navigation

Cycle workstreams (current project)⌘[ ]
Cycle workstreams (globally)⌃⇥
Cycle projects⌘↑ ↓
Back to project⌘0
Open Source

Free and open source.

Dockyard is MIT-licensed and free to use. The source code is available on GitHub. Contributions, bug reports, and feature requests are welcome.