.PHONY: help install test lint format clean run docker-build docker-up docker-down

help:
	@echo "OpenClip - AI Creative Studio"
	@echo ""
	@echo "Usage: make [target]"
	@echo ""
	@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "  %-20s %s\n", $$1, $$2}' $(MAKEFILE_LIST)

install: ## Install dependencies
	pip install -e ".[dev]"

test: ## Run tests
	pytest tests/ -v

lint: ## Run linter
	ruff check src/ tests/

format: ## Format code
	ruff format src/ tests/

type-check: ## Run type checker
	mypy src/

clean: ## Clean build artifacts
	rm -rf .pytest_cache .mypy_cache .ruff_cache
	rm -rf dist build
	find . -type d -name __pycache__ -exec rm -rf {} +

run: ## Run CLI
	openclip

docker-build: ## Build Docker image
	docker build -t openclip:latest .

docker-up: ## Start Docker Compose
	docker-compose up --build

docker-down: ## Stop Docker Compose
	docker-compose down

check: lint type-check test ## Run all checks
