Bold Brew Logo

Bold Brew (bbrew)

A modern Terminal UI for managing Homebrew packages and casks

![GitHub release (latest by date)](https://img.shields.io/github/v/release/Valkyrie00/bold-brew) ![GitHub](https://img.shields.io/github/license/Valkyrie00/bold-brew) ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/Valkyrie00/bold-brew/release.yml) ![GolangCI-Lint](https://github.com/Valkyrie00/bold-brew/workflows/Quality/badge.svg) ![Security](https://github.com/Valkyrie00/bold-brew/workflows/Security/badge.svg) ![GitHub all releases](https://img.shields.io/github/downloads/Valkyrie00/bold-brew/total) [![GitHub stars](https://img.shields.io/github/stars/Valkyrie00/bold-brew?style=social)](https://github.com/Valkyrie00/bold-brew/stargazers) [![GitHub forks](https://img.shields.io/github/forks/Valkyrie00/bold-brew?style=social)](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/) [![Project Bluefin](https://img.shields.io/badge/Featured_in-Project_Bluefin-0091e2?style=for-the-badge&logo=linux)](https://projectbluefin.io/) [![Aurora](https://img.shields.io/badge/Featured_in-Aurora-9b59b6?style=for-the-badge&logo=linux)](https://getaurora.dev) [![Universal Blue](https://img.shields.io/badge/Part_of-Universal_Blue-5865f2?style=for-the-badge)](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 Screenshot

Main interface with package list and filters

Install Screenshot

Filtered view showing installed packages

Search Screenshot

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