.PHONY: help install install-dev test lint format clean build run docker-build docker-up docker-down docker-logs generate-key rotate-key check-key-age validate-audit

help:
	@echo "AegisGitea MCP - Available Commands"
	@echo ""
	@echo "Development:"
	@echo "  make install        Install production dependencies"
	@echo "  make install-dev    Install development dependencies"
	@echo "  make test           Run tests with coverage"
	@echo "  make lint           Run linters (ruff, mypy)"
	@echo "  make format         Format code with black"
	@echo "  make clean          Remove build artifacts"
	@echo ""
	@echo "API Key Management:"
	@echo "  make generate-key   Generate new API key"
	@echo "  make rotate-key     Rotate existing API key"
	@echo "  make check-key-age  Check API key age and expiration"
	@echo ""
	@echo "Local Execution:"
	@echo "  make run            Run server locally (requires .env)"
	@echo ""
	@echo "Docker:"
	@echo "  make docker-build   Build Docker image"
	@echo "  make docker-up      Start containers"
	@echo "  make docker-down    Stop containers"
	@echo "  make docker-logs    View container logs"
	@echo "  make docker-restart Restart MCP container"
	@echo ""

install:
	pip install -r requirements.txt

install-dev:
	pip install -r requirements-dev.txt
	pre-commit install

test:
	pytest tests/ -v --cov=aegis_gitea_mcp --cov-report=html --cov-report=term --cov-fail-under=80

lint:
	ruff check src/ tests/
	ruff format --check src/ tests/
	black --check src/ tests/
	mypy src/

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

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

build:
	python -m build

run:
	python3 -m aegis_gitea_mcp.server

docker-build:
	docker-compose build

docker-up:
	docker-compose --profile prod up -d

docker-down:
	docker-compose down

docker-logs:
	docker-compose logs -f aegis-mcp

docker-restart:
	docker-compose restart aegis-mcp

docker-shell:
	docker-compose exec aegis-mcp /bin/bash

generate-key:
	python3 scripts/generate_api_key.py

rotate-key:
	python3 scripts/rotate_api_key.py

check-key-age:
	python3 scripts/check_key_age.py

validate-audit:
	python3 scripts/validate_audit_log.py
