feat: implement shareable git pre-push hook for automated quality checks`

Description:

Overview

This MR introduces a Git pre-push hook to ensure that all code pushed to the repository meets our quality standards. It automates the process of running linters and tests, preventing broken or unformatted code from reaching the remote server.

Key Features

  • Linting Check: Automatically runs ruff to ensure code style consistency.
  • Test Enforcement: Runs pytest suite before every push.
  • Coverage Guard: Blocks pushes if test coverage falls below the required .
  • Shareable Implementation: Unlike standard hooks which are local-only, this setup is tracked in version control so every developer can use it.

Changes Made

  1. [scripts/git-hooks/pre-push]: The core shell script that performs the checks.
  2. [scripts/setup-hooks.sh]: A helper utility to "install" the hook on a developer's machine by creating a symlink to the .git/hooks directory.
  3. README.md: Added a new "Development" section with instructions on how to enable the hook.

Checklist:

  • Pre-push hook blocks push if tests fail.
  • Pre-push hook blocks push if linting fails.
  • Documentation updated in README.
  • Setup script provided for other contributors.

*closes #26 (closed)

Merge request reports

Loading