.PHONY: spec generate build check test

# refresh the committed OpenAPI snapshot from the live API
spec:
	curl -sf "https://api.devnomads.nl/docs?api-docs.json" -o openapi.json

# regenerate src/devnomads/api/_services.py from openapi.json
generate:
	uv run python tools/generate.py
	uv run black -q .
	uv run isort -q .

# full build: refresh spec, regenerate, verify
build: spec generate check

check:
	uv run python tools/generate.py --check
	uv run black --check .
	uv run isort --check-only .
	uv run flake8 src tests tools
	uv run bandit -q -r src
	uv run semgrep scan --quiet --error --config p/python src
	uv run mypy src
	uv run pytest -q

test:
	uv run pytest -v
