param( [switch]$DryRunPublish ) $ErrorActionPreference = "Stop" $Root = Resolve-Path (Join-Path $PSScriptRoot "..\..\..") Push-Location $Root try { Write-Host "[verify] npm pack + install smoke + npx smoke" -ForegroundColor Cyan npm run claude-voc:npm-pack if ($DryRunPublish) { $ManifestPath = Join-Path $Root "dist\npm\claude-code-voc-npm-package-manifest.json" $Manifest = Get-Content $ManifestPath -Raw | ConvertFrom-Json $Tarball = Join-Path $Root $Manifest.tarball Write-Host "[verify] npm publish dry-run" -ForegroundColor Cyan npm publish $Tarball --access public --dry-run } Write-Host "[done] npm package verification passed" -ForegroundColor Green } finally { Pop-Location }