#!/usr/bin/env pwsh # 标准启动与验证入口(Windows PowerShell 版),与 init.sh 等价,二选一: # - Windows 原生 PowerShell:用本文件 ./init.ps1 # - WSL / Git Bash / macOS / Linux:用 ./init.sh # 一条命令完成:依赖安装 -> 基础验证 -> 打印启动命令。 # 三个命令是仓库统一入口;W-001 工程骨架任务负责替换为真实命令,并同步 # docs/03-tech-stack.md、docs/00-ai-start-here.md 与 docs/current-state.md。 $ErrorActionPreference = "Stop" $Utf8 = [System.Text.UTF8Encoding]::new($false) [Console]::OutputEncoding = $Utf8 $OutputEncoding = $Utf8 Set-Location -Path $PSScriptRoot $InstallCmd = 'Write-Host "[init] INSTALL_CMD 未替换:W-001 完成工程骨架后填入真实依赖同步命令"; exit 1' $VerifyCmd = 'Write-Host "[init] VERIFY_CMD 未替换:W-001 完成后填入 corpus + Schema 回归等验证命令"; exit 1' $StartCmd = 'Write-Host "[init] START_CMD 未替换:W-001 完成后填入构建/启动命令"; exit 1' Write-Host "==> 当前目录: $($PWD.Path)" Write-Host "==> 同步依赖" Invoke-Expression $InstallCmd if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } Write-Host "==> 运行基础验证" Invoke-Expression $VerifyCmd if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } Write-Host "==> 启动命令" Write-Host " $StartCmd" if ($env:RUN_START_COMMAND -eq "1") { Write-Host "==> 启动应用" Invoke-Expression $StartCmd if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } } else { Write-Host "如果希望 init.ps1 直接启动应用,请设置环境变量 RUN_START_COMMAND=1。" Write-Host "如果基础验证失败,先修复基线状态,不要在坏的起点上继续叠新功能。" }