Thank you for your interest in contributing! This document provides guidelines for contributing to this project.
- Check if the bug has already been reported in Issues
- If not, create a new issue with:
- A clear, descriptive title
- Steps to reproduce the bug
- Expected vs actual behavior
- Your environment (OS, Python version)
- Open an issue with the
enhancementlabel - Describe the feature and its use case
- Explain why it would be valuable
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes
- Test your changes thoroughly
- Commit with clear messages:
git commit -m "Add: feature description" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request
# Clone your fork
git clone https://github.com/YOUR_USERNAME/makerreach.git
cd makerreach
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
python -m playwright install chromium
# Set up environment
cp .env.example .env
# Edit .env with your credentials- Follow PEP 8 guidelines
- Use meaningful variable and function names
- Add docstrings to functions
- Keep functions focused and small
- Add comments for complex logic
Before submitting a PR:
- Test scraping with a small limit:
python3 scraper.py 5 - Test emailing in test mode:
python3 run.py --email-only --email-limit 2 --test - Ensure no sensitive data is committed
Use clear, descriptive commit messages:
Add: description- New featureFix: description- Bug fixUpdate: description- Update existing featureDocs: description- Documentation changesRefactor: description- Code refactoring
- Update README.md if needed
- Update requirements.txt if you add dependencies
- Ensure no sensitive data is included
- Request review from maintainers
- Be respectful and inclusive
- Focus on constructive feedback
- Help others learn and grow
Feel free to open an issue for any questions about contributing.