.PHONY: help install install-dev lint lint-fix format format-check type-check test test-cov validate clean run # Ensure commands in this project don't inherit an external Python virtualenv # (prevents uv warnings about mismatched VIRTUAL_ENV when running from repo root) unexport VIRTUAL_ENV # Default target help: @echo "LLM Gateway MCP Server - Development Commands" @echo "" @echo "Setup:" @echo " make install - Install production dependencies" @echo " make install-dev - Install development dependencies" @echo "" @echo "Quality Checks:" @echo " make lint - Run Ruff linter" @echo " make lint-fix - Run Ruff linter with auto-fix" @echo " make format - Format code with Ruff" @echo " make format-check - Check if code is formatted" @echo " make type-check - Run mypy type checker" @echo "" @echo "Testing:" @echo " make test - Run pytest" @echo " make test-cov - Run pytest with coverage" @echo "" @echo "All-in-one:" @echo " make validate - Run all checks (lint + format + types)" @echo "" @echo "Running:" @echo " make run - Run the server locally" @echo "" @echo "Cleanup:" @echo " make clean - Remove cache and build artifacts" # Setup install: @echo "Installing production dependencies..." @uv pip install -e . install-dev: @echo "Installing development dependencies..." @uv pip install -e ".[dev]" # Quality checks lint: @echo "Running Ruff linter..." @uv run ruff check . lint-fix: @echo "Running Ruff linter with auto-fix..." @uv run ruff check --fix . format: @echo "Formatting code..." @uv run ruff format . format-check: @echo "Checking code formatting..." @uv run ruff format --check . type-check: @echo "Running mypy..." @uv run mypy . --ignore-missing-imports # Testing test: @echo "Running tests..." @uv run pytest tests/ -v test-cov: @echo "Running tests with coverage..." @uv run pytest tests/ -v --cov=. --cov-report=term-missing --cov-report=html # All-in-one validation validate: lint format-check type-check @echo "All validations passed!" # Running run: @echo "Starting LLM Gateway server..." @uv run python server.py # Cleanup clean: @echo "Cleaning up..." @rm -rf __pycache__ .pytest_cache .mypy_cache .ruff_cache .coverage htmlcov @find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true @find . -type f -name "*.pyc" -delete 2>/dev/null || true