Brew Migrator πΊ
Port your /Applications to Homebrew Casks with a Charm-powered TUI.
scan β match β select β install
Built with Bubble Tea, Bubbles, Lip Gloss, and Huh.
Features
- Live scanning β real-time table updates as apps are matched to casks
- Smart auto-selection β score >90 β β near perfect pre-checked, 50β90 β π€ maybe unchecked, <50 β β questionable unchecked
- Keyboard-driven β
ββ navigate, space toggle, enter confirm
- Progress bars β animated installation with gradient progress
- History β persistent JSON-backed migration history
- All Charm β unified design system with lipgloss styling, spinners, borders, and huh confirmations
Quick start
# Install
go install github.com/ahmetyilmaz/brew-migrator@latest
# Or build from source
git clone https://github.com/ahmetyilmaz/brew-migrator.git
cd brew-migrator
go build -o bin/brew-migrator .
./bin/brew-migrator
Requires: macOS + Homebrew
How it works
- Scan β discovers every
.app bundle in /Applications
- Match β runs
brew search --cask for each app, scores candidates by name similarity
- Select β presents an interactive checkbox list;
ββ to move, space to toggle
- Install β
brew install --cask with a live progress bar
- History β browsable record of every migration attempt
Visual design
| Screen |
Description |
| Menu |
Styled menu with cursor, live plan/history counts |
| Scan |
Live-updating table, spinner, status badges |
| Select |
Checkbox list with quality emoji indicators |
| Install |
Gradient progress bar, real-time result log |
| Summary |
Success/fail breakdown |
| History |
Table of past migrations, sorted newest first |
Thresholds
| Score |
Label |
Auto-selected |
| >90 |
β near perfect |
β
|
| 50β90 |
π€ maybe |
β |
| <50 |
β questionable |
β |
| no match |
β skipped |
β (disabled) |
Architecture
main.go β program entry, tea.NewProgram
tui.go β all TUI screens (menu, scan, select, install, summary, history)
styles.go β lipgloss colour palette and reusable style definitions
brew.go β Homebrew ops, app scanner, fuzzy matching, scoring, history
Tech stack
- Bubble Tea β Elm-architecture TUI framework
- Bubbles β table, spinner, progress, viewport, help components
- Lip Gloss β terminal styling
- Huh β confirmation dialogs