.PHONY: setup run run-api run-interactive run-agent run-debug run-interactive-debug build-docker run-docker stop-docker clean setup-replicate setup-huggingface deploy-replicate help # Default target .DEFAULT_GOAL := help # Python interpreter PYTHON := python3 # Docker compose command DOCKER_COMPOSE := docker-compose # Help target help: @echo "Agentic Defensor Makefile" @echo "" @echo "Usage:" @echo " make setup Install dependencies" @echo " make run Start API server (default mode)" @echo " make run-api Start API server" @echo " make run-interactive Start interactive mode" @echo " make run-interactive-debug Start interactive mode with agent reasoning" @echo " make run-agent QUERY=X Run single query with agent" @echo " make run-debug QUERY=X Run single query with agent reasoning" @echo " make build-docker Build Docker image" @echo " make run-docker Run in Docker container" @echo " make stop-docker Stop Docker container" @echo " make setup-replicate Setup for Replicate deployment" @echo " make setup-huggingface Setup for Hugging Face deployment" @echo " make deploy-replicate Deploy to Replicate" @echo " make clean Clean up temporary files" @echo "" # Setup project setup: @echo "Setting up project..." $(PYTHON) -m pip install -r requirements.txt chmod +x start.sh @echo "Setup complete" # Run default mode (API) run: ./start.sh api # Run API server run-api: ./start.sh api # Run interactive mode run-interactive: ./start.sh interactive # Run interactive mode with debug output run-interactive-debug: $(PYTHON) run.py --debug interactive --agent # Run agent with query run-agent: ifndef QUERY @echo "Error: QUERY is required. Usage: make run-agent QUERY='Your query here'" @exit 1 endif ./start.sh agent "$(QUERY)" # Run agent with query and debug output run-debug: ifndef QUERY @echo "Error: QUERY is required. Usage: make run-debug QUERY='Your query here'" @exit 1 endif $(PYTHON) run.py --debug agent "$(QUERY)" # Build Docker image build-docker: $(DOCKER_COMPOSE) build # Run Docker container run-docker: $(DOCKER_COMPOSE) up -d # Stop Docker container stop-docker: $(DOCKER_COMPOSE) down # Setup for Replicate deployment setup-replicate: @echo "Setting up for Replicate deployment..." chmod +x setup_cloud.sh ./setup_cloud.sh --platform replicate # Setup for Hugging Face deployment setup-huggingface: @echo "Setting up for Hugging Face deployment..." chmod +x setup_cloud.sh ./setup_cloud.sh --platform huggingface # Deploy to Replicate (requires cog to be installed) deploy-replicate: @echo "Deploying to Replicate..." cog push # Clean up clean: @echo "Cleaning up..." rm -rf __pycache__ rm -rf src/__pycache__ rm -rf src/*/__pycache__ find . -type d -name "__pycache__" -exec rm -rf {} + find . -type f -name "*.pyc" -delete find . -type f -name "*.pyo" -delete find . -type f -name "*.pyd" -delete find . -type f -name ".DS_Store" -delete find . -type f -name "*.bak" -delete find . -type f -name "*.log" -delete @echo "Cleanup complete"