Skip to content

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

  1. Fork the repository: Fork the NinjaExtra repository on GitHub and clone it locally.

  2. 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
  1. Install flit: Ensure you have flit installed globally.
pip install flit
  1. 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 and ruff for linting. Run the following command to check code linting:
make lint


  • 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

  1. Branch: Create a new branch for your feature or bug fix.
git checkout -b feature-branch
  1. Commit Messages: Follow the Conventional Commits specification for your commit messages.

  2. Push Changes: Push your branch to your forked repository.

git push origin feature-branch
  1. 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! 🚀