.PHONY: install lint test build clean docs

install:
	uv sync --extra dev

lint:
	uv run ruff check .
	uv run ruff format --check .
	uv run mypy src/

format:
	uv run ruff format .
	uv run ruff check --fix .

test:
	uv run pytest tests/unit -v --cov

test-all:
	uv run pytest tests/ -v --cov

integration:
	uv run pytest tests/integration -v -m integration

build:
	uv build

clean:
	rm -rf dist/ build/ .pytest_cache/ .mypy_cache/ htmlcov/ .coverage
	find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
	find . -type d -name '*.egg-info' -exec rm -rf {} + 2>/dev/null || true
