.PHONY: help build run docker-build docker-run docker-push clean BINARY_NAME=argparse-builder DOCKER_IMAGE=argparse-builder DOCKER_TAG=latest PORT=8080 help: @echo "Available targets:" @echo " build - Build Go binary" @echo " run - Run locally" @echo " docker-build - Build Docker image" @echo " docker-run - Run Docker container" @echo " docker-push - Push to registry" @echo " docker-clean - Remove Docker images" @echo " clean - Clean all artifacts" build: go build -ldflags="-s -w" -o $(BINARY_NAME) . run: build ./$(BINARY_NAME) docker-build: docker build -t $(DOCKER_IMAGE):$(DOCKER_TAG) . docker-build-alpine: docker build -f Dockerfile.alpine -t $(DOCKER_IMAGE):alpine . docker-run: docker run -d -p $(PORT):8080 --name $(BINARY_NAME) $(DOCKER_IMAGE):$(DOCKER_TAG) docker-stop: docker stop $(BINARY_NAME) && docker rm $(BINARY_NAME) docker-logs: docker logs -f $(BINARY_NAME) docker-push: docker push $(DOCKER_IMAGE):$(DOCKER_TAG) docker-clean: docker rmi $(DOCKER_IMAGE):$(DOCKER_TAG) || true compose-up: docker-compose up -d compose-down: docker-compose down clean: rm -f $(BINARY_NAME) docker-compose down || true docker rm -f $(BINARY_NAME) || true