chore(tooling): set up uv, ruff, pyright, pylint, mypy and git hooks

Replace the ad-hoc stdlib venv with a uv-managed, locked environment and
add the quality gates:

- pre-commit: ruff (lint + format), pyright, pytest at 100% coverage
- pre-push:   pylint, mypy --strict
- commit-msg: conventional commits

pytest and pyright run with pass_filenames: false so they always see the
whole project; --cov-fail-under stays in the hook rather than addopts so
single-file TDD runs are not blocked by coverage.

requires-python is >=3.12 because numpy 2.5 does not support 3.11.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-13 14:06:38 -05:00
co-authored by Claude Opus 5
parent 35b8adfa98
commit 7a62688355
11 changed files with 1729 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
3.14