.PHONY: build up down logs health migrate lint typecheck test fmt # --- 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