Thank you for your interest in contributing to the System Website Blocker project! This document provides guidelines and information for contributors.
- macOS 10.12 or later
- Python 3.6 or later
- Administrator privileges (for testing)
- Git
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/system-website-blocker.git cd system-website-blocker - Install dependencies:
pip3 install -r requirements.txt
- Test the installation:
python3 test_blocker.py
- Follow PEP 8 for Python code
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions focused and small
- Test all changes thoroughly
- Run the test script before submitting
- Test with different macOS versions if possible
- Verify both GUI and console versions work
- This application modifies system files
- Always backup before testing
- Test in a safe environment
- Document any security implications
- Check existing issues first
- Use the issue template
- Include system information:
- macOS version
- Python version
- Error messages
- Steps to reproduce
- Check existing feature requests
- Describe the use case
- Explain the benefits
- Consider implementation complexity
- Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes
- Test thoroughly
- Commit with clear messages
- Push to your fork
- Create a pull request
system-website-blocker/
├── website_blocker.py # Basic GUI version
├── advanced_blocker.py # Advanced version with web interface
├── console_blocker.py # Command-line version
├── launcher.py # Application launcher
├── test_blocker.py # Testing script
├── install.sh # Installation script
├── uninstall.sh # Uninstallation script
├── requirements.txt # Python dependencies
├── README.md # Main documentation
├── QUICK_START.md # Quick start guide
├── CONTRIBUTING.md # This file
├── LICENSE # MIT License
└── .gitignore # Git ignore rules
- Test basic blocking functionality
- Test advanced features (scheduling, monitoring)
- Test console version
- Test installation/uninstallation
- Test on different macOS versions
Run the test script:
python3 test_blocker.py- Fork and Clone: Fork the repository and clone your fork
- Create Branch: Create a feature branch from
main - Make Changes: Implement your changes with tests
- Test: Run all tests and verify functionality
- Commit: Make clear, descriptive commits
- Push: Push your branch to your fork
- Pull Request: Create a PR with a clear description
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Code refactoring
## Testing
- [ ] Tested on macOS [version]
- [ ] All tests pass
- [ ] Manual testing completed
## Screenshots (if applicable)
Add screenshots for GUI changes
## Additional Notes
Any additional informationWhen reporting bugs, please include:
-
System Information:
- macOS version
- Python version
- Hardware (Intel/Apple Silicon)
-
Error Details:
- Full error message
- Steps to reproduce
- Expected vs actual behavior
-
Logs:
- Console output
- System logs (if relevant)
When suggesting features:
- Use Case: Describe the problem you're trying to solve
- Proposed Solution: How should it work?
- Alternatives: Other ways to solve the problem
- Implementation: Any ideas on how to implement it
- Update README.md for major changes
- Add docstrings to new functions
- Update comments for complex code
- Include examples for new features
- Never commit sensitive information
- Test security implications of changes
- Follow secure coding practices
- Report security issues privately
- Check existing issues and discussions
- Join the GitHub discussions
- Contact the maintainer: Suraj Van Verma
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to make system-level website blocking better for everyone! 🚀