.PHONY: help install dev test coverage lint format run clean venv docker-build docker-run

VENV := venv
PYTHON := $(VENV)/bin/python

help:
	@echo "Available targets:"
	@echo "  venv         - Create virtual environment and install dev dependencies"
	@echo "  install      - Install package in production mode"
	@echo "  dev          - Install package in development mode with dev dependencies"
	@echo "  test         - Run test suite"
	@echo "  coverage     - Run tests with coverage report"
	@echo "  lint         - Run linter"
	@echo "  format       - Format code"
	@echo "  run          - Run the MCP server"
	@echo "  clean        - Remove build artifacts"
	@echo "  docker-build - Build Docker image"
	@echo "  docker-run   - Run MCP server in Docker container"

venv:
	python3 -m venv $(VENV)
	$(VENV)/bin/pip install -e ".[dev]"

install:
	pip install .

dev:
	pip install -e ".[dev]"

test:
	pytest

coverage:
	pytest --cov=src/mcp_server_unifi --cov-report=html
	@echo "Coverage report: htmlcov/index.html"

lint:
	ruff check src/ tests/

format:
	ruff format src/ tests/
	ruff check --fix src/ tests/

run:
	python -m mcp_server_unifi

clean:
	rm -rf build/ dist/ *.egg-info/ .pytest_cache/ .coverage htmlcov/
	find . -type d -name __pycache__ -exec rm -rf {} +
	find . -type f -name "*.pyc" -delete

docker-build:
	docker build -t mcp-server-unifi .

docker-run:
	docker run --rm --env-file .env mcp-server-unifi
