brew-migrator

command module
v0.0.0-...-e77a683 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 21, 2026 License: MIT Imports: 18 Imported by: 0

README ΒΆ

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

  1. Scan β€” discovers every .app bundle in /Applications
  2. Match β€” runs brew search --cask for each app, scores candidates by name similarity
  3. Select β€” presents an interactive checkbox list; ↓↑ to move, space to toggle
  4. Install β€” brew install --cask with a live progress bar
  5. 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

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL