.DEFAULT_GOAL := help

.PHONY: help setup install test lint format build check cli-version

help: ## List available make targets
	@awk 'BEGIN {FS = ":.*## "}; /^[a-zA-Z0-9_.-]+:.*## / {printf "  %-16s %s\n", $$1, $$2}' $(MAKEFILE_LIST)

setup: ## Sync dependencies into .venv
	uv sync --all-groups

install: ## Install validate CLI to ~/.local/bin (editable)
	uv tool install -e . --force

test: ## Run the test suite
	uv run pytest

lint: ## Run ruff lint checks
	uv run ruff check .

format: ## Auto-format with ruff
	uv run ruff format .

build: ## Build wheel and sdist
	uv build

check: lint test ## Run lint and tests (CI gate)

cli-version: ## Smoke test: validate --help
	uv run validate --help