Contributing#
We welcome contributions to ByByte! This document provides guidelines for contributing.
Getting Started#
Fork the repository on GitHub
Clone your fork locally
Create a new branch for your feature or bugfix
Make your changes
Test your changes
Submit a pull request
Development Setup#
Clone the repository:
git clone --recurse-submodules https://github.com/vergilium/ByByteDoc.git
cd ByByte
Install development dependencies:
pip install -r requirements-dev.txt
Note
Use the README.md for additional setup instructions.
Coding Standards#
Follow PEP 8 style guide for Python code
Use meaningful variable and function names
Add docstrings to all functions and classes
Write unit tests for new features if applicable
Keep commits focused and atomic
Documentation#
Update documentation when adding new features:
Add docstrings to code
Update relevant .rst files in docs/
Build documentation locally to verify:
cd docs make html # Open docs/_build/html/index.html
update locale files if needed. (See README.md for instructions)
make a pull request with your changes
Submitting Changes#
Pull Request Process#
Update the README.md with details of changes if needed
Update the CHANGELOG.rst with your changes
Ensure all tests pass
Submit pull request with clear description
Commit Messages#
Write clear commit messages:
Use present tense (“Add feature” not “Added feature”)
Use imperative mood (“Move cursor to…” not “Moves cursor to…”)
Limit first line to 72 characters
Reference issues and pull requests
Example:
Add temperature sensor support
- Implement TemperatureSensor class
- Add calibration methods
- Update documentation
- Add unit tests
Fixes #123
Code Review#
All submissions require review. We use GitHub pull requests for this purpose.
Reviewers will check:
Code quality and style
Test coverage
Documentation completeness
Backwards compatibility
Bug Reports#
When filing a bug report, include:
Clear description of the issue
Steps to reproduce
Expected behavior
Actual behavior
System information (OS, Python version, etc.)
Error messages and stack traces
Feature Requests#
We welcome feature requests! Please include:
Clear description of the feature
Use cases and benefits
Possible implementation approach
Willingness to contribute implementation
Community#
Be respectful and inclusive
Welcome newcomers
Help others learn
Give constructive feedback
License#
By contributing, you agree that your contributions will be licensed under the same license as the project.
Questions?#
If you have questions about contributing, feel free to:
Open an issue on GitHub
Contact the maintainers
Join our community discussions
Thank you for contributing to ByByte! 🎉