Overview
Maestro provides first-class GitHub integration for:- Creating repositories
- Cloning repositories and pull requests
- Creating and updating pull requests
- Managing branches and commits
- Collaborating with teams
- Natural language requests to Maestro
- Explicit commands (
/clone,/create,/pr) - Both trigger the same underlying workflows
Create Repository
Via Natural Language
Via Command
Configuration Options
Required:- Repository name
- Description
- Visibility (public or private, defaults to private)
- GitIgnore template (Python, Node, Go, etc.)
- License template (MIT, Apache-2.0, GPL, etc.)
- Organization (personal account or organization)
- Auto-clone (enabled by default)
Auto-Clone Advantage
With auto-clone enabled (default):- Repository created on GitHub
- Immediately cloned to your session
- Ready to start working
- Files synced to sandbox
Smart Initial Content Handling
If files exist in session matching repository name:Clone Repository
Clone Your Repositories
Via natural language:/clone, you’ll be guided through selecting:
- Privacy: Private (from your authenticated account) or Public (any accessible repository)
- Repository: Choose from your account or enter a public URL
- Branch/Commit: Select from recent branches, enter a specific commit hash, or use the default branch
Clone Pull Requests
Direct PR URL cloning:- Fetches PR metadata
- Determines source branch
- Handles forked PRs
- Clones appropriate branch
- Shows PR context (number, state, branch)
- Review someone’s PR
- Test PR changes
- Collaborate on feature branch
- Understand proposed changes
Repository Size Limits
Current limit: 10 GB per repository (configurable) For larger repositories:- Clone specific subdirectories if possible
- Contact support for assistance with very large repositories
- Consider multi-session approach for modular development
Clone Records
Important behavior:- Repository URL
- Branch or commit
- Clone timestamp
- Whether cloned from PR
Overwrite Clones: Pulling Remote Changes
Purpose
Pull changes from remote repository into your session. When to use:- Teammate pushed commits
- Pull latest from main/develop
- Sync your PR branch with base
- Update dependencies or configuration
How It Works
Clone same repository again:Catchup Pattern
After overwrite clone, understand what changed: Example catchup workflow:- Compare both clones
- Show diffs for all changed files
- Explain what changed and why
- Help you understand the current state
Conflict Handling
Current behavior: Overwrites take remote changes as truth Important: Push uncommitted session changes before overwrite cloning to avoid conflicts. Conflict resolution (if needed):Pull Request Workflows
Understanding Maestro’s Workspace
Critical concept: Maestro’s workspace is separate from git.Creating New PR
Via natural language:PR Creation Flow
Step 1: Branch Configuration- Review repository URL
- Set base branch (target)
- Set feature branch name
- Confirm or modify
- Determine if creating new branch or updating existing
- Identify changed files from base
- Compute statistics (lines added/removed)
- Handle three-way merge if updating existing
- Interactive UI shows all modified/new files
- Select which files to include in PR
- Can deselect files you don’t want
- Shows cumulative vs incremental changes (for updates)
- Provide/edit PR title and description
- Review file selection and statistics
- See complete diff of changes
- Confirm or cancel
- Commits selected files
- Pushes to GitHub
- Opens pull request
- Adds you as reviewer (for OAuth limitation transparency)
Updating Existing PR
Full synchronization workflow:PR Best Practices
Before creating PR:- Clear, descriptive title
- Comprehensive description explaining changes
- All tests passing
- No TODO comments unresolved
- Documentation updated
- Clean commit history
Branch Strategies
Feature Branch per Session
Recommended pattern:Multiple PRs from Single Session
Possible but requires discipline:Long-Running Feature Branches
Pattern:Collaboration Workflows
Reviewing Team Member’s PR
Working on Forked Repositories
Fork-based development:Team Coordination Patterns
Sequential collaboration:Advanced Workflows
Multi-Repository Projects
Working across repositories:Release Preparation
Hotfix Workflow
Troubleshooting
Clone Failed
Error: Repository too large Solution: Current limit is 10 GB. For larger repos, consider:- Cloning specific subdirectories
- Multi-session approach
- Contact support for special cases
PR Creation Failed
Error: No changes detected Cause: Files not modified or not selected Solution: Make changes, ensure Apply Changes ran, select files in PR flow. Error: Branch already exists Cause: Feature branch name conflicts with existing branch Solution: Choose different branch name or update existing PR.PR Update Not Showing Changes
Check:- Did you apply changes before creating PR?
- Were files actually modified?
- Did you select the changed files in PR flow?
Best Practices
Repository Organization
Session file structure mirrors git:Commit Messages
Let Maestro generate:- Based on actual changes
- Follows conventional commit format
- Descriptive and accurate
PR Descriptions
Effective PR descriptions include:- What changed and why
- Testing approach
- Performance impact
- Breaking changes (if any)
- Dependencies or prerequisites
- Screenshots for UI changes
Incremental PRs
Small, focused PRs are easier to review:Integration with CI/CD
Pre-PR Validation
Ensure CI will pass:GitHub Actions Integration
Validate CI config before pushing:Advanced Patterns
Stacked PRs
Building features incrementally:Cross-Repository Features
Feature spans multiple repos:Emergency Patches
Critical production fix:Repository Management
Multiple Clones in Single Session
Use cases:Repository Metadata
Maestro tracks:- All cloned repositories
- Branch or commit for each
- Clone timestamps
- Whether from PR URL
GitHub API Integration
Reading Repository Data
Maestro can query GitHub for:- Issues and pull requests
- Workflow runs and status
- Repository metadata
- Branch information
Commenting on PRs
Limitations and Considerations
Authentication Required
For private repositories:- Must link GitHub account
- OAuth authentication
- Permissions respected (can only access what you can access)
- No authentication needed
- Clone any public repo
Current Limitations
- No automated conflict resolution** Manual guidance needed
Repository size cap: 10 GB configurable limit - No git rebase/squash** Linear history for now
- No submodule support yet** Planned enhancement
Workarounds
Conflicts:- Maestro can guide resolution by viewing both versions
- Manually merge via intelligent editing
- Use iteration history to track changes
- Clone subsets
- Contact support for special cases
Best Practices Summary
Repository Operations
- Clone early: Get code context before implementation
- Update regularly: Overwrite clone to stay current
- Track branches: Know which branch you’re on
- Document clones: Maestro tracks, but you should understand
Pull Request Creation
- Test first: All tests must pass before PR
- Clean up: Remove WIP code, debug statements
- Document changes: Clear descriptions
- Review yourself: Check diffs before submitting
- Small PRs: Easier to review and merge
Collaboration
- Communicate intent: PR descriptions explain why
- Link related work: Reference issues, other PRs
- Respond to feedback: Update PRs based on reviews
- Keep synced: Regular overwrite clones on active branches
Next Steps
With source control mastery:- Session Strategies: Patterns for different project types
- Advanced Features: Power user capabilities
- Integrations & Credentials: External service integration
- Troubleshooting: Common issues and solutions

