* style: adopt the Kingsrook C# layout and the standard .NET quality gate The standard .editorconfig and Directory.Build.props from KofTwentyTwo/standards (3-space indent, Allman braces, `if(` without a space, file-scoped namespaces, var only when apparent, `s_` static fields, IDE0055 and the Meziantou analyzers as build errors, NuGetAudit on the whole graph, CI-conditional locked restore), central package management in Directory.Packages.props, LF line endings via .gitattributes, and the SPDX header on every C# file. Members are separated by three blank lines, one top-level type per file (24 types moved into their own files), ArgumentException parameter names, bounded regex match times, the announcement event in the EventHandler<AnnouncementEventArgs> shape, and the CLI sync command split into option parsing, the run, and summary reporting. Repository-specific adjustments, each justified in .editorconfig: namespaces keep the product name `gclo`; MA0051 flags only extremes (160 lines / 100 statements); the app project keeps CA1822, IDE0051/52 (XAML-referenced handlers; dotnet format's fixer would delete them) and IDE0060 (handler signatures) off; XAML stays at 4 spaces. PowerShell scripts use the standard PSScriptAnalyzer settings: strict mode, comment-based help, Allman and 3-space layout, no Write-Host; the NuGet update script now edits Directory.Packages.props. The CI format gate runs at --severity warn and PSScriptAnalyzer. Behavior is unchanged: Engine 422, CLI 129 and FlaUI 11 tests pass, line coverage stays at 100%. Closes #65 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: James Maes <james@kof22.com> * ci: analyze PowerShell scripts one file at a time PSScriptAnalyzer 1.25.0 intermittently fails with "Object reference not set to an instance of an object" when Invoke-ScriptAnalyzer is handed a directory (it passed on the same scripts an hour earlier, and locally the same call crashes on some runs and not others). Handing it one script per call never crashed in repeated local runs, so the format job now loops over the scripts. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: James Maes <james@kof22.com> --------- Signed-off-by: James Maes <james@kof22.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
10 lines
377 B
Plaintext
10 lines
377 B
Plaintext
# Text is stored and checked out as LF everywhere (K22-CODE-07), matching
|
|
# .editorconfig (end_of_line = lf) so the dotnet format gate behaves the same at
|
|
# developers' desks and on CI runners regardless of their git config. Windows-only
|
|
# script formats that require CRLF are the exception.
|
|
* text=auto eol=lf
|
|
*.cmd text eol=crlf
|
|
*.bat text eol=crlf
|
|
*.png binary
|
|
*.ico binary
|