Thank you for considering contributing to Nodetool Core! This document provides guidelines and instructions for contributing to the project.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Run tests to ensure they pass (
make test
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
-
Clone your fork of the repository
-
Install development dependencies:
make dev-install
This will install the package in development mode and install all development dependencies.
-
Install pre-commit hooks:
pre-commit install
This project uses:
- Black for code formatting
- Flake8 for linting
- MyPy for type checking
You can run all style checks with:
make lint
And format your code with:
make format
Write tests for all new features and bug fixes. Run the tests with:
make test
For test coverage report:
make test-cov
Update documentation for any changes to the public API. Build the documentation with:
make docs
- Ensure your code passes all tests and style checks
- Update documentation if needed
- Update the CHANGELOG.md file with your changes
- The PR should be reviewed by at least one maintainer
- Once approved, a maintainer will merge your PR
Please be respectful and considerate of others when contributing to this project. We aim to foster an inclusive and welcoming community.