Skip to main content
Maestro supports native integration with GitHub to create, clone and update repositories. These tools can be accessed agentically by Maestro, or by your use of / commands.
You must authenticate with GitHub to manage your private repositories. Link using the menu in the top right of the interface.

Create Repository

You can either ask Maestro create a repository, or use the /create command. You can request or enter any of the following:
  • Repository Name: Unique identifier
  • Description: Optional description
  • Visibility: Public or private (defaults to private)
  • Templates: GitIgnore and license templates
  • Organization: Create under personal account or organization
  • Auto-Clone: Automatically clone after creation (enabled by default)
With autoclone, the tool automatically creates the repository and clones it to your session workspace in one seamless operation.

Clone Repository

The simplest way to clone is just to ask for it! Provided you have authenticated, Maestro will be able to clone any branch from any of your repositories from a request. You can also provide GitHub Pull Request URLs directly - Maestro will automatically resolve the PR to its source branch.
  • Step 1: Private or Public?
  • Step 2: Repository Selection
  • Step 3: Branch Selection
  • Step 4: Clone Completion
Clone Repository Step 1Choose the repository you want to clone from your authenticated GitHub account. You can select from your private repositories or enter a custom URL.
Maestro has it’s own internal file system to which you can clone repositories. Files from this repository will immediately be available to Maestro within all tools, and synced into the sandbox. Records of clones are provided to the agent, and are unaffected by clearing out memories, so Maestro should never forget which branch you are working on.
There is a maximum repository cap of ~1GB. We aim to support larger repositories in the future, but currently these clones will be blocked.

Overwrite Clones

You can clone the same repository multiple times inside a session to pull in remote changes. We will determine which files have changed, and create new iterations of these files, or add any new ones. Maestro will be informed of all changed files. You can ask to "catchup", and Maestro will use the Compute Diffs tool to review what has been modified. You can also use this ability at the start of a session, to immediately familiarise Maestro with the changes on your branch.

Example Catchup Prompt

I need you to familarise yourself with my current branch, and what I have been working on in this PR. First, clone my_org/my_repository, branch “main”. In a separate clone, then clone the repository again, from branch “my_branch”. After both clones have completed, compute diffs for the repository, and view the most recent iterations of the most important files that changed. Give me a comprehensive breakdown of what has been accomplished in this branch, explaining all significant changes.
Overwite clones will currently take remote changes as the new ground truth. We do not yet support automated conflict detection and resolution.
We recommend ensuring all uncommitted changes in your session are pushed to remote before pulling again. Maestro can help to fix any conflict issues you might encounter by acting as an intelligent conflict handling system, by reviewing all changes and then making edits to splice any lost work into the new iterations.

Pull Requests

Maestro has an internal workspace separate to git. You can work for as long as you need inside Maestro, and all changes will be stored within the system. Changes will only be committed to a remote repository upon invocation of the Pull Request tool.
We recommend asking Maestro to create and update pull requests directly. You can also invoke PRs manually with /pr, but this requires you to manually input and write descriptions.
Create New Branch: Creates a fresh branch from the base branch.
  • Clean starting point for new features
  • No conflicts with existing work
Update Existing Branch: Full synchronization with existing feature branch
  • Updates existing PR with new changes
  • Maintains PR discussion history
Updating a PR is a full sync between your Maestro environment and the feature branch, i.e, deselecting files in during the configuration will revert these files to their base branch state on your remote.