Orchard

Orchard for Mac

Push to the branch. It’s on every device.

Orchard is a Mac app that watches a git branch. When it moves, Orchard builds your app and installs it on the Macs, iPhones, iPads, Apple TVs, Vision Pros and simulators you choose.

main Watching
  1. 3be90d1Tighten onboarding copy
  2. e1c47a8Add widget timeline
  • MacBook ProThis Mac
  • iPhone 17 ProiOS 27.0
  • iPad ProiPadOS 27.0
  • Apple Vision ProvisionOS 27.0
  • iPhone 17 simulatorBooted

How it works.

  1. Point it at a repo

    Choose a local clone, then pick the branch, project or workspace, scheme, configuration and the devices to install on.

  2. It watches the branch

    Orchard checks the branch head with git ls-remote on every poll. Nothing builds until there’s a new commit.

  3. It builds once per platform

    One xcodebuild per platform with automatic signing, so all your iPhones and iPads share a single build.

  4. It installs and launches

    devicectl for devices, simctl for simulators, a relaunch for this Mac. Pick up any device and the latest build is already open.

Example

Test what your agents ship.

At Ambi, coding agents pick up tickets from our own ticket system, implement and test them, then push to our branch. Orchard watches that branch, so our devices always run the latest work and we write feedback as soon as we try something.

To set it up, make a pipeline for the branch your agents push to and turn on the devices you carry. If several commits land between polls, Orchard builds the newest one.

  1. You file a ticket

    “The toggle labels in Settings clip at the largest text size.”

  2. An agent picks it up

    It reproduces the bug, fixes the layout and runs the tests.

  3. The agent pushes to main

    4e1b0a7 Fix clipped toggle labels at large text sizes

  4. Orchard installs it

    Your iPhone, iPad and Vision Pro have the new build, already open.

  5. You write feedback

    “Fixed. The footer under the toggles wraps too.” That’s the next ticket, and the loop starts again.

Stays out of your way.

Your checkout is never touched
Each pipeline builds in its own private git worktree. Orchard only runs git fetch in your clone.
Broken commits aren’t retried forever
A commit that fails waits for the next push, or for you to press Build & Deploy Now.
Lives in the menu bar
Close the window and Orchard keeps watching.
Every run is logged
Full build and deploy logs for each pipeline are in ~/Library/Logs/Orchard.

Install.

Build Orchard from source. The script puts Orchard.app in ~/Applications.

git clone https://github.com/ambiapps/orchard.git
cd orchard
./scripts/build-app.sh --install

You’ll need