run_debug.sh
Rama main · réplica de lectura del repositorio original.
#!/usr/bin/env bash
# ──────────────────────────────────────────────────────────────────────────────
# Spendif.ai — Avvio in MODALITÀ SVILUPPATORE (AI-193)
#
# Lancia l'app con SPENDIFAI_DEV_MODE già impostata, così in sidebar compare
# la voce "🔬 Debugger" (pagina di trace pipeline, nessuna scrittura su DB).
#
# Uso: ./run_debug.sh
# Stop: Ctrl-C
# ──────────────────────────────────────────────────────────────────────────────
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$SCRIPT_DIR"
VENV_DIR="$SCRIPT_DIR/.venv"
APP="$SCRIPT_DIR/app.py"
PORT="${SPENDIFAI_DEBUG_PORT:-8599}"
if [ ! -x "$VENV_DIR/bin/python" ]; then
echo "[ERROR] venv non trovato in $VENV_DIR — esegui prima 'uv sync'." >&2
exit 1
fi
# La variabile che sblocca la pagina dev — già impostata qui.
export SPENDIFAI_DEV_MODE=1
echo "[INFO] Modalità sviluppatore attiva (SPENDIFAI_DEV_MODE=1)"
echo "[INFO] Apri: http://localhost:${PORT} → sidebar → 🔬 Debugger"
# Invochiamo streamlit come modulo via il python del venv: i wrapper in
# .venv/bin/ (streamlit, uvicorn) hanno shebang assoluti che si rompono se la
# cartella del progetto viene rinominata (es. Spendify → Spendif-ai).
exec "$VENV_DIR/bin/python" -m streamlit run "$APP" \
--server.port "$PORT" \
--server.headless false \
--browser.gatherUsageStats false