Seeds/PSScriptAnalyzerSettings.psd1

# PSScriptAnalyzer settings for this repository.
# Severity Error and Warning fail the build. Justify any new exclusion.
#
# Default target: PS 5.1 (powershell.exe) with PS 7 (pwsh) enhancements where
# available. See docs/standards/powershell-psanalyzer-pester.md for the
# required script prologue, approved verbs, and SuppressMessageAttribute
# policy.

@{
    # Severity floor: anything at or above this level fails the build.
    Severity            = @('Error', 'Warning')

    # Run all default rules unless explicitly excluded below.
    IncludeDefaultRules = $true

    # Exclusions must be justified per docs/standards/powershell-psanalyzer-pester.md.
    # Do NOT add to this list without an entry in the standards doc explaining
    # why the rule is wrong for this repo. Prefer per-line SuppressMessage
    # attributes over global exclusion.
    ExcludeRules        = @(
        # UTF-8 without BOM is the repo standard; em dashes in operator comments are intentional.
        'PSUseBOMForUnicodeEncodedFile'
    )

    Rules               = @{
        PSUseCompatibleSyntax      = @{
            Enable         = $true
            TargetVersions = @('5.1', '7.4')
        }
        PSPlaceOpenBrace           = @{
            Enable       = $true
            OnSameLine   = $true
            NewLineAfter = $true
        }
        PSPlaceCloseBrace          = @{
            Enable       = $true
            NewLineAfter = $true
        }
        PSUseConsistentIndentation = @{
            Enable          = $true
            Kind            = 'tab'
            IndentationSize = 1
        }
    }
}