Files
AppKit/PSScriptAnalyzerSettings.psd1
T
james.maesandCodex 36886cbaae ci: enforce release, script, and review quality gates
Pin reusable workflows to published standards 0.1.2. Require tagged commits
on main, rerun the main quality and security gates before release, and fail
preflight when NuGet publishing configuration is missing.

Add pinned pre-commit hooks, JavaScript lint and dependency verification,
PowerShell analysis and coverage-gate regression tests, and a trusted
current-commit review-record check. Document the single-maintainer limitations
and the unfinished OpenSSF assessment without claiming certification.

Validation: seven Node and four Pester tests passed, lint and workflow checks
passed, and 83 npm registry signatures plus 20 attestations verified. Full
AppKit build, unit coverage and UI gates passed. Live check enforcement and
owner attestations remain tracked follow-up work.

Refs: #4, #6, #7, #8, #13, #15, #18
Co-Authored-By: Codex (GPT-6) <noreply@openai.com>
Signed-off-by: James Maes <james@kof22.com>
2026-10-10 12:50:05 -05:00

57 lines
2.2 KiB
PowerShell

# KofTwentyTwo PowerShell analysis (K22-CODE-SH-05). CI runs:
# Invoke-ScriptAnalyzer -Path . -Recurse -Settings ./PSScriptAnalyzerSettings.psd1 -EnableExit
# and `Invoke-Formatter` with the same settings for layout. PowerShell supports the
# Kingsrook layout fully: next-line (Allman) braces and 3-space indentation.
@{
Severity = @('Error', 'Warning', 'Information')
IncludeDefaultRules = $true
ExcludeRules = @()
Rules = @{
PSPlaceOpenBrace = @{
Enable = $true
OnSameLine = $false
NewLineAfter = $true
IgnoreOneLineBlock = $true
}
PSPlaceCloseBrace = @{
Enable = $true
NewLineAfter = $true
IgnoreOneLineBlock = $true
NoEmptyLineBefore = $true
}
PSUseConsistentIndentation = @{
Enable = $true
IndentationSize = 3
Kind = 'space'
PipelineIndentation = 'IncreaseIndentationForFirstPipeline'
}
PSUseConsistentWhitespace = @{
Enable = $true
CheckInnerBrace = $true
# Kingsrook writes if(...) with no space; the rule cannot require that, so it
# is not checked either way.
CheckOpenParen = $false
CheckOpenBrace = $false
# Kingsrook aligns the `=` of consecutive assignments (PSAlignAssignmentStatement
# below); CheckOperator would then flag every aligned line, so it is off.
CheckOperator = $false
CheckPipe = $true
CheckSeparator = $true
CheckParameter = $true
}
PSAlignAssignmentStatement = @{
Enable = $true
CheckHashtable = $true
}
PSUseCorrectCasing = @{ Enable = $true }
PSAvoidUsingCmdletAliases = @{ Enable = $true }
PSAvoidUsingWriteHost = @{ Enable = $true }
PSProvideCommentHelp = @{
Enable = $true
ExportedOnly = $false
BlockComment = $true
Placement = 'before'
}
}
}