brewst

command module
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2025 License: MIT Imports: 4 Imported by: 0

README ΒΆ

Brewst 🍺

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

Version License Go

πŸ“Έ Screenshots

Main Dashboard

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

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
internal
app

Jump to

Keyboard shortcuts

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