.PHONY: run build test clean dev prod docker-build docker-run # Development dev: @echo "๐Ÿš€ Starting development server..." GO_ENV=development go run main.go # Production prod: @echo "๐Ÿš€ Starting production server..." GO_ENV=production go run main.go # Build build: @echo "๐Ÿ”จ Building binary..." go build -o cv-server -ldflags="-s -w" . @echo "โœ“ Binary created: ./cv-server" # Run built binary run: build ./cv-server # Test test: @echo "๐Ÿงช Testing endpoints..." @echo "\n1. Health check:" @curl -s http://localhost:1999/health | jq . @echo "\n2. English CV (first 50 chars):" @curl -s "http://localhost:1999/?lang=en" | head -c 50 @echo "\n\n3. Spanish CV content (first 50 chars):" @curl -s "http://localhost:1999/cv?lang=es" | head -c 50 @echo "\n\n4. Security headers:" @curl -I http://localhost:1999/ 2>&1 | grep -E "^(X-|Content-Security)" @echo "\nโœ“ All tests complete" # Test error handling test-errors: @echo "๐Ÿงช Testing error handling..." @echo "\n1. Invalid language:" @curl -i "http://localhost:1999/?lang=invalid" 2>&1 | head -15 @echo "\n2. Error logging check" @echo "โœ“ Error tests complete" # Clean clean: @echo "๐Ÿงน Cleaning build artifacts..." rm -f cv-server @echo "โœ“ Clean complete" # Docker docker-build: @echo "๐Ÿณ Building Docker image..." docker build -t cv-server:latest . @echo "โœ“ Docker image built" docker-run: @echo "๐Ÿณ Running Docker container..." docker run -p 1999:1999 cv-server:latest # Help help: @echo "Available commands:" @echo " make dev - Run in development mode (hot-reload enabled)" @echo " make prod - Run in production mode" @echo " make build - Build production binary" @echo " make run - Build and run binary" @echo " make test - Test all endpoints" @echo " make test-errors - Test error handling" @echo " make clean - Remove build artifacts" @echo " make docker-build - Build Docker image" @echo " make docker-run - Run Docker container"