diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..00942acd --- /dev/null +++ b/Makefile @@ -0,0 +1,30 @@ +# Project Makefile + +PYTHON = python + +.PHONY: setup test lint typecheck check clean + +# Install dev dependencies + tox +setup: + $(PYTHON) -m pip install --upgrade pip + $(PYTHON) -m pip install tox black ruff mypy + +# Run tests (pass ARGS="..." for specific tests) +test: + tox -- $(ARGS) + +# Code formatting check + linting +lint: + ruff . + black --check . + +# Static type checks +typecheck: + mypy . + +# Full quality check (all checks + tests) +check: lint typecheck test + +# Clean up tox environments +clean: + rm -rf .tox