Contributing
Thank you for your interest in contributing to qtile-expanded!
Ways to Contribute
Report bugs: Contact @zordsdavini@s.arns.lt with steps to reproduce
Suggest features: Contact @zordsdavini@s.arns.lt with your feature request
Fix bugs: Submit a merge request with bug fixes
Add features: Submit a merge request with new features
Improve documentation: Help improve the docs
Write tests: Add more test coverage
Getting Started
Clone the repository
Set up a development environment
git clone https://g.arns.lt/zordsdavini/qtile-expanded.git
cd qtile-expanded
python -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
Run the tests to make sure everything works
pytest -v --no-xephyr
Making Changes
Create a new branch for your changes
Make your changes
Add tests for new functionality
Update documentation
Run tests to ensure everything still works
git checkout -b my-feature
# Make changes...
pytest -v --no-xephyr
git commit -m "Add my feature"
git push origin my-feature
Submitting Changes
Push your changes to the repository
Contact @zordsdavini@s.arns.lt to discuss your changes
Describe your changes
Wait for review and address any feedback
Code Style
Follow PEP 8 style guidelines
Use type hints where appropriate
Write docstrings for public functions and classes
Keep line lengths under 100 characters
Use consistent naming (snake_case for functions, CamelCase for classes)
Documentation
Update documentation for any new features
Add examples where helpful
Use reStructuredText for documentation
Include API documentation using autodoc
Testing
Add tests for new functionality
Update existing tests if behavior changes
Run all tests before submitting
Aim for high test coverage
Merge Request Guidelines
One feature per MR: Keep merge requests focused
Descriptive title: Use a clear, descriptive title
Detailed description: Explain what and why
Tests included: Add tests for new functionality
Docs updated: Update documentation
Squash commits: Squash related commits into one
Review Process
All changes will be reviewed
Feedback will be provided
You may be asked to make changes
Once approved, changes will be merged
Code of Conduct
Please be respectful and follow standard open source contribution guidelines.
License
By contributing, you agree that your contributions will be licensed under the MIT License.