Contributing
We welcome contributions to NotiHub! Whether you’re fixing bugs, adding new features, or improving documentation, your help is appreciated.
Development Workflow
Fork the repository on GitHub
Create a feature branch from
mainMake your changes following the existing code style
Add tests for new functionality
Update documentation if needed
Run the test suite to ensure nothing is broken
Submit a pull request with a clear description
Code Style Guidelines
Follow PEP 8 style guidelines
Use type hints for all function parameters and return values
Write docstrings for all public classes and methods
Keep line length under 90 characters
Use dataclasses for configuration objects
Implement proper error handling and logging
Adding New Providers
When adding a new notification provider:
Follow the step-by-step guide in the “Adding New Notifiers” section
Ensure all abstract methods are implemented
Add comprehensive unit tests
Update this documentation
Add configuration examples to README.md
Testing Requirements
Minimum 85% test coverage
Unit tests for all public methods
Integration tests for external service calls (mocked)
Error handling tests
Edge case testing