Contributing to Book Reader
Thank you for your interest in contributing to Book Reader! This document provides guidelines and instructions for contributing to the project.
Getting Started
-
Fork the repository: Start by forking the Book Reader repository on GitHub.
-
Clone your fork:
-
Set up the development environment:
Development Workflow
-
Create a feature branch:
-
Make your changes: Implement your feature or bug fix.
-
Run tests: Ensure your changes pass all tests.
-
Check code quality: Run the linters to ensure your code follows our style guidelines.
-
Commit your changes:
-
Push to your fork:
-
Create a pull request: Submit a pull request from your forked repository to the main Book Reader repository.
Code Guidelines
- Follow PEP 8 style guide
- Write docstrings for all functions, classes, and methods
- Add type annotations to function signatures
- Keep lines under 79 characters
- Use meaningful variable and function names
Adding Features
If you're adding a new feature:
- Start by opening an issue describing the feature
- Write tests for your feature
- Implement your feature
- Update the documentation
Documentation
When adding or changing features, please update the corresponding documentation:
- Update or add docstrings
- Update the relevant files in the
docs/
directory - If you've added new commands or options, update the usage guide
To view your documentation changes locally:
Then visit http://127.0.0.1:8000
in your browser.
Testing
- Write unit tests for new functionality
- Make sure existing tests continue to pass
- Integration tests should be added for significant features
Pull Request Process
- Update the README.md or documentation with details of changes if appropriate
- Update the CHANGELOG.md with a description of your changes
- The PR should work on the main branch and pass all CI checks
- The PR will be merged once it receives approval from maintainers
Community
- Be respectful and inclusive in your communications
- Help others who have questions
- Share your ideas and feedback
License
By contributing to Book Reader, you agree that your contributions will be licensed under the project's MIT License.