Skip to content

Install

Run this on a machine with Git and Bun:

Terminal window
curl -fsSL https://maestro.maccredyreina.me/install.sh | sh

The script clones the main branch into ~/.maestro/source, runs the installer from that checkout, and leaves the source record that future updates follow.

Set MAESTRO_SOURCE_DIR to replace the default source checkout and MAESTRO_REF to replace the default main branch. The installer refuses an existing source directory that is not a Git checkout.

From a Maestro checkout, run:

Terminal window
bun bin/maestro.ts install

Installation copies the runtime into ~/.maestro/runtime, writes the shim at ~/.local/bin/maestro, records the source in ~/.maestro/source.json, wires the current repository, and scaffolds the Supervisor room at ~/maestro.

Read the installed version and run the read-only diagnostic:

Terminal window
maestro version
maestro doctor

maestro doctor checks the shim, runtime stamp, recorded source, repository wiring, permissions, and store access. It exits zero when the report is healthy and names the repair command when the fix is mechanical.

Terminal window
maestro update

Update fast-forwards the recorded source checkout and resynchronizes the runtime. It refuses a dirty, diverged, missing, detached, or unreachable source without partially updating the runtime.

Terminal window
maestro uninstall

Uninstall removes Maestro-managed hooks, settings keys, and mirror blocks from the current repository. It does not delete repository data, the machine runtime, the shim, or the Supervisor room.

Supervisor, Lead, and Peer coordination requires Herdr for the room and lane panes. Install Herdr separately:

Terminal window
curl -fsSL https://herdr.dev/install.sh | sh

Maestro remains the durable record. Herdr owns pane creation, agent lifecycle, prompting, wake-up, and pane closure.