Contribution Guidelines
Thank you for considering contributing to NinjaExtra! Your contributions help make the project better for everyone. Please take a moment to review the following guidelines before getting started.
Setting up the Development Environment
-
Fork the repository: Fork the NinjaExtra repository on GitHub and clone it locally.
-
Virtual Environment: Create and activate a virtual environment for the project.
python -m venv venv
source venv/bin/activate # Linux/macOS
python -m venv venv
.\venv\Scripts\activate # Windows
- Install
flit
: Ensure you haveflit
installed globally.
pip install flit
- Install Dependencies: Install development libraries and pre-commit hooks.
make install-full
Code Style and Formatting
- Formatting: To format your code and ensure consistency, run:
make fmt
- Linting: NinjaExtra uses
mypy
andruff
for linting. Run the following command to check code linting:
make lint
Testing
- Unit Tests: We use
pytest
for unit testing. Run the test suite:
make test
- Test Coverage: To check test coverage:
make test-cov
Submitting a Pull Request
- Branch: Create a new branch for your feature or bug fix.
git checkout -b feature-branch
-
Commit Messages: Follow the Conventional Commits specification for your commit messages.
-
Push Changes: Push your branch to your forked repository.
git push origin feature-branch
- Pull Request: Open a pull request against the
master
branch of the NinjaExtra repository. Provide a clear and descriptive title and description for your changes.
Thank you for contributing to NinjaExtra! 🚀