UV := uv

.PHONY: sync fmt lint typecheck test check pre-commit benchmark docs docs-serve clean

sync:
	$(UV) sync

fmt:
	$(UV) run ruff format

lint:
	$(UV) run ruff check --fix

typecheck:
	$(UV) run mypy

test:
	$(UV) run pytest

check: lint typecheck test

pre-commit:
	$(UV) run pre-commit run --all-files

benchmark:
	$(UV) run --group bench python -m benchmarks.run

docs:
	$(UV) run --group docs mkdocs build --strict

docs-serve:
	$(UV) run --group docs mkdocs serve

clean:
	rm -rf .coverage .mypy_cache .pytest_cache .ruff_cache htmlcov
