# Makefile for TaskQ

.PHONY: test clean fmt lint install

# Default target
all: fmt lint test

# Run tests
test:
	@echo "Running tests..."
	go test -v ./...

# Clean
clean:
	@echo "Cleaning..."
	go clean

# Format code
fmt:
	@echo "Formatting code..."
	go fmt ./...
	goimports -w .

# Run linter
lint:
	@echo "Running linter..."
	golint ./...

# Install dependencies
install:
	@echo "Installing dependencies..."
	go mod download
	go mod tidy

# Development setup
dev-setup: install
	@echo "Setting up development environment..."
	go install golang.org/x/tools/cmd/goimports@latest
	go install golang.org/x/lint/golint@latest