.PHONY: build up down logs health migrate lint typecheck test fmt mint-plugin

# --- Docker ---

build:
	docker compose build

up:
	docker compose up -d

down:
	docker compose down

logs:
	docker compose logs -f

health:
	curl -s http://localhost:5000/api/health

migrate:
	docker compose exec app alembic upgrade head

# --- Local dev (requires: pip install -e ".[dev]" and cd frontend && npm ci) ---

lint:
	ruff check src/

fmt:
	ruff format src/

typecheck:
	cd frontend && npx vue-tsc --noEmit

test:
	pytest tests/ -v

# Run all checks in one shot (mirrors what CI does)
check: lint typecheck test

# --- Plugin ---

# Run this after changing anything under plugin/ or .claude-plugin/, BEFORE
# committing. The plugin ships straight from git with no build step, so its
# version is minted here rather than stamped by CI; the lane fails if you
# forget, but this is what makes remembering cheap.
mint-plugin:
	python3 scripts/mint_plugin_version.py
