function Initialize-PowerShellEnvironment { Write-Host "Initializing PowerShell environment..." -ForegroundColor Yellow # Add any environment setup logic here, such as importing modules, setting variables, etc. # Example: Import-Module SomeModule Import-Module powershell-yaml -ErrorAction SilentlyContinue Write-Host "PowerShell environment initialized." -ForegroundColor Green } function Initialize-GenerateTools { Write-Host "Initializing Node.js dependencies..." -ForegroundColor Yellow Push-Location -StackName NodeTools (Join-Path $PSScriptRoot "../tools/") Get-childitem -Path . -Directory | ForEach-Object { Write-Host "Initializing $($_.Name)..." -ForegroundColor Cyan Push-Location -StackName NodeTools $_.FullName try { # Install Node.js dependencies & npm install if ($LASTEXITCODE -ne 0) { Write-Error "npm install failed with exit code $LASTEXITCODE." exit 1 } } catch { Write-Error "npm install failed for $($_.Name): $_" exit 1 } finally { Pop-Location -StackName NodeTools } } Pop-Location -StackName NodeTools Write-Host "Node.js dependencies initialized." -ForegroundColor Green } function Invoke-Main { Write-Host "Preparing environment..." -ForegroundColor Cyan Write-Host Initialize-PowerShellEnvironment Write-Host Initialize-GenerateTools Write-Host Write-Host "Environment preparation complete!" -ForegroundColor Green } Invoke-Main