.PHONY: install dev build run worker clean lint format pre-commit-install pre-commit-run # Default target help: @echo "Available commands:" @echo " install Install dependencies using uv" @echo " dev Run FastAPI in development mode" @echo " run Run FastAPI server" @echo " worker Run Celery worker" @echo " build Build Docker images" @echo " up Start all services with Docker Compose" @echo " down Stop all services" @echo " clean Remove build artifacts" @echo " lint Run ruff linting" @echo " format Format code with ruff" @echo " pre-commit-install Install pre-commit hooks" @echo " pre-commit-run Run pre-commit on all files" # Install dependencies install: uv sync # Development server dev: uv run uvicorn main:app --reload --host 0.0.0.0 --port 8000 # Production server run: uv run uvicorn main:app --host 0.0.0.0 --port 8000 # Celery worker worker: uv run celery -A app.core.celery_app worker --loglevel=info # Docker commands build: docker-compose build up: docker-compose up -d down: docker-compose down # Clean artifacts clean: find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true find . -type f -name "*.pyc" -delete 2>/dev/null || true find . -type f -name "*.pyo" -delete 2>/dev/null || true find . -type d -name "*.egg-info" -exec rm -rf {} + 2>/dev/null || true rm -rf .venv dist build 2>/dev/null || true # Code quality lint: uv run ruff check . format: uv run ruff format . # Pre-commit pre-commit-install: uv run pre-commit install pre-commit-run: uv run pre-commit run --all-files