# Flowerfy Development Commands .PHONY: help install format lint type-check test clean dev help: ## Show this help message @echo "🌸 Flowerfy Development Commands" @echo "================================" @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' install: ## Install all dependencies (production + development) uv sync --all-extras --group dev setup: ## Setup pre-commit hooks uv run pre-commit install format: ## Format code with ruff uv run ruff format . lint: ## Lint code with ruff uv run ruff check --fix . check: ## Check code without fixing uv run ruff check . type-check: ## Run type checking with mypy uv run mypy . --ignore-missing-imports quality: format lint type-check ## Run all code quality checks test: ## Run tests uv run python tests/test_models.py download: ## Download all models ./download_models.sh clean: ## Clean up cache files find . -type d -name "__pycache__" -delete find . -type f -name "*.pyc" -delete find . -type f -name "*.pyo" -delete dev: ## Start development server (with external SSD cache) ./run.sh dev-internal: ## Start development server (with internal cache) uv run python app.py test-cache: ## Test external SSD cache configuration @if [ -d "/Volumes/extssd" ]; then \ export HF_HOME="/Volumes/extssd/huggingface" && uv run python test_external_cache.py; \ else \ echo "❌ External SSD not found at /Volumes/extssd"; \ fi all: install setup quality test ## Run complete setup and checks