.PHONY: format lint typecheck test check check-all build clean help

format:
	uv run ruff format .

lint:
	uv run ruff check .

typecheck:
	uv run mypy src

test:
	uv run pytest

check: lint typecheck
	@echo "Lint and type check passed."

check-all: check test
	@echo "All checks passed."

build:
	uv run python -m build

clean:
	rm -rf dist build *.egg-info __pycache__ .pytest_cache .mypy_cache .ruff_cache

help:
	@echo "Available commands:"
	@echo "  make format     - Format code with ruff"
	@echo "  make lint       - Lint with ruff"
	@echo "  make typecheck  - Type check with mypy"
	@echo "  make test       - Run tests"
	@echo "  make check      - Lint + typecheck"
	@echo "  make check-all  - Lint + typecheck + tests"
	@echo "  make build      - Build package"
	@echo "  make clean      - Remove build artifacts"
