Canopydocs v0.4.7

Run every branch at once

Canopy checks each branch out as its own worktree, gives it its own database and its own ports, and runs it. Three branches, three apps, all up at the same time. No stashing, no reinstalling, no port arithmetic.

macOS on Apple Silicon. Linux and Windows builds exist but haven't been tested on a desktop.

Two branches serving on different ports, with one merged log stream underneath.Two branches serving on different ports, with one merged log stream underneath.
Two branches serving on different ports, with one merged log stream underneath.

What Canopy does#

Getting started#

One command:

brew install --cask emidhun/canopy/canopy   # or grab the DMG

Open Canopy from the menu bar, point it at a repository, and it reads your package.json to work out what to run. Then ⌘N for a branch, to start it.

Where to go next#

New to Canopy? What Canopy is explains the idea in about a minute, then Install on macOS gets it running.

Setting it up for a repository? .worktreemanager.json is the file that makes setup travel with the branch, and Template variables lists everything you can reference in it. There are worked configs for a Node + Postgres app, the ToolJet monorepo, and Rails, Django, Go and Rust.

Using it day to day? The main window covers every region, The next action explains the one button that's usually right, and Keyboard shortcuts is the whole map.

Something not working? Troubleshooting is symptom, cause, fix.

Working on Canopy itself? Building from source and Building a release.

Scope of this documentation#

This documentation was written from the app's source, for version 0.4.7. Some screens exist with no backend behind them yet. Those are marked coming soon here, exactly as the app marks them, and Limitations lists every one with its issue number. Nothing on these pages describes something the build can't do.