.PHONY: install test lint publish-github

install:
	uv sync

test:
	uv run pytest -q

lint:
	uv run ruff check src tests

# Publish this subdirectory as a standalone GitHub repository.
#
# Usage:
#   make publish-github REPO=git@github.com:advantch/vanty-content.git
#
# Requires: git-filter-repo (https://github.com/newren/git-filter-repo)
publish-github:
	@if [ -z "$(REPO)" ]; then \
		echo "ERROR: REPO is required. Usage: make publish-github REPO=git@github.com:advantch/vanty-content.git"; \
		exit 1; \
	fi
	@command -v git-filter-repo >/dev/null 2>&1 || { echo "ERROR: git-filter-repo is required. Install with: pip install git-filter-repo"; exit 1; }
	@WORKDIR=$$(mktemp -d) && \
		echo "==> Cloning monorepo into $$WORKDIR" && \
		git clone --no-local "$$(git -C $(CURDIR) rev-parse --show-toplevel)" "$$WORKDIR" && \
		cd "$$WORKDIR" && \
		echo "==> Filtering to vanty-content/ subdirectory" && \
		git filter-repo --subdirectory-filter vanty-content --force && \
		echo "==> Pointing origin at $(REPO)" && \
		git remote remove origin 2>/dev/null || true && \
		git remote add origin $(REPO) && \
		echo "==> Push manually with: git -C $$WORKDIR push -u origin HEAD:main" && \
		echo "==> Workdir: $$WORKDIR"
