What problem does it solve?
Writing clear, correctly-coded MSBuild diagnostics is hard: messages must be actionable, assigned the right MSBxxxx code from the correct Strings.resx range, localized properly, and chosen at a severity that does not silently break WarnAsError builds.
Core Features & Use Cases
- Message Quality Rules: Enforces the what/why/what-to-do structure so every diagnostic helps developers fix problems without reading source code.
- Severity Decision Framework: Provides a decision tree for error vs warning vs message, including the WarnAsError breaking-change constraint and ChangeWave gating.
- Code Assignment & Localization: Documents MSBxxxx code ranges per assembly, Strings.resx conventions with {StrBegin} comments, and the .xlf generation workflow.
- Use Case: When adding a new MSB4xxx engine error for an invalid project file, follow the checklist to pick the code, write the resource string with placeholder documentation, consume it via LogErrorWithCodeFromResources, and verify with a test.
Quick Start
Ask the assistant to help author a new MSBuild warning for a specific condition, including the MSB code, resource string, and severity recommendation.