Projects and Git
A project connects chats to the files they may work with. Git support gives each task a visible change set and, when needed, an isolated workspace.
Add a project
Choose Add project and select a local folder. Prefer the repository root for code projects. Before starting work, confirm:
- Git recognizes the repository and current branch;
- the working tree's existing changes are understood;
- build and test dependencies are available;
- secrets and generated files are covered by the project's ignore rules.
Maestrly works against selected local files. Repositories and worktrees stay at their existing paths; selected context can be sent to providers or tools for operations you authorize.
Choose an execution mode
Current checkout uses the folder and branch already open on your machine. Choose it for supervised work where you want the agent and your editor to share the same files. Existing uncommitted changes are part of that environment, so scope the task carefully.
Isolated worktree creates a separate Git working tree and branch for the chat. Choose it for parallel chats or work that should be reviewed before touching your current checkout.
Avoid assigning two automated chats to the same checkout. Worktrees isolate files, but shared external resources—databases, ports, credentials, or cloud environments—may still collide.
Work across repositories
If a task needs more than one repository, add only the repositories required for that outcome. State which repository owns each expected change and review each diff independently. Cross-repository work may need separate branches, tests, and delivery steps.
Review the result
Before delivery:
- inspect the changed and untracked files;
- compare the diff with the requested scope;
- run focused tests, formatting, type checks, or builds;
- check for secrets, accidental generated files, and unrelated edits;
- commit with a message that describes the verified outcome.
Do not merge or deploy only because the agent reports completion. Treat its summary as a result to verify.
Clean up safely
Merge, cherry-pick, or otherwise deliver the reviewed branch using your normal Git process. Remove a worktree only after confirming that all wanted changes are committed or preserved elsewhere. If a task is abandoned, inspect its uncommitted changes before discarding anything.
Next: Usage and costs.