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>
57 lines
2.2 KiB
PowerShell
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'
|
|
}
|
|
}
|
|
}
|