.PHONY: help dev backend-dev frontend-dev migrate create-migration install-backend install-frontend clean

help:
	@echo "Available commands:"
	@echo "  make dev                 - Start all services with Docker Compose"
	@echo "  make backend-dev         - Start backend only with Docker"
	@echo "  make frontend-dev        - Start frontend only with Docker"
	@echo "  make install-backend     - Install backend dependencies"
	@echo "  make install-frontend    - Install frontend dependencies"
	@echo "  make migrate             - Run database migrations"
	@echo "  make create-migration    - Create a new Alembic migration (MSG='message')"
	@echo "  make clean               - Remove Python cache files"

# Docker-based development
dev:
	docker-compose up --build

backend-dev:
	docker-compose up backend --build

frontend-dev:
	docker-compose up frontend --build

# Local development (without Docker)
install-backend:
	cd backend && pip install -r requirements.txt

install-frontend:
	cd frontend && npm install

migrate:
	cd backend && alembic upgrade head

create-migration:
	cd backend && alembic revision --autogenerate -m "$(MSG)"

clean:
	find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
	find . -type f -name "*.pyc" -delete
