# Project Makefile

PYTHON = python

.PHONY: setup test lint typecheck check clean network-setup dev-setup

# Install dev dependencies + tox
setup:
	$(PYTHON) -m pip install --upgrade pip
	$(PYTHON) -m pip install tox black ruff mypy

# Run tests (pass ARGS="..." for specific tests)
test:
	tox -- $(ARGS)

# Code formatting check + linting
lint:
	ruff .
	black --check .

# Static type checks
typecheck:
	mypy .

# Full quality check (all checks + tests)
check: lint typecheck test

# Clean up tox environments
clean:
	rm -rf .tox

# Create shared Docker network required by dev container (idempotent)
network-setup:
	docker network create shared-dev 2>/dev/null || true

# First-time dev environment setup
dev-setup: network-setup
	@echo "Dev environment ready. Open the repo in VS Code and select 'Reopen in Container'."
