.PHONY: sync install lint format format-check type test test-cov check ci clean

UV ?= uv

sync:
	$(UV) sync --all-groups

install: sync

lint:
	$(UV) run ruff check .

format:
	$(UV) run ruff format .

format-check:
	$(UV) run ruff format --check .

type:
	$(UV) run ty check

test:
	$(UV) run pytest

test-cov:
	$(UV) run pytest --cov

check: lint format-check type test

ci: check

clean:
	rm -rf .pytest_cache .ruff_cache htmlcov .coverage dist build *.egg-info
