param( [string]$EnvPath = "$PSScriptRoot/../.env", [switch]$Persist ) if (-not (Test-Path -LiteralPath $EnvPath)) { throw "Cannot find .env file at $EnvPath" } Get-Content -LiteralPath $EnvPath | Where-Object { $_ -and $_ -notmatch '^\s*#' } | ForEach-Object { $parts = $_ -split '=', 2 if ($parts.Length -eq 2) { $key = $parts[0].Trim() $value = $parts[1].Trim() [Environment]::SetEnvironmentVariable($key, $value, 'Process') if ($Persist) { [Environment]::SetEnvironmentVariable($key, $value, 'User') } } } Write-Host "Loaded environment variables from $EnvPath"