chore: adopt the standard docs, editor config and SDK pin - #9
Merged
Conversation
PR B of the adoption sequence in ADOPTING.md. Touches no CI and needs no ruleset work. - SECURITY.md (4.11), CONTRIBUTING.md and .github/PULL_REQUEST_TEMPLATE.md (5.4), CLAUDE.md (5.7). - Canonical .gitignore and .editorconfig (5.2), both byte-identical to templates/. The .gitignore additions are load-bearing here: `**/[Cc]:/` catches the stray directory this repo's Windows-style PackageOutputPath creates on Linux, which PR C removes at the source, and `artifacts/` matches where 1.8 puts pack output. - global.json gains the SDK pin (10.0.100, rollForward latestFeature) next to the existing Microsoft.Testing.Platform runner setting (1.9). An unpinned SDK gives a contributor different analyzer results from CI, and TreatWarningsAsErrors turns that into a build that fails for them and passes for everyone else. SECURITY.md and CLAUDE.md are written for this repo rather than copied. The scope section is specific: this library opens no file, socket or OS store, so the only real boundary is terminal control sequences reaching the console through the two caller-controlled paths (AppName via Figgle, and a FromProvider tagline). CLAUDE.md's "easy to get wrong" list names the five invariants that are silent when broken -- the single-Markup-call design, the markup escaping, the duplicated line-ending normalisation, Gradient trusting SplashColors to have validated, and spaces skipping the colour escape. Two accuracy fixes while here, both required by 5.3: - README now states its target frameworks and its dependency floors, and says why the floors are not per-TFM (1.5, not 1.4 -- every dependency here is pre-1.0 and runtime-independent). - SplashTagline.RandomBuiltIn's XML doc said "~200 quotes". The pool holds 313, counted from Quotes.cs. Corrected to "~300", matching what the README already claimed. Documentation only; the pool is unchanged. Verified locally: Release build at zero warnings, 80 tests passing on both net8.0 and net10.0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
PR B of the NextIteration.Standards adoption sequence (
ADOPTING.mdstep 2). Touches no CI and needs no ruleset work.SECURITY.md(§4.11),CONTRIBUTING.mdand.github/PULL_REQUEST_TEMPLATE.md(§5.4),CLAUDE.md(§5.7)..gitignoreand.editorconfig(§5.2), both byte-identical totemplates/.global.jsongains the SDK pin (10.0.100,rollForward: latestFeature) alongside the existing Microsoft.Testing.Platform runner setting (§1.9).SECURITY.mdandCLAUDE.mdare written for this repo, not copied — a generic one is worth nothing. The security scope section is narrow because the surface is: this library opens no file, socket, or OS store, so the only real boundary is terminal control sequences reaching the console through the two caller-controlled paths (AppNamevia Figgle, and aFromProvidertagline).CLAUDE.md's "easy to get wrong" list names the five invariants that are silent when broken — the single-Markup-call design, the markup escaping, the duplicated line-ending normalisation,GradienttrustingSplashColorsto have already validated, and spaces skipping the colour escape.Two of the
.gitignoreadditions earn their place specifically here:**/[Cc]:/catches the stray directory this repo's Windows-stylePackageOutputPathcreates on Linux — PR C removes that at the source — andartifacts/matches where §1.8 puts pack output.Why
§5.2, §5.4, §5.7 and §4.11 were all failing. The SDK pin (§1.9) matters more than it looks: without it a contributor on a different feature band gets different analyzer results from CI, and
TreatWarningsAsErrorsturns that into a build that fails for them and passes for everyone else.Accuracy fixes required by §5.3
SplashTagline.RandomBuiltIn's XML doc said "~200 quotes". The pool holds 313, counted fromQuotes.cs; the README already said "~300". Corrected to match. Documentation only — the pool itself is untouched.Verification
Local, at this commit:
dotnet build --configuration Release— 0 warnings, 0 errors;dotnet test -- --coverage— 80 passed, 0 failed on bothnet8.0andnet10.0.Consumer impact
None to behaviour. One shipped file changes content: the generated XML documentation, because of the
~200→~300doc fix above. No public signature, no dependency floor, and no runtime code changes.Checklist
TreatWarningsAsErrorsis on)CHANGELOG.mdupdated under[Unreleased]🤖 Generated with Claude Code