.PHONY: help up down restart logs logs-backend logs-frontend build clean status
.PHONY: up-backend up-frontend down-backend down-frontend

help:  ## Show this help message
	@fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

up:  ## Bring up all services (frontend + backend)
	docker-compose up --build --detach

down:  ## Bring down all services
	docker-compose down

restart:  ## Restart all services
	docker-compose restart

logs:  ## Tail logs from all services
	docker-compose logs -f

logs-backend:  ## Tail logs from backend service only
	docker-compose logs -f backend

logs-frontend:  ## Tail logs from frontend service only
	docker-compose logs -f frontend

build:  ## Build all services without starting them
	docker-compose build

clean:  ## Stop and remove all containers, networks, and volumes
	docker-compose down --volumes --remove-orphans

status:  ## Show status of all services
	docker-compose ps

up-backend:  ## Bring up backend service only
	docker-compose up --build --detach backend

up-frontend:  ## Bring up frontend service only (requires backend)
	docker-compose up --build --detach frontend

down-backend:  ## Stop backend service only
	docker-compose stop backend

down-frontend:  ## Stop frontend service only
	docker-compose stop frontend

shell-backend:  ## Open shell in backend container
	docker exec -it pdp-backfill-backend /bin/bash

shell-frontend:  ## Open shell in frontend container
	docker exec -it pdp-backfill-frontend /bin/sh
