A macOS application for managing Git repositories and worktrees, built with SwiftUI and the Composable Architecture (TCA). Bridge Commander provides a powerful interface for discovering, monitoring, and interacting with Git repositories across your system.
- Smart Scanning: Recursively scan directories for Git repositories
- Worktree Support: Detect both standard repositories and git worktrees
- Branch Detection: Display current branch for each repository
- Status Monitoring: Track staged and unstaged changes in real-time
- Merge Detection: Identify repositories with merge-in-progress status
- Pull: Pull latest changes from remote with one click
- Merge Master: Merge main/master branch into current branch
- Create Worktree: Create new git worktrees from any branch
- Delete Worktree: Remove worktrees safely
- Push Changes: Push commits to remote repository
- Abort Merge: Cancel merge operations in progress
- Terminal: Open repositories in Terminal.app
- Xcode: Detect and open Xcode projects, generate projects from Swift packages
- Android Studio: Detect and open Android/Gradle projects
- Claude Code: Launch Claude Code CLI in repository context
- Finder: Quick access to repository location
- YouTrack: Integration with YouTrack ticket tracking
- Copy Paths: Copy repository paths to clipboard
- Share: Export repository information
- Progress Indicators: Visual feedback for long-running operations
- Settings: Customize directory, YouTrack configuration, and text abbreviation modes
- macOS 13.0 or later
- Xcode 26.0 or later (for building)
- Git installed and available in PATH
Open the project:
open BridgeCommander.xcodeproj
Build and run (⌘R)
xcodebuild -project BridgeCommander.xcodeproj -scheme BridgeCommander buildTo create a release archive for distribution:
xcodebuild -project BridgeCommander.xcodeproj \
-scheme BridgeCommander \
-configuration Release \
clean archive \
-archivePath ./build/BridgeCommander.xcarchiveThe archive will be created at ./build/BridgeCommander.xcarchive
Bridge Commander uses the Composable Architecture (TCA) for state management, providing:
- Predictable state changes through reducers
- Testable business logic
- Effect-based async operations
- Dependency injection for services
- SwiftUI: Modern declarative UI framework
- TCA: State management and architecture pattern
- Protocol-based Services: Clean separation of concerns
- Swift Concurrency: Async/await for modern async operations
- Directory Selection: Select a directory to scan via Settings or the scan button
- Automatic Scanning: The app recursively discovers all Git repositories, detecting:
- Standard repos (directories with a
.gitfolder) - Worktrees (directories with a
.gitfile containing a gitdir pointer) - Current branch name
- Staged and unstaged changes
- Merge status
- Standard repos (directories with a
- Repository List: All repositories are displayed with:
- Repository name and location
- Current branch (if detected)
- Change indicators (staged/unstaged counts)
- Merge-in-progress status
- Actions: Perform operations on any repository:
- Git operations (pull, merge, push, create/delete worktrees)
- Open in IDEs (Xcode, Android Studio, Claude Code)
- Open in Terminal or Finder
- Copy paths, view tickets, share information
The app requires the following permissions:
- File System Access: To scan directories for repositories
- Terminal.app Automation: To open repositories in Terminal (you'll be prompted on first use)
- Network Access: For YouTrack integration (if configured)
Access Settings (⌘,) to configure:
- Refresh interval: The interval for automatic repositories refresh
- YouTrack Settings: Base URL, token, and project IDs for ticket integration
MIT