.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