๐ค Contributing
We welcome contributions to AirPrint Bridge! Whether you're reporting bugs, suggesting features, or contributing code, your help is appreciated.
How to Contributeโ
๐ Reporting Bugsโ
Before reporting a bug, please:
- Check existing issues to see if it's already been reported
- Search the documentation for solutions
- Try the troubleshooting guide first
When reporting a bug, please include:
- macOS version (e.g., macOS 14.2.1)
- AirPrint Bridge version (if known)
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- Error messages or logs
- System information (relevant hardware/network details)
Bug report template:
## Bug Description
Brief description of the issue
## Steps to Reproduce
1. Step 1
2. Step 2
3. Step 3
## Expected Behavior
What should happen
## Actual Behavior
What actually happens
## System Information
- macOS Version:
- AirPrint Bridge Version:
- Printer Model:
- Network Setup:
## Error Messages/Logs
Paste any error messages or relevant logs here
๐ก Suggesting Featuresโ
We welcome feature suggestions! When suggesting a feature:
- Explain the problem you're trying to solve
- Describe your proposed solution
- Consider the impact on existing users
- Check if it aligns with the project's goals
๐ง Contributing Codeโ
Development Setupโ
-
Fork the repository on GitHub
-
Clone your fork locally:
git clone https://github.com/your-username/AirPrint_Bridge.git
cd AirPrint_Bridge -
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes and test thoroughly
-
Commit your changes with clear commit messages:
git commit -m "Add feature: brief description"
-
Push to your fork:
git push origin feature/your-feature-name
-
Create a pull request with a detailed description
Code Style Guidelinesโ
- Follow existing code style and conventions
- Add comments for complex logic
- Test your changes thoroughly
- Update documentation if needed
- Keep commits focused and atomic
Testing Your Changesโ
Before submitting a pull request:
- Test on multiple macOS versions if possible
- Test with different printer types
- Verify installation and uninstallation work correctly
- Check that logging works as expected
- Test network scenarios (Wi-Fi, Ethernet, different networks)
๐ Contributing Documentationโ
Documentation improvements are highly valued! You can help by:
- Fixing typos or unclear language
- Adding examples or use cases
- Improving troubleshooting guides
- Translating documentation to other languages
- Adding screenshots or diagrams
๐งช Testingโ
Help us test AirPrint Bridge by:
- Testing on different macOS versions
- Testing with various printer models
- Testing network configurations
- Reporting compatibility issues
- Providing feedback on new features
Development Environmentโ
Prerequisitesโ
- macOS 10.15 or later
- Git
- Text editor (VS Code, Sublime Text, etc.)
- Terminal access
Local Developmentโ
-
Clone the repository:
git clone https://github.com/sapireli/AirPrint_Bridge.git
cd AirPrint_Bridge -
Make the script executable:
chmod +x airprint_bridge.sh
-
Test your changes:
sudo ./airprint_bridge.sh -t
Testing Checklistโ
Before submitting changes, ensure:
- Script runs without errors
- Installation works correctly
- Uninstallation works correctly
- Logging functions properly
- Documentation is updated
- No sensitive information is exposed
Pull Request Guidelinesโ
Before Submittingโ
- Test thoroughly on your system
- Update documentation if needed
- Follow the commit message format
- Keep changes focused and small
- Add tests if applicable
Pull Request Templateโ
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Other (please describe)
## Testing
- [ ] Tested on macOS [version]
- [ ] Tested with [printer model]
- [ ] Installation works
- [ ] Uninstallation works
- [ ] Logging works correctly
## Checklist
- [ ] Code follows existing style
- [ ] Documentation updated
- [ ] No sensitive data exposed
- [ ] Commit messages are clear
Code of Conductโ
We are committed to providing a welcoming and inclusive environment for all contributors. Please:
- Be respectful and considerate
- Use inclusive language
- Focus on constructive feedback
- Help others learn and grow
Recognitionโ
Contributors will be recognized in:
- GitHub contributors list
- Release notes
- Documentation acknowledgments
- Project README (for significant contributions)
Questions?โ
If you have questions about contributing:
- Check the documentation first
- Search existing issues and discussions
- Start a discussion on GitHub
- Ask in issues with the "question" label
Thank You!โ
Thank you for considering contributing to AirPrint Bridge! Every contribution, no matter how small, helps make the project better for everyone.
Ready to contribute? Start by forking the repository or opening an issue.