Files
brain-template/scripts/dev-start.sh

62 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# dev-start.sh — Démarre l'environnement dev brain local complet
# Usage : bash scripts/dev-start.sh
#
# Lance :
# 1. brain-engine/server.py → port 7700 (BRAIN_TIER=owner)
# 2. brain-ui (Vite) → port 5173
#
# Arrêt propre : Ctrl+C (trap SIGINT → kill les deux processus)
set -euo pipefail
BRAIN_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
LOG_SERVER="$BRAIN_ROOT/brain-engine/server-dev.log"
LOG_VITE="/tmp/vite-brain.log"
# Charger les secrets si disponibles (silencieux)
SECRETS_FILE="$HOME/Dev/BrainSecrets/MYSECRETS"
if [[ -f "$SECRETS_FILE" ]]; then
set -a && source "$SECRETS_FILE" && set +a
fi
# Override tier owner en dev — pas de token requis
export BRAIN_TIER=owner
cleanup() {
echo ""
echo "→ Arrêt dev-start..."
kill "$PID_SERVER" 2>/dev/null || true
kill "$PID_VITE" 2>/dev/null || true
exit 0
}
trap cleanup SIGINT SIGTERM
# Tuer les instances précédentes si elles tournent
lsof -ti:7700 | xargs kill 2>/dev/null || true
lsof -ti:5173 | xargs kill 2>/dev/null || true
sleep 1
echo "🧠 brain-engine → http://localhost:7700 (log: $LOG_SERVER)"
python3 "$BRAIN_ROOT/brain-engine/server.py" > "$LOG_SERVER" 2>&1 &
PID_SERVER=$!
echo "🎨 brain-ui → http://localhost:5173/ui/"
cd "$BRAIN_ROOT/brain-ui" && npm run dev > "$LOG_VITE" 2>&1 &
PID_VITE=$!
echo ""
echo "Ctrl+C pour tout arrêter"
echo "---"
# Attendre que les deux process soient up
sleep 3
if kill -0 "$PID_SERVER" 2>/dev/null && kill -0 "$PID_VITE" 2>/dev/null; then
echo "✅ brain-engine PID $PID_SERVER"
echo "✅ brain-ui PID $PID_VITE"
else
echo "❌ Un process n'a pas démarré — vérifier les logs"
fi
wait