# Contributing to Munich News Daily Thank you for your interest in contributing! ## Getting Started 1. Fork the repository 2. Clone your fork 3. Create a feature branch 4. Make your changes 5. Run tests 6. Submit a pull request ## Development Setup ```bash # Clone repository git clone cd munich-news # Copy environment file cp backend/.env.example backend/.env # Start development environment docker-compose up -d # View logs docker-compose logs -f ``` ## Running Tests ```bash # Run all tests docker-compose exec crawler python -m pytest tests/crawler docker-compose exec sender python -m pytest tests/sender docker-compose exec backend python -m pytest tests/backend # Run specific test docker-compose exec crawler python tests/crawler/test_crawler.py ``` ## Code Style - Follow PEP 8 for Python code - Use meaningful variable names - Add docstrings to functions - Keep functions small and focused - Write tests for new features ## Commit Messages - Use clear, descriptive commit messages - Start with a verb (Add, Fix, Update, etc.) - Keep first line under 50 characters - Add details in the body if needed Example: ``` Add RSS feed validation - Validate URL format - Check feed accessibility - Add error handling ``` ## Pull Request Process 1. Update documentation if needed 2. Add tests for new features 3. Ensure all tests pass 4. Update CHANGELOG.md 5. Request review from maintainers ## Questions? Open an issue or reach out to the maintainers. Thank you for contributing! 🎉