Skip to content

Latest commit

 

History

History
 
 

README.md

Bold Brew Logo

Bold Brew (bbrew)

A modern Terminal UI for managing Homebrew packages and casks


🌟 Official Homebrew TUI for Project Bluefin

Bold Brew is the official Terminal UI for managing Homebrew in Project Bluefin and Aurora, next-generation Linux desktops that serve tens of thousands of users worldwide.

"This application features full package management for homebrew in a nice nerdy interface"
Bluefin Documentation

Project Bluefin Aurora Universal Blue


✨ Features

  • 🚀 Modern TUI Interface - Clean and responsive terminal user interface
  • 📦 Complete Package Management - Manage both Homebrew formulae and casks
  • 📋 Brewfile Mode - Curated package collections from local or remote Brewfiles
  • 🔍 Advanced Search - Fast fuzzy search across all packages
  • 🎯 Smart Filters - Filter by installed, outdated, leaves, or casks
  • 📊 Analytics Integration - See popular packages based on 90-day download stats
  • 🔄 Real-time Updates - Live feedback during package operations
  • ⌨️ Keyboard Shortcuts - Intuitive keybindings for all operations
  • 🎨 Type Indicators - Visual distinction between formulae [F] and casks [C]
  • 🗂️ XDG Compliance - Follows XDG Base Directory Specification for cache storage
  • 🔒 Security Scanning - Automated vulnerability and security checks

🛠️ Installation

Quick Install (Recommended)

Install Homebrew + Bold Brew with a single command:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Valkyrie00/bold-brew/main/install.sh)"

Via Homebrew

If you already have Homebrew installed:

brew install Valkyrie00/homebrew-bbrew/bbrew

Manually

Download the latest version from the releases page

📖 Quick Start

Standard Mode

Launch the application to browse all Homebrew packages:

bbrew

Brewfile Mode

Launch with a curated Brewfile to show only specific packages:

# Local Brewfile
bbrew -f /path/to/Brewfile

# Remote Brewfile (HTTPS)
bbrew -f https://raw.githubusercontent.com/user/repo/main/Brewfile

In Brewfile mode, you can:

  • View only packages from the Brewfile
  • Pick and choose what to install individually
  • Use all standard features (search, filters, etc.)
  • Load Brewfiles directly from URLs (great for sharing configurations!)

Perfect for creating themed collections like IDE choosers, dev tools, AI tools, K8s tools, etc.

See the examples/ directory for ready-to-use Brewfiles.

CLI Options

bbrew [options]

Options:
  -f <path|url>   Path or URL to Brewfile (local file or HTTPS URL)
  -v, --version   Show version information
  -h, --help      Show help message

Keyboard Shortcuts

Navigation & Search

  • / - Search packages
  • ↑/↓ or j/k - Navigate package list
  • Enter - View package details
  • Esc - Clear search / Back to table
  • ? - Show help screen

Filters

  • f - Filter installed packages
  • o - Filter outdated packages
  • l - Filter leaves (explicitly installed)
  • c - Filter casks only

Package Operations

  • i - Install selected package
  • u - Update selected package
  • r - Remove selected package
  • Ctrl+U - Update all outdated packages

Brewfile Mode Only

  • Ctrl+A - Install all packages from Brewfile
  • Ctrl+R - Remove all packages from Brewfile

Other

  • q - Quit application

🖼️ Screenshots

Installed Packages Screenshot

Filtered view showing installed packages

Search Screenshot

Fuzzy search in action

Brewfile Mode Screenshot

Brewfile mode with curated package selection

📊 Platform Support

Platform Support Notes
🍎 macOS ✅ Full Native Homebrew support
🐧 Linux ✅ Full Linuxbrew/Homebrew support

🛡️ Security

Security is a priority for Bold Brew. We use:

  • govulncheck - Go vulnerability database scanning
  • gosec - Static security analysis
  • Automated CI/CD - Security checks on every PR and push

Found a security issue? Please report it privately via GitHub Security Advisories.

🔧 Development

Prerequisites

  • Go 1.25+
  • Homebrew (for testing)
  • Podman (optional, for containerized builds)

Building from Source

# Clone the repository
git clone https://github.com/Valkyrie00/bold-brew.git
cd bold-brew

# Build locally
make build-local

# Run tests
make test

# Run linter
make quality-local

# Run security scans
make security

Project Structure

bold-brew/
├── cmd/bbrew/           # Main application entry point
├── internal/
│   ├── models/          # Data models (Formula, Cask, Package)
│   ├── services/        # Business logic (Brew, App, Search, Input, Brewfile)
│   └── ui/              # TUI components and layout
├── .github/workflows/   # CI/CD pipelines
└── Makefile             # Build automation

🤝 Contributing

Contributions are welcome! Please:

  1. 🍴 Fork the project
  2. 🔨 Create your feature branch (git checkout -b feat/amazing-feature)
  3. 📝 Commit your changes using Conventional Commits
  4. 🧪 Run tests and linters (make test quality-local)
  5. 🚀 Push to the branch (git push origin feat/amazing-feature)
  6. 📬 Open a Pull Request

🦸Contributors

Bold Brew exists thanks to the efforts of these wonderful people

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

💖 Support


Built with ❤️ for the community and for all developers