.PHONY: help setup format lint test clean bump build help: @echo "Available targets:" @echo " make setup - Create venv, install all dependencies" @echo " make format - Auto-fix and format code (ruff)" @echo " make lint - Check code style and errors without modifying files (ruff)" @echo " make test - Run all unit tests (pytest)" @echo " make clean - Remove build caches and the virtual environment" @echo " make bump part=X - Bump version (patch/minor/major or set X.Y.Z)" @echo " make build - Build wheel and sdist into dist/" setup: @echo ">> Initializing virtual environment and installing dependencies..." uv sync --group dev format: uv run ruff check --fix src/ uv run ruff format src/ lint: uv run ruff check src/ uv run ruff format --check src/ test: uv run pytest -v clean: rm -rf .pytest_cache .ruff_cache .venv dist find src -type f -name "*.pyc" -delete find src -type d -name "__pycache__" -delete bump: uvx bump-my-version bump $(part) build: uv build