.PHONY: help build up down logs clean dev-backend dev-frontend test help: ## Show this help message @echo 'Usage: make [target]' @echo '' @echo 'Available targets:' @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " %-15s %s\n", $$1, $$2}' $(MAKEFILE_LIST) build: ## Build Docker images docker-compose build up: ## Start all services docker-compose up -d @echo "" @echo "✓ MarkEdit is running!" @echo " Frontend: http://localhost:4321" @echo " Backend: http://localhost:8080" @echo "" @echo "To view logs: make logs" down: ## Stop all services docker-compose down logs: ## View logs from all services docker-compose logs -f logs-backend: ## View backend logs docker-compose logs -f backend logs-frontend: ## View frontend logs docker-compose logs -f frontend restart: ## Restart all services docker-compose restart clean: ## Remove containers, volumes, and images docker-compose down -v docker-compose rm -f @echo "Cleaned up containers and volumes" dev-backend: ## Run backend in development mode cd backend && go run cmd/server/main.go dev-frontend: ## Run frontend in development mode cd frontend && bun run dev install-backend: ## Install backend dependencies cd backend && go mod download install-frontend: ## Install frontend dependencies cd frontend && bun install test-backend: ## Run backend tests cd backend && go test ./... setup: ## Initial setup (copy .env.example to .env) @if [ ! -f .env ]; then \ cp .env.example .env; \ echo "✓ Created .env file from .env.example"; \ echo "⚠ Please edit .env and add your GitHub OAuth credentials"; \ else \ echo "⚠ .env file already exists"; \ fi db-migrate: ## Run database migrations cd backend && go run cmd/server/main.go migrate health: ## Check health of all services @echo "Checking backend health..." @curl -s http://localhost:8080/api/health | jq . || echo "Backend not responding" @echo "" @echo "Checking frontend health..." @curl -s http://localhost:4321/health || echo "Frontend not responding"