SHELL := /bin/bash
PY ?= .venv/bin/python
SLUG := harness-agent-navigateur
-include .env
export

.DEFAULT_GOAL := help
help: ## Liste les commandes
	@grep -hE '^[a-z0-9-]+:.*## ' $(MAKEFILE_LIST) | awk -F':.*## ' '{printf "  make %-13s %s\n", $$1, $$2}'

setup: ## Crée .venv, installe les dépendances et Chromium
	@test -d .venv || python3 -m venv .venv
	@.venv/bin/pip install -q -r requirements.txt
	@$(PY) -m playwright install chromium
	@test -f .env || cp .env.example .env
	@echo "Prêt. Renseignez .env puis : make test"

test: ## Tests sans clé ni Internet (back-office local + Chromium headless + faux modèle)
	@$(PY) -m pytest

app: ## Sert le back-office fictif sur http://127.0.0.1:8791 (navigation manuelle)
	@$(PY) run.py --app

run: ## Démo : tâche « statut », confirmation demandée dans le terminal (TACHE=toutes pour les 5)
	@$(PY) run.py --tache $(or $(TACHE),statut)

e2e: ## Les 5 tâches avec le vrai modèle, opérateur scripté, rapport dans sorties/
	@$(PY) run.py --e2e

clean: ## Supprime traces, captures, téléchargements et caches
	@rm -rf sorties/ .pytest_cache __pycache__ */__pycache__
	@echo "Artefacts supprimés."

reset: clean ## clean + supprime .venv (garde .env)
	@rm -rf .venv
	@echo "Environnement supprimé (.env conservé)."

up: ## Sans objet : le back-office tourne dans le processus de la démo
	@echo "Pas de pile à démarrer : make app sert le back-office, make run lance l'agent."

down: ## Sans objet : aucun conteneur ni service persistant
	@echo "Rien à arrêter : le back-office s'arrête avec le processus qui l'a lancé."

cloud-up: ## Sans objet : projet sans Google Cloud
	@echo "Ce projet n'utilise que l'API Gemini (clé AI Studio) : aucune ressource cloud à créer."

cloud-down: ## Sans objet : aucune ressource cloud créée
	@echo "Aucune ressource Google Cloud créée par ce projet : rien à supprimer."

cloud-status: ## Sans objet
	@echo "Aucune ressource Google Cloud pour $(SLUG)."
