.PHONY: dev test lint format migrate help

# Development
dev:
	uvicorn backend.main:app --host 0.0.0.0 --port 8000 --reload

# Testing
test:
	pytest tests/ -v --cov=backend --cov-report=html

# Linting
lint:
	ruff check backend/
	mypy backend/

# Formatting
format:
	ruff format backend/
	ruff check --fix backend/

# Database migrations
migrate:
	alembic upgrade head

# Docker
docker-up:
	docker-compose -f docker-compose.dev.yml up -d

docker-down:
	docker-compose -f docker-compose.dev.yml down

docker-logs:
	docker-compose -f docker-compose.dev.yml logs -f

# Production
docker-prod-up:
	docker-compose -f docker-compose.prod.yml up -d

docker-prod-down:
	docker-compose -f docker-compose.prod.yml down

# Help
help:
	@echo "Available commands:"
	@echo "  dev       - Start development server"
	@echo "  test      - Run tests"
	@echo "  lint      - Run linter"
	@echo "  format    - Format code"
	@echo "  migrate   - Run database migrations"
	@echo "  docker-up - Start Docker containers (dev)"
	@echo "  docker-down - Stop Docker containers (dev)"
	@echo "  docker-logs - Show Docker logs (dev)"
	@echo "  docker-prod-up - Start Docker containers (prod)"
	@echo "  docker-prod-down - Stop Docker containers (prod)"
