qq-cli 0.1.0

A modular Rust QQ task interface for coding agents
$ErrorActionPreference = 'Stop'
$projectRoot = Split-Path -Parent $PSScriptRoot

function Invoke-CargoCheck {
    param([string[]] $CargoArguments)
    & cargo @CargoArguments
    if ($LASTEXITCODE -ne 0) {
        throw "Cargo check failed: $($CargoArguments -join ' ')"
    }
}

Push-Location -LiteralPath $projectRoot
try {
    & (Join-Path $PSScriptRoot 'check-architecture.ps1')
    & (Join-Path $PSScriptRoot 'check-contracts.ps1')
    & (Join-Path $PSScriptRoot 'check-release.ps1')
    & (Join-Path $PSScriptRoot 'check-install.ps1')
    & powershell.exe -NoProfile -ExecutionPolicy Bypass -File (Join-Path $PSScriptRoot 'check-install.ps1')
    if ($LASTEXITCODE -ne 0) { throw 'Windows PowerShell installer checks failed.' }
    Invoke-CargoCheck -CargoArguments @('fmt', '--all', '--', '--check')
    Invoke-CargoCheck -CargoArguments @('clippy', '--all-targets', '--offline', '--locked', '-j1', '--', '-D', 'warnings')
    Invoke-CargoCheck -CargoArguments @('test', '--offline', '--locked', '-j1', '--', '--test-threads=1')
    Invoke-CargoCheck -CargoArguments @('build', '--release', '--offline', '--locked', '--target', 'x86_64-pc-windows-msvc', '-j1')
    & (Join-Path $PSScriptRoot 'check-package.ps1')
}
finally {
    Pop-Location
}