Documentation Index
Fetch the complete documentation index at: https://docs.igent.ai/llms.txt
Use this file to discover all available pages before exploring further.
Native GitHub integration for repository management and collaboration.
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
Access methods:
- Natural language requests to Maestro
- Explicit commands (
/clone, /create, /pr)
- Both trigger the same underlying workflows
Authentication: Link your GitHub account via top-right menu for private repository access.
Create Repository
Via Natural Language
"Create a new GitHub repository called my-awesome-project with MIT license and Python gitignore"
Maestro guides you through the configuration flow.
Via Command
Opens interactive repository creation flow.
Configuration Options
Required:
Optional:
- 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
Seamless workflow: Create → immediate development, no manual cloning.
Smart Initial Content Handling
If files exist in session matching repository name:
You have files in: my-project/src/main.py, my-project/tests/...
Create repository "my-project" →
- Creates empty remote repository
- Pushes your existing session files as initial commit
- Respects .gitignore patterns
- Uses custom commit message if provided
- Single operation: create + push
If no files exist:
Create repository →
- Creates repository with selected templates
- Clones template files to session
- Standard template-based initialization
Clone Repository
Clone Your Repositories
Via natural language:
"Clone my backend-api repository, develop branch"
Via command:
When you run /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
After cloning, files are immediately available to Maestro with all tools working, synced to the sandbox, and the clone record persists even after memory clearing.
Clone Pull Requests
Direct PR URL cloning:
"Clone https://github.com/org/repo/pull/123"
Maestro automatically:
- Fetches PR metadata
- Determines source branch
- Handles forked PRs
- Clones appropriate branch
- Shows PR context (number, state, branch)
Supported PR URL formats:
github.com/owner/repo/pull/123
github.com/owner/repo/pull/123/files
github.com/owner/repo/pull/123/commits
github.com/owner/repo/pull/123/checks
Use cases:
- 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:
Clone records persist even when you:
- Clear memories (/forget)
- Compact session (/compact)
- Hide files (/hidefiles)
Maestro never forgets which repository/branch you're working on.
Stored information:
- 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:
Repository already cloned: backend-api (branch: feature-123)
Clone again from branch feature-123:
- Detects changed files
- Creates new iterations for changed files
- Adds any new files
- Preserves your iteration history
- Informs Maestro of changes
Catchup Pattern
After overwrite clone, understand what changed:
Example catchup workflow:
I need to familiarize myself with recent changes to my PR.
Steps:
1. Clone my org/repo, branch main
2. Clone same repo again, branch my-feature-branch
3. Compute diffs between repositories
4. View the most important changed files
5. Give me comprehensive breakdown of what was accomplished
Focus on significant changes, not trivial updates.
Maestro will:
- 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):
After overwrite clone, local changes lost:
Maestro can recover by:
1. Viewing your previous iterations (still in history)
2. Reviewing remote changes
3. Intelligently merging lost work into new iterations
Request: "My changes from iteration 5 were lost. Restore that implementation while preserving the new remote changes."
Pull Request Workflows
Understanding Maestro’s Workspace
Critical concept: Maestro’s workspace is separate from git.
Work in session:
- Files exist in Maestro's internal storage
- Changes tracked via iterations
- Full history preserved
- Nothing pushed to git
Until you create/update PR:
- No branches created on remote
- No commits pushed
- Team doesn't see changes
Implication: Work as long as needed. Changes only go to GitHub when you explicitly create/update PR.
Creating New PR
Via natural language:
"Create a pull request for my authentication changes. Title: Add JWT auth. Base branch: main."
Via command:
PR Creation Flow
Step 1: Branch Configuration
- Review repository URL
- Set base branch (target)
- Set feature branch name
- Confirm or modify
Step 2: Git Analysis
- 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
Step 3: File Selection
- 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)
Step 4: Final Confirmation
- Provide/edit PR title and description
- Review file selection and statistics
- See complete diff of changes
- Confirm or cancel
Step 5: Push and Create
- Commits selected files
- Pushes to GitHub
- Opens pull request
- Adds you as reviewer (for OAuth limitation transparency)
Updating Existing PR
Full synchronization workflow:
Update PR for feature-123:
Maestro will:
1. Show currently included files
2. Let you add/remove files
3. Compute diff against current PR state
4. Push updates to feature branch
5. PR automatically updates on GitHub
Critical: Updating is a full sync.
Deselecting files during update:
Previously included: auth.py, config.py, tests.py
You deselect: config.py
Result:
- config.py reverts to base branch state on remote
- Only auth.py and tests.py remain in PR
- Effectively removes config.py from PR
Use case: Splitting features across multiple PRs.
PR Best Practices
Before creating PR:
1. Run full test suite
2. Verify all tests pass
3. Clean up WIP code and debug statements
4. Update documentation
5. Check code follows project conventions
6. Review all changes yourself
Then create PR.
PR quality checklist:
- Clear, descriptive title
- Comprehensive description explaining changes
- All tests passing
- No TODO comments unresolved
- Documentation updated
- Clean commit history
Collaborative PRs:
Working on same branch as teammate:
1. Overwrite clone to pull their changes
2. Review diffs to understand updates
3. Make your changes
4. Update PR to push your additions
Branch Strategies
Feature Branch per Session
Recommended pattern:
Session 1: Implement authentication
Branch: feature/auth-system
PR: Add JWT authentication
Session 2: Implement caching
Branch: feature/redis-cache
PR: Add Redis caching layer
Keeps PRs focused, reviewable, mergeable independently
Multiple PRs from Single Session
Possible but requires discipline:
Session implements: auth + caching
PR 1: Select only auth files → Create PR on feature/auth
PR 2: Select only caching files → Create PR on feature/cache
Advantage: Single session, multiple deliverables
Long-Running Feature Branches
Pattern:
Initial PR:
- Core implementation
- Basic tests
- Documentation
Update 1 (after feedback):
- Address review comments
- Add requested tests
- Improve error handling
Update 2 (after more feedback):
- Performance optimizations
- Edge case fixes
- Final polish
Each update uses /pr with same repository and branch
Collaboration Workflows
Reviewing Team Member’s PR
"Clone https://github.com/org/repo/pull/456"
Maestro clones the PR branch, then:
"Review this PR for:
- Code quality issues
- Test coverage gaps
- Performance concerns
- Security vulnerabilities
Provide detailed feedback on each."
Working on Forked Repositories
Fork-based development:
1. Fork repository on GitHub (manually or via Maestro)
2. Clone your fork to session
3. Implement changes
4. Create PR from your fork to upstream
PR tool handles:
- Pushing to your fork
- Creating PR to upstream repository
- Managing cross-repository workflow
Team Coordination Patterns
Sequential collaboration:
Developer A:
- Creates feature branch
- Implements partial feature
- Creates PR (draft)
Developer B (in new session):
- Clones PR from A
- Continues implementation
- Updates same PR
- Marks as ready for review
Parallel collaboration:
Team works on main develop branch:
- Each developer uses separate feature branches
- Create focused PRs for specific parts
- PRs reviewed and merged independently
- Periodic overwrite clones to stay synced
Advanced Workflows
Multi-Repository Projects
Working across repositories:
Clone frontend repository
Clone backend repository
Clone shared library
Implement feature touching all three:
- Make changes in each repository
- Create separate PRs for each
- Link PRs in descriptions
- Coordinate reviews
Release Preparation
Preparing v2.0 release:
Clone from main branch:
"Review all changes since v1.5 tag"
Maestro:
- Identifies changed files
- Creates comprehensive changelog
- Documents breaking changes
- Validates backward compatibility
Update documentation:
- API changes
- Migration guides
- Release notes
Create PR with all release docs
Hotfix Workflow
Critical bug in production:
1. Clone from production branch
2. Reproduce issue in sandbox
3. Implement minimal fix
4. Validate fix doesn't break anything
5. Create PR directly to production branch
6. Minimal, surgical change for fast review
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
Error: Authentication failed
Solution: Ensure GitHub account linked in top-right menu.
Error: Branch not found
Solution: Verify branch name spelling. Try default branch.
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?
Verify:
Use Compute Diffs to see what changed
Ensure Apply Changes ran successfully
Check file selection in PR creation UI
Best Practices
Repository Organization
Session file structure mirrors git:
/repo-name/
src/
tests/
docs/
...
Matches: github.com/org/repo-name
Makes PR creation seamless
Commit Messages
Let Maestro generate:
- Based on actual changes
- Follows conventional commit format
- Descriptive and accurate
Or provide custom:
When creating PR, specify commit message:
"feat: implement JWT authentication with refresh tokens"
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
Template:
## Changes
[What was implemented]
## Testing
[How it was validated]
## Performance
[Benchmark results if relevant]
## Breaking Changes
[None or list them]
## Notes
[Additional context]
Incremental PRs
Small, focused PRs are easier to review:
Instead of giant PR:
- authentication
- caching
- monitoring
- logging
Create sequential PRs:
1. PR #1: Add authentication (merged)
2. PR #2: Add caching (builds on #1, merged)
3. PR #3: Add monitoring (builds on #2, merged)
4. PR #4: Add logging (builds on #3)
Integration with CI/CD
Pre-PR Validation
Ensure CI will pass:
Before creating PR:
1. Run full test suite locally (in sandbox)
2. Run linters and formatters
3. Check code coverage
4. Run any CI scripts locally
5. Verify build succeeds
Only create PR after local validation passes.
GitHub Actions Integration
Validate CI config before pushing:
"Review our GitHub Actions workflow and ensure the new authentication module will be tested correctly in CI"
Maestro:
- Examines .github/workflows/*.yml
- Identifies if new tests will run
- Suggests workflow updates if needed
- Validates before PR creation
Advanced Patterns
Stacked PRs
Building features incrementally:
Base: main
PR #1: feature/core → main
(Core infrastructure)
PR #2: feature/api → feature/core
(API layer, depends on core)
PR #3: feature/ui → feature/api
(UI, depends on API)
Each PR reviewable independently
Merge order: #1, then #2, then #3
Cross-Repository Features
Feature spans multiple repos:
Repository A (backend):
- API changes
- Create PR in repo A
Repository B (frontend):
- UI changes consuming new API
- Create PR in repo B
Link PRs in descriptions
Coordinate reviews and merges
Emergency Patches
Critical production fix:
1. Clone from production branch
2. Implement minimal fix
3. Test thoroughly in sandbox
4. Create PR with "hotfix/" prefix
5. Request immediate review
6. Small, focused change for fast approval
Repository Management
Multiple Clones in Single Session
Use cases:
Clone same repo, different branches for comparison:
- Clone org/repo branch main → See production state
- Clone org/repo branch develop → See upcoming changes
Compare implementations:
- Clone org/repo-python branch main
- Clone org/repo-node branch main
- Analyze approach differences
Maestro tracks:
- All cloned repositories
- Branch or commit for each
- Clone timestamps
- Whether from PR URL
Access:
"Show me all cloned repositories"
"Which branch of the backend am I on?"
"When did I last pull from main?"
This information persists across memory operations.
GitHub API Integration
Reading Repository Data
Maestro can query GitHub for:
- Issues and pull requests
- Workflow runs and status
- Repository metadata
- Branch information
Example:
"Show me all open issues labeled 'bug' in the backend repo"
Maestro uses GitHub API to fetch and display issues.
"Add a review comment to PR #123 suggesting optimization in the auth logic"
Maestro:
- Views PR
- Adds inline or general comments
- Can suggest code changes
- Participates in PR discussion
Limitations and Considerations
Authentication Required
For private repositories:
- Must link GitHub account
- OAuth authentication
- Permissions respected (can only access what you can access)
For public repositories:
- 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
Large repositories:
- 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: