Brewst πΊ
A beautiful and intuitive TUI (Terminal User Interface) application for managing Homebrew packages and casks on macOS.

πΈ Screenshots
Main Dashboard

β¨ Features
Core Package Management
- β
View all installed formulae and casks in a unified list
- β
Real-time search across Homebrew repository
- β
Install/uninstall packages with confirmation dialogs
- β
Upgrade individual or all outdated packages
- β
Detailed package information (version, dependencies, description)
- β
Visual indicators for outdated packages (β )
- β
Dependency tree visualization
System Utilities
- β
Run
brew doctor to diagnose issues
- β
Clean up old versions with
brew cleanup
- β
Remove unused dependencies with
brew autoremove
- β
Real-time operation logs with color coding
UI/UX
- β
Split-panel layout for efficient workflow
- β
Keyboard-driven navigation (vim-style)
- β
Color-coded status (β installed, β outdated)
- β
Live search with instant results
- β
Scrollable dependency trees
- β
Operation logs with success/error highlighting
Tech Stack
π¦ Installation
From Source
Requires Go 1.21 or later:
go install github.com/lazar0169/brewst@latest
Pre-built Binaries
Download the latest release from GitHub Releases.
Build from Source
git clone https://github.com/lazar0169/brewst.git
cd brewst
go build -o brewst
./brewst
π Usage
Simply run:
brewst
Layout
The interface is divided into 4 panels:
βββββββββββββββββββββββ¬ββββββββββββββββββββββ
β β π Search β
β π¦ Installed β β
β βββββββββββββββββββββββ€
β (50%) β π³ Dependencies β
β β β
β βββββββββββββββββββββββ€
β β π Logs β
βββββββββββββββββββββββ΄ββββββββββββββββββββββ
β¨οΈ Keyboard Shortcuts
Global
q or Ctrl+C - Quit application
Tab - Cycle through panels (Installed β Search β Dependencies)
r - Refresh package list
Navigation
j or β - Move down
k or β - Move up
Package Management (Installed Panel)
u - Upgrade selected outdated package
U - Upgrade all outdated packages
x - Uninstall selected package
Search Panel
- Type to enter search mode
Enter - Execute search / Install selected package
Esc - Exit search input
j/k - Navigate search results
Utilities
d - Run brew doctor
c - Run brew cleanup
a - Run brew autoremove
Configuration
Configuration is stored in ~/.config/brewst/config.json. The file is created automatically on first run with default settings.
Favorites
Favorite packages are saved to ~/.config/brewst/favorites.json and persist across sessions.
π οΈ Development
Prerequisites
- Go 1.21 or later
- macOS with Homebrew installed
- Git
Setup
# Clone the repository
git clone https://github.com/lazar0169/brewst.git
cd brewst
# Install dependencies
go mod download
# Run the application
go run .
# Build
go build -o brewst
# Run tests
go test ./...
Building for Release
# Build for macOS (Intel)
GOOS=darwin GOARCH=amd64 go build -o brewst-darwin-amd64
# Build for macOS (Apple Silicon)
GOOS=darwin GOARCH=arm64 go build -o brewst-darwin-arm64
Project Structure
brewst/
βββ main.go # Entry point
βββ internal/
β βββ app/ # Main application model
β βββ brew/ # Homebrew client & parsers
β βββ state/ # Application state management
β βββ ui/
β βββ components/ # Reusable UI components
β βββ styles/ # Lipgloss styling
β βββ views/ # Dashboard view
βββ go.mod
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
π License
MIT - See LICENSE file for details
π Acknowledgments
- Built with the amazing Charm libraries
- Inspired by the need for a better Homebrew management experience
β οΈ Requirements
- macOS: Homebrew is macOS-specific
- Homebrew: Must be installed (installation guide)
- Terminal: Color support recommended for best experience