#!/usr/bin/env bash # Ageri installer — Linux & macOS # Usage: curl -sSL https://get.ageri.ai/install.sh | bash set -e AGERI_REPO="https://github.com/misterhuydo/ageri" AGERI_HOME="${AGERI_HOME:-$HOME/ageri}" PORT="${AGERI_PORT:-7821}" VENV="$AGERI_HOME/venv" MIN_PYTHON_MINOR=10 _red() { printf '\033[31m%s\033[0m\n' "$*"; } _green() { printf '\033[32m%s\033[0m\n' "$*"; } _bold() { printf '\033[1m%s\033[0m\n' "$*"; } echo "" _bold " Ageri — Personal AI Operating System" echo " ───────────────────────────────────────" echo "" # ── 1. Check Python ────────────────────────────────────────────────────────── if ! command -v python3 &>/dev/null; then _red "Error: Python 3 not found. Install from https://python.org and re-run." exit 1 fi PYTHON_MAJOR=$(python3 -c 'import sys; print(sys.version_info.major)') PYTHON_MINOR=$(python3 -c 'import sys; print(sys.version_info.minor)') if [ "$PYTHON_MAJOR" -lt 3 ] || { [ "$PYTHON_MAJOR" -eq 3 ] && [ "$PYTHON_MINOR" -lt $MIN_PYTHON_MINOR ]; }; then _red "Error: Python 3.$MIN_PYTHON_MINOR+ required (found Python $PYTHON_MAJOR.$PYTHON_MINOR)." exit 1 fi echo " ✓ Python $PYTHON_MAJOR.$PYTHON_MINOR" # ── 2. Create workspace ─────────────────────────────────────────────────────── mkdir -p "$AGERI_HOME" # ── 3. Create / reuse venv ──────────────────────────────────────────────────── if [ ! -d "$VENV" ]; then echo " Creating virtual environment..." python3 -m venv "$VENV" fi # shellcheck disable=SC1091 source "$VENV/bin/activate" # ── 4. Install Ageri ────────────────────────────────────────────────────────── echo " Installing Ageri..." pip install --quiet --upgrade pip pip install --quiet "ageri @ git+$AGERI_REPO" _green " ✓ Ageri installed" # ── 5. Write launcher script ────────────────────────────────────────────────── LAUNCHER="$AGERI_HOME/start.sh" cat > "$LAUNCHER" << EOF #!/usr/bin/env bash source "$VENV/bin/activate" exec python -m ageri "\$@" EOF chmod +x "$LAUNCHER" # ── 6. Done ─────────────────────────────────────────────────────────────────── echo "" _bold " Done! Start Ageri:" echo "" echo " $LAUNCHER" echo "" echo " Then open: http://localhost:$PORT" echo "" echo " To start Ageri automatically on login, add this to your shell profile:" echo " nohup $LAUNCHER &>/dev/null &" echo ""