Bold Brew (bbrew)
A modern Terminal UI for managing Homebrew packages and casks






[](https://github.com/Valkyrie00/bold-brew/stargazers)
[](https://github.com/Valkyrie00/bold-brew/network/members)
[Website](https://bold-brew.com/) β’ [Docs](https://bold-brew.com/docs) β’ [Changelog](https://github.com/Valkyrie00/bold-brew/releases)
---
### π Official Homebrew TUI for Project Bluefin
Bold Brew is the **official Terminal UI** for managing Homebrew in [**Project Bluefin**](https://projectbluefin.io/) and [**Aurora**](https://getaurora.dev), 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](https://docs.projectbluefin.io/command-line/)
[](https://projectbluefin.io/)
[](https://getaurora.dev)
[](https://universal-blue.org/)
---
## β¨ 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 Brewfiles (perfect for themed installers)
- π **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
### Via Homebrew
```sh
brew install Valkyrie00/homebrew-bbrew/bbrew
```
### Manually
Download the latest version from the [releases page](https://github.com/Valkyrie00/bold-brew/releases)
## π Quick Start
### Standard Mode
Launch the application to browse all Homebrew packages:
```sh
bbrew
```
### Brewfile Mode (New!)
Launch with a curated Brewfile to show only specific packages:
```sh
bbrew -f /path/to/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.)
Perfect for creating themed collections like IDE choosers, dev tools, AI tools, K8s tools, etc.
See the `examples/` directory for ready-to-use Brewfiles.
### Keyboard Shortcuts
#### Navigation & Search
- `/` - Search packages (fuzzy search)
- `β/β` or `j/k` - Navigate package list
- `Enter` - View package details
- `Esc` - Clear search / Close modals
#### Filters
- `F` - Filter installed packages
- `O` - Filter outdated packages
- `L` - Filter leaves (explicitly installed, no dependencies)
- `C` - Filter casks only
#### Package Operations
- `I` - Install selected package
- `U` - Update selected package
- `R` - Remove selected package
- `Ctrl+U` - Update all outdated packages
#### Other
- `Ctrl+R` - Refresh package database
- `Q` - Quit application
## π What's New in v2.0.0
### π Major Features
- **Homebrew Casks Support** - Full support for managing GUI applications and binaries
- **Leaves Filter** - Show only explicitly installed packages (excluding dependencies)
- **XDG Base Directory Support** - Cache follows platform standards (`~/.cache/bbrew` on Linux, `~/Library/Caches/bbrew` on macOS)
- **Type Indicators** - Clear visual distinction between formulae `[F]` and casks `[C]`
### π§ Technical Improvements
- Updated to Go 1.25
- Migrated to Podman and OCI-compliant Containerfile
- Enhanced Makefile with 15+ new targets and help system
- Integrated automated security scanning (govulncheck + gosec)
- Fixed implicit memory aliasing issues
- Improved error handling and logging
### π Bug Fixes
- Fixed cask analytics endpoint
- Corrected installed casks detection
- Fixed tview special character rendering for type tags
- Improved directory permission handling (0750)
## πΌοΈ Screenshots
Main interface with package list and filters
Filtered view showing installed packages
Fuzzy search in action
## π 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](https://github.com/Valkyrie00/bold-brew/security/advisories).
## π§ Development
### Prerequisites
- Go 1.25+
- Homebrew (for testing)
- Podman (optional, for containerized builds)
### Building from Source
```sh
# 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, I/O)
β βββ 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](https://www.conventionalcommits.org/)
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](LICENSE) file for details.
## π Support
- π [Star the project](https://github.com/Valkyrie00/bold-brew)
- π [Report a bug](https://github.com/Valkyrie00/bold-brew/issues/new?labels=bug)
- π‘ [Request a feature](https://github.com/Valkyrie00/bold-brew/issues/new?labels=enhancement)
- π£ Share the project with your friends
---
Built with β€οΈ for the community and for all developers