Spaces:
Build error
Build error
| .PHONY: all build clean test proto run-agent run-retriever docker infra-up infra-down lint | |
| # Variables | |
| PROTO_DIR := pkg/proto | |
| GO_OUT := pkg/proto/gen | |
| DOCKER_COMPOSE := docker-compose -f deployments/docker/docker-compose.yml | |
| # Default target | |
| all: proto build | |
| # Generate Go code from protobuf definitions | |
| proto: | |
| @echo "Generating protobuf code..." | |
| @mkdir -p $(GO_OUT) | |
| protoc --go_out=. --go_opt=paths=source_relative \ | |
| --go-grpc_out=. --go-grpc_opt=paths=source_relative \ | |
| $(PROTO_DIR)/agent.proto $(PROTO_DIR)/generator.proto $(PROTO_DIR)/retriever.proto | |
| protoc --go_out=. --go_opt=paths=source_relative \ | |
| --go-grpc_out=. --go-grpc_opt=paths=source_relative \ | |
| $(PROTO_DIR)/clara.proto | |
| # Build all services | |
| build: | |
| @echo "Building services..." | |
| go build -o bin/agent-server ./cmd/agent-server | |
| go build -o bin/retriever-server ./cmd/retriever-server | |
| go build -o bin/generator-server ./cmd/generator-server | |
| # Clean build artifacts | |
| clean: | |
| @echo "Cleaning..." | |
| rm -rf bin/ | |
| rm -rf $(GO_OUT) | |
| # Run tests | |
| test: | |
| @echo "Running tests..." | |
| go test -v -race -cover ./... | |
| # Run integration tests | |
| test-integration: | |
| @echo "Running integration tests..." | |
| go test -v -tags=integration ./tests/... | |
| # Run agent server | |
| run-agent: | |
| @echo "Starting agent server..." | |
| go run ./cmd/agent-server | |
| # Run retriever server | |
| run-retriever: | |
| @echo "Starting retriever server..." | |
| go run ./cmd/retriever-server | |
| # Run generator server | |
| run-generator: | |
| @echo "Starting generator server..." | |
| go run ./cmd/generator-server | |
| # Build Docker images | |
| docker: | |
| @echo "Building Docker images..." | |
| docker build -t amaniquery/agent-server:latest -f deployments/docker/Dockerfile.agent . | |
| docker build -t amaniquery/retriever-server:latest -f deployments/docker/Dockerfile.retriever . | |
| docker build -t amaniquery/generator-server:latest -f deployments/docker/Dockerfile.generator . | |
| # Start infrastructure (Qdrant, Redis, etc.) | |
| infra-up: | |
| @echo "Starting infrastructure..." | |
| $(DOCKER_COMPOSE) up -d qdrant redis | |
| # Stop infrastructure | |
| infra-down: | |
| @echo "Stopping infrastructure..." | |
| $(DOCKER_COMPOSE) down | |
| # Start all services with Docker Compose | |
| up: | |
| @echo "Starting all services..." | |
| $(DOCKER_COMPOSE) up -d | |
| # Stop all services | |
| down: | |
| @echo "Stopping all services..." | |
| $(DOCKER_COMPOSE) down | |
| # View logs | |
| logs: | |
| $(DOCKER_COMPOSE) logs -f | |
| # Lint code | |
| lint: | |
| @echo "Linting..." | |
| golangci-lint run ./... | |
| # Format code | |
| fmt: | |
| @echo "Formatting..." | |
| go fmt ./... | |
| goimports -w . | |
| # Download dependencies | |
| deps: | |
| @echo "Downloading dependencies..." | |
| go mod download | |
| go mod tidy | |
| # Generate mocks for testing | |
| mocks: | |
| @echo "Generating mocks..." | |
| mockgen -source=internal/agent/orchestrator.go -destination=internal/agent/mocks/orchestrator_mock.go | |
| mockgen -source=internal/retriever/retriever.go -destination=internal/retriever/mocks/retriever_mock.go | |
| # Security scan | |
| security: | |
| @echo "Running security scan..." | |
| gosec ./... | |
| trivy fs . | |