mirror of
https://github.com/Valkyrie00/bold-brew.git
synced 2026-03-14 14:25:53 +01:00
Add install.sh that installs Homebrew (if needed) + Bold Brew in one command: curl -fsSL .../install.sh | bash Features: - Detects OS (macOS/Linux) and architecture - Installs Homebrew if not present - Configures PATH for Homebrew - Installs or upgrades Bold Brew - Colorful output with ASCII banner Also updates README and website with quick install instructions.
240 lines
8 KiB
Markdown
240 lines
8 KiB
Markdown
<div align="center">
|
|
<img src="docs/assets/logo/bbrew-logo-rounded.png" alt="Bold Brew Logo" width="200" height="200">
|
|
<h1>Bold Brew (bbrew)</h1>
|
|
<p>A modern Terminal UI for managing Homebrew packages and casks</p>
|
|
</div>
|
|
|
|
<div align="center">
|
|
|
|

|
|

|
|

|
|

|
|

|
|

|
|
|
|
[](https://github.com/Valkyrie00/bold-brew/stargazers)
|
|
[](https://github.com/Valkyrie00/bold-brew/network/members)
|
|
|
|
[Website](https://bold-brew.com/) • [Changelog](https://github.com/Valkyrie00/bold-brew/releases)
|
|
|
|
</div>
|
|
|
|
---
|
|
|
|
<div align="center">
|
|
|
|
### 🌟 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/)
|
|
|
|
</div>
|
|
|
|
---
|
|
|
|
## ✨ 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:
|
|
```sh
|
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Valkyrie00/bold-brew/main/install.sh)"
|
|
```
|
|
|
|
### Via Homebrew
|
|
If you already have Homebrew installed:
|
|
```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
|
|
Launch with a curated Brewfile to show only specific packages:
|
|
```sh
|
|
# 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
|
|
|
|
```sh
|
|
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
|
|
|
|
<div align="center">
|
|
<img src="docs/assets/screenshots/bbrew-installed-screenshot.png" alt="Installed Packages Screenshot" width="800">
|
|
<p><em>Filtered view showing installed packages</em></p>
|
|
|
|
<img src="docs/assets/screenshots/bbrew-search-screenshot.png" alt="Search Screenshot" width="800">
|
|
<p><em>Fuzzy search in action</em></p>
|
|
|
|
<img src="docs/assets/screenshots/bbrew-brewfile-screenshot.png" alt="Brewfile Mode Screenshot" width="800">
|
|
<p><em>Brewfile mode with curated package selection</em></p>
|
|
</div>
|
|
|
|
## 📊 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, 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](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
|
|
|
|
<a href="https://github.com/Valkyrie00/bold-brew/graphs/contributors">
|
|
<img src="https://contrib.rocks/image?repo=Valkyrie00/bold-brew" />
|
|
</a>
|
|
|
|
## 📄 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
|
|
|
|
---
|
|
|
|
<div align="center">
|
|
<sub>Built with ❤️ for the community and for all developers</sub>
|
|
</div>
|