Public/Get-KritOpenApiBanner.ps1
|
function Get-KritOpenApiBanner { <# .SYNOPSIS Resolve the canonical Kritical brand banner string. 3-tier fallback per CLAUDE.md HARD RULE 13. .DESCRIPTION 1. OneDrive Kritical-Branding/public/KriticalLogo.txt (preferred) 2. OneDrive Github-SecretsOutsideOfGitRepos/KriticalLogo.txt (legacy) 3. Bundled Assets/kritical-logo.txt (works on clean install w/o OneDrive) .PARAMETER Title Optional script/module name to stamp under the banner. #> [CmdletBinding()] param([string]$Title) $candidates = @( 'C:\Users\joshl\OneDrive - Kritical Pty Ltd\Kritical-Branding\public\KriticalLogo.txt' 'C:\Users\joshl\OneDrive - Kritical Pty Ltd\Github-SecretsOutsideOfGitRepos\KriticalLogo.txt' ) $modRoot = Split-Path -Parent (Split-Path -Parent $PSCommandPath) $bundled = Join-Path $modRoot 'Assets/kritical-logo.txt' $candidates += $bundled $banner = $null foreach ($p in $candidates) { if (Test-Path -LiteralPath $p) { $banner = Get-Content -LiteralPath $p -Raw break } } if (-not $banner) { $banner = "Kritical Pty Ltd — Krit.OpenApi" } if ($Title) { $banner += "`n[$Title]`n" } $banner } |