a7b0466d98
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
3.8 KiB
3.8 KiB
Contributing to POP3 to Gmail Forwarder
Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
Code of Conduct
Be respectful and inclusive. We welcome contributions from everyone.
How to Contribute
Reporting Bugs
- Check if the bug has already been reported in Issues
- If not, create a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Docker version, etc.)
- Relevant logs (remove sensitive info!)
Suggesting Features
- Check the Roadmap to see if it's already planned
- Open an issue with the "enhancement" label
- Describe the feature and its use case
- Explain why it would be useful
Pull Requests
-
Fork the repository
-
Create a feature branch
git checkout -b feature/your-feature-name -
Make your changes
- Follow existing code style
- Add comments for complex logic
- Update documentation if needed
-
Test your changes
# Test Python syntax python3 -m py_compile pop3_forwarder.py # Test Docker build docker build -t pop3-test . # Test with your configuration docker-compose up -
Commit your changes
git commit -m "Add feature: brief description"Use clear, descriptive commit messages:
Add feature: ...Fix bug: ...Update docs: ...Improve performance: ...
-
Push to your fork
git push origin feature/your-feature-name -
Open a Pull Request
- Describe what changes you made
- Reference any related issues
- Include screenshots for UI changes
Development Setup
Local Development
# Clone your fork
git clone https://github.com/YOUR-USERNAME/pop_puller_to_gmail.git
cd pop_puller_to_gmail
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Copy example config
cp .env.example .env
# Edit .env with test credentials
# Run locally
python pop3_forwarder.py
Docker Development
# Build image
docker build -t pop3-dev .
# Run with your config
docker run --env-file .env pop3-dev
Code Style
- Follow PEP 8 for Python code
- Use meaningful variable and function names
- Add docstrings to functions and classes
- Keep functions focused and small
- Handle errors gracefully
Testing
Before submitting a PR:
-
Syntax check
python3 -m py_compile pop3_forwarder.py -
Docker build
docker build -t pop3-test . -
Manual testing
- Test with real POP3 account (or mock)
- Verify emails are forwarded correctly
- Check error handling
- Review logs
Documentation
Update documentation when:
- Adding new features
- Changing configuration options
- Modifying behavior
- Adding dependencies
Files to update:
README.md- Main documentationQUICKSTART.md- If setup changesMVP.md- If MVP scope changesROADMAP.md- If adding future plans
Security
- Never commit credentials or sensitive data
- Use environment variables for secrets
- Report security issues privately (see below)
- Follow security best practices
Reporting Security Issues
Do NOT open public issues for security vulnerabilities.
Email security concerns to the maintainers privately.
Questions?
- Open a discussion in GitHub Discussions
- Comment on relevant issues
- Ask in pull requests
Recognition
Contributors will be recognized in:
- GitHub contributors list
- Release notes for significant contributions
- README acknowledgments section
Thank you for contributing! 🎉