Thank you for your interest in contributing to WailBrew! This guide will help you get started with development.
If you want to build WailBrew from source, you'll need:
-
macOS with Apple Silicon (not tested on Intel)
-
Homebrew - Install with:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Go (version 1.25 or higher) - Install with Homebrew:
brew install go
-
Node.js (for frontend development) - Install with Homebrew:
brew install node
-
pnpm (package manager) - Install with npm:
npm install -g pnpm
-
Wails CLI - Install with:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
Make sure
~/go/binis in your PATH.
# Clone the repository
git clone https://github.com/wickenico/WailBrew.git
cd WailBrew
# Install Go dependencies
go mod download
# Install frontend dependencies
cd frontend && pnpm install
# Start the app in development mode
cd .. && make dev
# or alternatively: wails devwails build
# The built app will be in the build/bin/ directoryNote: Use make for production builds as it automatically reads the version from frontend/package.json and embeds it in the binary. This ensures the About dialog displays the correct version in production.
make dev # Start development server
make clean # Clean build directory
make install # Build and install to /ApplicationsTo run in live development mode, run wails dev in the project directory. This will run a Vite development server that will provide very fast hot reload of your frontend changes. If you want to develop in a browser and have access to your Go methods, there is also a dev server that runs on http://localhost:34115. Connect to this in your browser, and you can call your Go code from devtools.
/frontend- React + TypeScript frontend/src/components- React components/src/i18n- Internationalization files
/main.go- Go backend entry point/app.go- Main application logic
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
WailBrew supports multiple languages. To add a new language:
- Create a new JSON file in
/frontend/src/i18n/locales/(e.g.,es.jsonfor Spanish) - Copy the structure from
en.jsonand translate all strings - Update
/frontend/src/i18n/index.tsto include your language - Add the language flag to the Sidebar component
- Submit a Pull Request
If you find a bug, please create an issue on GitHub with:
- A clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- System information (macOS version, WailBrew version)
Feature requests are welcome! Please create an issue describing:
- The feature you'd like to see
- Why it would be useful
- How it might work
- Write clear, descriptive commit messages
- Follow existing code style and conventions
- Test your changes thoroughly
- Update documentation as needed
By contributing to WailBrew, you agree that your contributions will be licensed under the MIT License.
Every contribution, no matter how small, helps make WailBrew better for everyone!