.PHONY: install sync api streamlit celery-worker docker-up docker-down lint clean # ─── Python ───────────────────────────────────────────── install: uv sync sync: uv lock api: uv run uvicorn src.api.main:app --reload --host 0.0.0.0 --port 8000 streamlit: uv run streamlit run dashboards/streamlit_app.py celery-worker: uv run celery -A src.orchestration.celery_app worker --loglevel=info # ─── Docker ────────────────────────────────────────────── docker-up: docker compose up -d docker-down: docker compose down docker-logs: docker compose logs -f # ─── Quality ──────────────────────────────────────────── lint: uv run ruff check . uv run ruff format --check . test: uv run pytest tests/ # ─── Model ────────────────────────────────────────────── pull-models: docker exec iap-ollama ollama pull llama3.1 docker exec iap-ollama ollama pull nomic-embed-text # ─── Cleanup ──────────────────────────────────────────── clean: rm -rf data/chroma data/models data/*.duckdb find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true