.PHONY: build run test clean fmt lint BINARY_NAME=openteam BUILD_DIR=bin # Build build: go build -o $(BUILD_DIR)/$(BINARY_NAME) ./cmd/openteam # Run run: build ./$(BUILD_DIR)/$(BINARY_NAME) # Development run dev: go run ./cmd/openteam # Test test: go test ./internal/... -v # Test with coverage test-cover: go test ./internal/... -coverprofile=coverage.out go tool cover -html=coverage.out -o coverage.html # Format code fmt: go fmt ./... # Lint lint: golangci-lint run # Clean clean: rm -rf $(BUILD_DIR) rm -f coverage.out coverage.html # Tidy dependencies tidy: go mod tidy # Build for Linux build-linux: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o $(BUILD_DIR)/$(BINARY_NAME)-linux-amd64 ./cmd/openteam # Build for macOS build-mac: CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-arm64 ./cmd/openteam # Build all platforms build-all: build-linux build-mac # Database migration (will be implemented) migrate: @echo "Migration will be implemented in future" # Seed data (will be implemented) seed: @echo "Seeding will be implemented in future"