Thank you for your interest in contributing to GuiBrew! We welcome contributions from the community.
If you find a bug, please open an issue with:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- Your macOS version and Homebrew version
- Screenshots if applicable
Have an idea for a new feature? Open an issue with:
- A clear description of the feature
- Why it would be useful
- Any mockups or examples (optional)
-
Fork the repository
git clone https://github.com/encryptedtouhid/GuiBrew.git
-
Create a feature branch
git checkout -b feature/your-feature-name
-
Make your changes
- Follow the existing code style
- Test your changes thoroughly
- Update documentation if needed
-
Commit your changes
git commit -m "Add: brief description of your changes" -
Push to your fork
git push origin feature/your-feature-name
-
Open a Pull Request
- Provide a clear description of your changes
- Reference any related issues
- Use
constandlet, avoidvar - Use async/await for asynchronous operations
- Add comments for complex logic
- Use meaningful variable and function names
- Use CSS variables for colors and common values
- Follow the existing naming conventions
- Keep selectors specific but not overly complex
- Use semantic HTML elements
- Keep accessibility in mind
- Maintain consistent indentation
GuiBrew/
├── src/
│ ├── main.js # Electron main process
│ ├── preload.js # IPC bridge (secure context)
│ ├── services/
│ │ └── brewService.js # Homebrew command wrapper
│ └── renderer/
│ ├── index.html # UI structure
│ ├── styles.css # Styling
│ └── renderer.js # UI logic
├── assets/
│ └── icons/ # Application icons
└── package.json
# Install dependencies
npm install
# Run in development mode
npm start
# Run with logging enabled
npm run devBefore submitting a PR, please ensure:
- The app starts without errors
- Your feature works as expected
- Existing features still work
- No console errors or warnings
- UI looks consistent with the existing design
If you have questions, feel free to open an issue with the "question" label.
- Be respectful and inclusive
- Provide constructive feedback
- Help others learn and grow
Thank you for contributing!