The live suite's comments restated what the code says and argued its own design at length. What survives is the part a reader cannot recover: that a login shell keeps exported variables, that a real inventory virtualizes so an installed row may never render, that cleanup runs after the app is terminated to stay clear of Homebrew's lock, and why the runner must be signed. The reasoning behind the rest is in the commits and in E2E/README.md, which is where it belongs.
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
brewCLI and the Homebrew JSON API
Status
Early development — currently building the app foundation (D1). Project rules and architecture live in AGENTS.md and ARCHITECTURE.md; durable decisions and constraints are recorded in .ai/memory.md.
Optional local session tracking (for agents or developers; .ai/progress.md is gitignored):
cp .ai/progress.template.md .ai/progress.md
Quickstart (Development)
After cloning:
./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 Homebrew.xcodeproj.
Pre-commit formatting and linting
After bootstrap, commits automatically run checks on staged Swift files:
mint run swiftformatmint 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.