# Repo Manager — local developer targets (RMGR-ADR-001)
UV ?= $(shell command -v uv 2>/dev/null || if [ -x "$$HOME/.local/bin/uv" ]; then printf "%s" "$$HOME/.local/bin/uv"; else printf "%s" "uv"; fi)

.PHONY: help install test lint cli-version publisher-run publisher-snapshot

help:
	@echo "Repo Manager targets:"
	@echo "  make install      # uv sync / editable install"
	@echo "  make test         # pytest"
	@echo "  make cli-version  # rmgr --version"
	@echo "  make publisher-run # serve the read-only port.repo publisher"
	@echo "  make publisher-snapshot REGISTRY=... CURSOR_SECRET=..."
	@echo "  (api/db/migrate land with first runtime slice)"

install:
	$(UV) sync --all-extras 2>/dev/null || $(UV) pip install -e ".[dev]"

test:
	$(UV) run pytest -q

lint:
	$(UV) run ruff check src tests 2>/dev/null || true

cli-version:
	$(UV) run rmgr --version

publisher-run:
	$(UV) run rmgr publisher api --host $${HOST:-127.0.0.1} --port $${PORT:-8020}

publisher-snapshot:
	@test -n "$(REGISTRY)" && test -n "$(CURSOR_SECRET)"
	$(UV) run rmgr publisher snapshot --registry "$(REGISTRY)" --cursor-secret "$(CURSOR_SECRET)"
