Skip to content

Git and GitHub

Maestro uses Git worktrees to keep task changes separate from the project checkout. A prepared task gets a deterministic branch name like maestro/task-42-add-monthly-summary and a worktree under the configured execution root.

After a Goal passes its delivery gates, Maestro commits the worktree, pushes the task branch and opens a draft pull request. The PR URL is persisted on the Goal and shown in the review queue.

The gh CLI is used for GitHub review operations. The local runtime must have GitHub authentication available when it needs to inspect, mark ready, return to draft, close or merge a PR.

Approve in Maestro to mark the draft PR ready with gh pr ready. This does not merge the PR. Merge it in GitHub after reviewing the evidence, or reconcile the merge later while Maestro is running.

Feature Plans use a separate integration path. Work PRs remain draft evidence; only the consolidated Feature PR is a merge candidate after its checks, mergeability and final review pass. Do not merge a work PR individually if it belongs to a Feature Plan.

Maestro refuses to prepare a dirty base checkout, validates remote URLs, keeps task writes in the worktree and scans changed files for secrets before review. It never commits .env.local, database files or provider credentials as part of normal delivery.