Quality Gates

Updated May 24, 2026

Generated projects use make all as the standard local quality gate. It runs these targets in order:

  • build: create the local virtual environment and install development dependencies with uv sync --group dev.
  • check-fmt: check Ruff formatting for Python sources and, when Rust is enabled, cargo fmt for the Rust extension.
  • lint: run lint-python and, when Rust is enabled, lint-rust.
  • typecheck: run ty check.
  • test: run pytest and, when Rust is enabled, Rust tests.

The lint-python target runs Ruff followed by Pylint via a PyPy-backed runner. The Pylint runner is installed through uv tool run from the pinned pylint-pypy-shim repository.

When the Rust extension is enabled, lint-rust runs:

  • cargo doc with warnings denied;
  • cargo clippy with the generated Clippy configuration; and
  • Whitaker with whitaker --all.

The generated Makefile installs Whitaker on demand before local Rust linting when it is not already available.