.PHONY: setup install install-dev install-gpu test test-contracts lint clean preflight # ---- One-command setup ---- setup: @echo "==> Installing Python dependencies..." pip install -r requirements.txt @echo "" @echo "==> Installing Remotion composer..." cd remotion-composer && npm install @echo "" @echo "==> Installing free offline TTS (Piper)..." pip install piper-tts || echo " [skip] piper-tts install failed — TTS will use cloud providers instead" @echo "" @if [ ! -f .env ]; then \ cp .env.example .env; \ echo "==> Created .env from .env.example — add your API keys there."; \ else \ echo "==> .env already exists — skipping."; \ fi @echo "" @echo "Done! Open this project in your AI coding assistant and start creating." @echo " Optional: add API keys to .env to unlock cloud providers." @echo " Optional: run 'make install-gpu' if you have an NVIDIA GPU." # ---- Individual installs ---- install: pip install -r requirements.txt install-dev: pip install -r requirements-dev.txt install-gpu: pip install -r requirements-gpu.txt pip install diffusers transformers accelerate # ---- Testing ---- test: pytest tests/ -v test-contracts: pytest tests/contracts/ -v # ---- Utilities ---- preflight: python -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.provider_menu(), indent=2))" lint: python -m py_compile tools/base_tool.py python -m py_compile tools/tool_registry.py python -m py_compile tools/cost_tracker.py clean: find . -type d -name __pycache__ -exec rm -rf {} + find . -type f -name "*.pyc" -delete