https://github.com/homebrew/brewui
๐บ Homebrew's official macOS GUI
https://github.com/homebrew/brewui
Last synced: 2 days ago
JSON representation
๐บ Homebrew's official macOS GUI
- Host: GitHub
- URL: https://github.com/homebrew/brewui
- Owner: Homebrew
- License: agpl-3.0
- Created: 2026-03-02T08:32:31.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-06-10T09:48:41.000Z (2 days ago)
- Last Synced: 2026-06-10T11:20:32.443Z (2 days ago)
- Language: Swift
- Homepage:
- Size: 1.24 MB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# BrewUI
Homebrew's official macOS GUI โ making package management approachable for users who prefer graphical interfaces over Terminal, while maintaining complete transparency about underlying Homebrew operations.
## Mission
Enable CLI-averse users to safely discover, install, update, and manage Homebrew packages through a native SwiftUI interface that never hides what Homebrew is doing.
## Tech
- **Swift 6.0** with strict concurrency ยท **SwiftUI** ยท **Swift Package Manager**
- **macOS Tahoe 26+** (also supports Sequoia 15, Sonoma 14)
- Data from the `brew` CLI and the [Homebrew JSON API](https://formulae.brew.sh/docs/api/)
## Status
Early development โ currently building the app foundation (D1). Project rules and architecture live in [`AGENTS.md`](./AGENTS.md) and [`ARCHITECTURE.md`](./ARCHITECTURE.md); durable decisions and constraints are recorded in [`.ai/memory.md`](./.ai/memory.md).
Optional local session tracking (for agents or developers; [`.ai/progress.md`](./.ai/progress.md) is gitignored):
```bash
cp .ai/progress.template.md .ai/progress.md
```
## Quickstart (Development)
After cloning:
```bash
./scripts/bootstrap
```
This installs Mint from `Brewfile`, runs `mint bootstrap` to build the SwiftFormat and SwiftLint versions pinned in `Mintfile`, enables repository git hooks, and resolves Swift package dependencies for `Brew.xcodeproj`.
### Pre-commit formatting and linting
After bootstrap, commits automatically run checks on staged Swift files:
1. `mint run swiftformat`
2. `mint run swiftlint` (with `--fix`, then strict validation)
If unresolved lint violations remain, the commit is blocked and the hook prints specific SwiftLint failures so you can fix and re-commit.
## Contributing
This project will be open source. Contribution guidelines, issue templates, and a getting started guide are coming as part of the initial setup work. In the meantime, see `CONVENTIONS.md` for project conventions and workflow, and `ARCHITECTURE.md` for design detail.