VERSION := $(shell git tag | tail -1)
IMAGE_NAME := fitguide

sync:
	uv sync --extra dev

seed:
	uv run alembic upgrade head
	uv run python -m scripts.seed

dev: migrate
	uv run uvicorn app.main:app --reload
	open http://localhost:8000

test:
	uv run pytest

migrate:
	# apply the bundled initial migration
	uv run alembic upgrade head

fmt:
	uv run black .

clean:
	rm app.db
	uv run alembic upgrade head
	uv run python -m scripts.seed

docker:
		mkdir -p artifacts
		docker build -t $(IMAGE_NAME):$(VERSION) .

docker-push: docker
		docker tag $(IMAGE_NAME):$(VERSION) $(IMAGE_NAME):latest
		docker tag $(IMAGE_NAME):$(VERSION) git.kinesin.ca/kinesin/$(IMAGE_NAME):$(VERSION)
		docker tag $(IMAGE_NAME):$(VERSION) git.kinesin.ca/kinesin/$(IMAGE_NAME):latest
		docker push git.kinesin.ca/kinesin/$(IMAGE_NAME):$(VERSION)
		docker push git.kinesin.ca/kinesin/$(IMAGE_NAME):latest
