feat: restore and update installer/launcher scripts

- Restore Install-Windows.bat with npm primary + ZIP fallback for OpenCode
- Restore Install-Linux.sh with npm primary + ZIP fallback for OpenCode
- Restore Install-Mac.sh with npm primary + ZIP fallback for OpenCode
- Add Launch-Windows.bat launcher with dependency checking and port detection
- Add Launch-Unix.sh launcher for Linux/macOS
- Add Launch-Dev-Windows.bat for development mode
- All scripts use actual GitHub releases URLs for OpenCode
- Enhanced with comprehensive error handling and user guidance
This commit is contained in:
Gemini AI
2025-12-23 12:39:50 +04:00
Unverified
parent 5846126170
commit f365d64c97
6 changed files with 1361 additions and 0 deletions

125
Launch-Dev-Windows.bat Normal file
View File

@@ -0,0 +1,125 @@
@echo off
title NomadArch Development Launcher
color 0B
setlocal enabledelayedexpansion
echo.
echo ███╗ ██╗ ██████╗ ███╗ ███╗ █████╗ ██████╗ █████╗ ██████╗ ██████╗██╗ ██╗
echo ████╗ ██║██╔═══██╗████╗ ████║██╔══██╗██╔══██╗██╔══██╗██╔════╝██║ ██║
echo ██╔██╗ ██║██║ ██║██╔████╔██║███████║██║ ██║███████║██████╔╝██║ ███████║
echo ██║╚██╗██║██║ ██║██║╚██╔╝██║██╔══██║██║ ██║██╔══██║██╔══██╗██║ ██╔══██║
echo ██║ ╚████║╚██████╔╝██║ ╚═╝ ██║██║ ██║██████╔╝██║ ██║██║ ██║╚██████╗██║ ██║
echo ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
echo.
echo DEVELOPMENT MODE - Separate Server & UI Terminals
echo ═════════════════════════════════════════════════════════════════════════════
echo.
cd /d "%~dp0"
echo [STEP 1/4] Checking Dependencies...
echo.
where node >nul 2>&1
if %ERRORLEVEL% neq 0 (
echo [ERROR] Node.js not found!
echo.
echo Please install Node.js first: https://nodejs.org/
echo.
pause
exit /b 1
)
for /f "tokens=*" %%i in ('node --version') do set NODE_VERSION=%%i
echo [OK] Node.js: %NODE_VERSION%
where npm >nul 2>&1
if %ERRORLEVEL% neq 0 (
echo [ERROR] npm not found!
echo.
pause
exit /b 1
)
for /f "tokens=*" %%i in ('npm --version') do set NPM_VERSION=%%i
echo [OK] npm: %NPM_VERSION%
echo.
echo [STEP 2/4] Checking for OpenCode CLI...
echo.
where opencode >nul 2>&1
if %ERRORLEVEL% equ 0 (
echo [OK] OpenCode is available in PATH
) else (
if exist "bin\opencode.exe" (
echo [OK] OpenCode binary found in bin/ folder
) else (
echo [WARN] OpenCode CLI not found
echo [INFO] Run Install-Windows.bat to install OpenCode
)
)
echo.
echo [STEP 3/4] Checking Port Availability...
echo.
set SERVER_PORT=3001
set UI_PORT=3000
netstat -ano | findstr ":%SERVER_PORT%" | findstr "LISTENING" >nul 2>&1
if %ERRORLEVEL% equ 0 (
echo [WARN] Port %SERVER_PORT% is already in use
echo [INFO] Another NomadArch instance may be running
echo [INFO] To find process: netstat -ano | findstr ":%SERVER_PORT%"
echo [INFO] To kill it: taskkill /F /PID ^<PID^>
) else (
echo [OK] Port %SERVER_PORT% is available
)
netstat -ano | findstr ":%UI_PORT%" | findstr "LISTENING" >nul 2>&1
if %ERRORLEVEL% equ 0 (
echo [WARN] Port %UI_PORT% is already in use
echo [INFO] To find process: netstat -ano | findstr ":%UI_PORT%"
echo [INFO] To kill it: taskkill /F /PID ^<PID^>
) else (
echo [OK] Port %UI_PORT% is available
)
echo.
echo [STEP 4/4] Starting NomadArch in Development Mode...
echo.
echo [INFO] This will open 3 separate terminal windows:
echo 1. Backend Server (port 3001)
echo 2. Frontend UI (port 3000)
echo 3. Electron App
echo.
echo [INFO] Press any key to start...
pause >nul
echo.
echo [INFO] Starting Backend Server...
start "NomadArch Server" cmd /k "cd /d \"%~dp0packages\server\" && npm run dev"
echo [INFO] Starting Frontend UI...
start "NomadArch UI" cmd /k "cd /d \"%~dp0packages\ui\" && npm run dev"
echo [INFO] Starting Electron App...
start "NomadArch Electron" cmd /k "cd /d \"%~dp0packages\electron-app\" && npm run dev"
echo.
echo [OK] All services started!
echo.
echo Press any key to stop all services (Ctrl+C in each window also works)...
pause >nul
echo.
echo [INFO] Stopping all services...
taskkill /F /FI "WINDOWTITLE eq NomadArch*" >nul 2>&1
taskkill /F /FI "WINDOWTITLE eq NomadArch Server*" >nul 2>&1
taskkill /F /FI "WINDOWTITLE eq NomadArch UI*" >nul 2>&1
taskkill /F /FI "WINDOWTITLE eq NomadArch Electron*" >nul 2>&1
echo [OK] All services stopped.
echo.
pause