Contributing
We welcome contributions to Hostify! This guide will help you get started.
How to Contribute
Fork the repository on GitHub
Clone your fork locally
Create a branch for your changes
Make your changes and test them
Submit a pull request
Development Setup
Clone the repository:
git clone https://github.com/yuvrajarora1805/hostify.git
cd hostify
Install in development mode:
pip install -e .
Install development dependencies:
pip install pytest black flake8 mypy
Running Tests
Run the test suite:
python tests/test_suite.py
Expected output:
Results: 9/9 tests passed (100%)
All tests passed! Library is ready for publication.
Code Style
We follow PEP 8 style guidelines. Format your code with Black:
black hostify/
Check with flake8:
flake8 hostify/
Type Checking
We use type hints throughout the codebase. Check types with mypy:
mypy hostify/
Submitting Changes
Create a descriptive branch name:
git checkout -b feature/add-new-feature
Make your changes with clear commit messages
Test your changes thoroughly
Push to your fork:
git push origin feature/add-new-feature
Open a pull request on GitHub
Pull Request Guidelines
Describe your changes clearly in the PR description
Reference any related issues (e.g., “Fixes #123”)
Include tests for new features
Update documentation if needed
Follow the existing code style
Keep PRs focused - one feature/fix per PR
Reporting Bugs
Found a bug? Please open an issue on GitHub with:
Python version (
python --version)Hostify version (
pip show hostify)Operating system
Steps to reproduce the issue
Expected behavior
Actual behavior
Error messages (full traceback if available)
Feature Requests
Have an idea for a new feature? Open an issue with:
Clear description of the feature
Use case - why is this useful?
Proposed implementation (if you have ideas)
Code of Conduct
Be respectful and inclusive
Welcome newcomers
Focus on constructive feedback
Help others learn and grow
License
By contributing, you agree that your contributions will be licensed under the MIT License.
Questions?
Feel free to open an issue for any questions about contributing!