What problem does it solve?
This Skill helps you modernize the NuGet.Client codebase by removing #nullable disable directives and correctly annotating nullability so C# nullable reference types can catch real bugs instead of hiding them.
Core Features & Use Cases
- Migrate files from
#nullable disable to annotated nullability: Remove the directive, add correct ?/non-null types, and fix cascading warnings in dependent code.
- Keep API correctness with PublicAPI updates: Update
PublicAPI.Shipped.txt by replacing ~ (oblivious) entries in all targeted TFMs.
- Follow a non-null bias and preserve behavior: Prefer making things non-null through
required, constructor initialization, null-checks, and safe patterns, using ? only when values are genuinely optional or absent.
- Use incremental batching for safety: Migrate in small groups of related files, build to validate, and repeat.
Quick Start
Use the nullable-enablement skill on the specific NuGet.Client files that still contain #nullable disable, then iteratively annotate nullability, update PublicAPI.Shipped.txt for each affected TFM, and run msbuild until zero warnings remain.