Files
YesChef/scripts/dev-up.ps1
T
Josh Rogers aa530cba97 Add scripts/dev-up.ps1 to launch the whole local dev stack
Single command brings up Postgres (via dev-db.ps1), the backend API,
and the Vite frontend. API and frontend each get their own PowerShell
window so logs do not interleave and Ctrl+C only kills the intended
process. Email links print to the API window via LoggingEmailSender.
2026-05-08 23:10:27 -05:00

50 lines
1.7 KiB
PowerShell

#!/usr/bin/env pwsh
<#
.SYNOPSIS
Bring up the full local dev stack: Postgres + backend API + Vite frontend.
.DESCRIPTION
Starts the dev Postgres container (via dev-db.ps1), then spawns the API and
frontend in their own PowerShell windows so each keeps its own scrollback
and Ctrl+C only kills the intended process. The API log window is where
invite/reset email links print (LoggingEmailSender output).
Stop everything by closing the two spawned windows. The DB stays up across
runs; use './scripts/dev-db.ps1 stop' or 'reset' to manage it explicitly.
.EXAMPLE
./scripts/dev-up.ps1
#>
param()
$ErrorActionPreference = 'Stop'
$RepoRoot = Resolve-Path "$PSScriptRoot/.."
# 1. Database
& "$PSScriptRoot/dev-db.ps1" start
# 2. Backend API. Tag the window title so it's easy to find when stopping.
Write-Host "Launching backend in a new window..." -ForegroundColor Cyan
Start-Process pwsh -ArgumentList @(
'-NoExit',
'-Command',
"`$Host.UI.RawUI.WindowTitle = 'YesChef API'; dotnet run --project '$RepoRoot/src/backend/YesChef.Api'"
)
# 3. Frontend (Vite dev server, with the existing /api + /hubs proxy).
Write-Host "Launching frontend in a new window..." -ForegroundColor Cyan
Start-Process pwsh -ArgumentList @(
'-NoExit',
'-Command',
"`$Host.UI.RawUI.WindowTitle = 'YesChef Frontend'; npm --prefix '$RepoRoot/src/frontend' run dev"
)
Write-Host ""
Write-Host "Stack is starting. URLs:" -ForegroundColor Green
Write-Host " Frontend: http://localhost:5173"
Write-Host " API : http://localhost:5291"
Write-Host ""
Write-Host "Invite and password-reset links print to the API window (LoggingEmailSender)."
Write-Host "Close the two spawned windows to stop. DB remains up; manage with scripts/dev-db.ps1."