Thank you for your interest in contributing to the Altimate Django project! We appreciate your help in making this library even better. This document outlines the guidelines and best practices for contributing to the project.
- Fork the repository on GitHub.
- Clone your fork to your local machine.
- Set up a virtual environment and install the development dependencies using
pip install -r requirements_dev.txt
. - Run the test suite to make sure everything is working as expected (
python manage.py test
).
Before starting work on a new feature or bugfix, please check the issue tracker to ensure that no one else is already working on it. If there is no issue for your proposed change, create a new one to discuss it with the maintainers and other contributors.
Follow the PEP 8 coding style and use an auto-formatter like black to maintain a consistent code style throughout the project.
Create a new branch for each feature or bugfix. Use a descriptive name for your branch, such as feature/field-checks
or bugfix/missing-default
.
- Write clear and concise commit messages.
- Commit small, focused changes. Avoid mixing unrelated changes in a single commit.
- Add tests for any new features or bugfixes.
- Make sure all tests pass before submitting a pull request.
Update the documentation as necessary to reflect your changes. This includes docstrings, comments, and any relevant README or wiki updates.
- Submit your changes as a pull request against the
main
branch of the original repository. - Include a clear and detailed description of your changes in the PR description.
- Make sure the tests pass and your code adheres to the code style guidelines.
- Address any feedback from the maintainers or other contributors promptly.
Please adhere to the Code of Conduct when participating in this project. Treat all contributors with respect and maintain a positive and inclusive environment.
Thank you for contributing to Altimate Django! We look forward to working with you to improve this library and help developers build better Django applications.