.PHONY: run test lint migrate-up migrate-down migrate-create migrate-status docker-up docker-down docker-logs ifneq (,$(wildcard .env)) include .env export endif # Run for development run: go run ./cmd/server # Tests test: go test ./... -v -race -count=1 # Integration tests (require Docker) test-integration: go test -tags=integration ./... -v -race -count=1 # Linter lint: golangci-lint run ./... # Migrations migrate-up: goose -dir migrations postgres "$(DATABASE_URL)" up migrate-down: goose -dir migrations postgres "$(DATABASE_URL)" down migrate-create: goose -dir migrations create $(name) sql migrate-status: goose -dir migrations postgres "$(DATABASE_URL)" status # Docker docker-up: docker compose up -d docker-down: docker compose down docker-logs: docker compose logs -f app