Contributing
Contributions are welcome. Brewwery is MIT-licensed and developed in public.
Getting started
- Fork brewwery/brewwery on GitHub.
- Clone your fork and build it:
swift build swift run Brewwery swift test - Read the Development guide and Architecture overview.
Guidelines
- Keep changes focused — one change per pull request, easy to review
- macOS first — use native SwiftUI and AppKit patterns and follow the existing design system
- Typed commands only — Homebrew runs through
HomebrewCommand; never add a shell or free-form arguments, and validate every dynamic value inHomebrewIdentifier - Confirm changes — anything that modifies Homebrew needs an explicit confirmation that shows the command
- Test without Homebrew — use the scripted
brewstand-in; onlyBrewweryLiveTestsmay touch a real installation - Accessible by default — icon-only buttons use
IconButtonso they have a name - Stay local — no telemetry, authentication, cloud sync, or monetization
Pull requests
- Describe what changed and why, with screenshots for UI changes
- Make sure
swift buildandswift testpass - Try the change against your own Homebrew with
swift run Brewwery - Update
CHANGELOG.mdand these docs when behavior changes
Documentation
This site lives in brewwery/docs . Fixes and clarifications are just as welcome as code.
Reporting issues
Use GitHub Issues :
- Bugs — steps to reproduce, what you expected, and the report from Settings → About → Copy diagnostics
- Feature requests — the problem you want to solve and how you imagine it working
Report security vulnerabilities privately through the security policy .
Code of conduct
Be respectful and constructive.
Last updated on