[CmdletBinding()] param() $ErrorActionPreference = 'Stop' $projectRoot = (Resolve-Path (Join-Path $PSScriptRoot '..')).Path $configDirectory = Join-Path $projectRoot 'config' $secretDirectory = Join-Path $projectRoot 'secrets' $example = Join-Path $configDirectory 'migration.example.psd1' $config = Join-Path $configDirectory 'migration.psd1' $token = Join-Path $secretDirectory 'device-token.txt' New-Item -ItemType Directory -Force -Path $configDirectory, $secretDirectory | Out-Null if (-not (Test-Path -LiteralPath $config)) { Copy-Item -LiteralPath $example -Destination $config Write-Host "Created: $config" } else { Write-Host "Kept existing: $config" } if (-not (Test-Path -LiteralPath $token)) { New-Item -ItemType File -Path $token | Out-Null Write-Host "Created empty token file: $token" } else { Write-Host "Kept existing: $token" } Write-Host '' Write-Host 'Next steps:' Write-Host '1. Edit config\migration.psd1.' Write-Host '2. Paste the server A device token into secrets\device-token.txt.' Write-Host '3. Run scripts\build-migrated-apk.ps1.'