.PHONY: install test lint run openapi migrate-validate

UV ?= /home/worsch/.local/bin/uv
PYTHONPATH ?= src

install:
	$(UV) sync --extra dev

test:
	PYTHONPATH=$(PYTHONPATH) $(UV) run --extra dev pytest

lint:
	PYTHONPATH=$(PYTHONPATH) $(UV) run --extra dev ruff check .

run:
	PYTHONPATH=$(PYTHONPATH) $(UV) run uvicorn core_hub.app:app --reload --host 127.0.0.1 --port 8010

openapi:
	PYTHONPATH=$(PYTHONPATH) $(UV) run python scripts/export_openapi.py contracts/openapi/core-hub.openapi.json


migrate-validate:
	PYTHONPATH=$(PYTHONPATH) $(UV) run --extra dev python scripts/core_hub_migrate.py validate contracts/fixtures/migration/interhub-minimal.bundle.json
