.PHONY: test test-unit test-live lint build server clean

# ── Docker Test Commands ──────────────────────────────────────

test:              ## Run all tests in Docker
	docker compose run --rm test

test-unit:         ## Run unit tests only (offline)
	docker compose run --rm test-unit

test-live:         ## Run live SEC EDGAR integration tests
	docker compose run --rm test-live

lint:              ## Run linter in Docker
	docker compose run --rm lint

server:            ## Start MCP server (HTTP mode, port 8000)
	docker compose up server

# ── Local Commands ────────────────────────────────────────────

build:             ## Build Docker images
	docker compose build

clean:             ## Remove Docker images and caches
	docker compose down --rmi local --volumes
	find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
	find . -name '*.pyc' -delete 2>/dev/null || true

# ── Local (no Docker) ────────────────────────────────────────

local-test:        ## Run tests locally (no Docker)
	PYTHONPATH=src pytest tests/ -v --tb=short

local-install:     ## Install locally in dev mode
	pip install -e ".[dev]"

help:              ## Show this help
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | \
		awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-18s\033[0m %s\n", $$1, $$2}'
