92d67369e9
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/82f2f361-3513-44e6-991b-db1a19902772 Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
3.9 KiB
3.9 KiB
Contributing to InboxConverge
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
# Run the test suite make test # Or run linting + formatting + tests together make quick-test # Test Docker build docker build -t pop3-test . -
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/inboxconverge.git
cd inboxconverge
# Install all development dependencies
make install-dev
# Copy example config
cp .env.example .env
# Edit .env with test credentials
# Run the legacy forwarder script directly
python inbox_converge.py
# Or start the SaaS backend in dev mode
make run-dev
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
- Run
make formatto auto-format with Black and Ruff
Testing
Before submitting a PR:
-
Run the test suite
make test -
Run linting
make lint -
Docker build
docker build -t pop3-test . -
Manual testing (if applicable)
- Test with a 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 documentationdocs/QUICKSTART.md- If setup changesdocs/MVP.md- If MVP scope changesdocs/ROADMAP.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.
Please see SECURITY.md for responsible disclosure instructions.
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! 🎉