Enforce .NET Mgmt SDK naming conventions via TypeSpec linters
- Dominant language
- TypeScript
- Stars
- 27
- Forks
- 90
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 156
Description
## Summary
The Azure SDK for .NET SDK has a documented set of [naming conventions](https://github.com/Azure/azure-sdk-for-net/blob/main/doc/dev/Mgmt-Naming-Conventions.md). Today these conventions are enforced **after** the SDK is generated, via `@@clientName(..., "csharp")` decorators added during SDK review in the TypeSpec spec. This is reactive and error-prone — names that don't follow the conventions can slip through whenever a reviewer misses them.
We should enforce these rules **on the spec side** via TypeSpec linters (TCGC / typespec-azure-resource-manager rules) so that:
- Authors get immediate, actionable feedback while writing the spec.
- Generated SDKs are .NET-convention-compliant by default.
- The need for hand-authored `@@clientName(..., "csharp")` overrides drops dramatically.
This is the **parent issue** tracking a family of linter rules, one per naming convention. Each sub-issue below covers one specific rule.
Contributor guide
Research direction
Start with the linked Mgmt-Naming-Conventions.md document, then inspect the TCGC and typespec-azure-resource-manager linter entry points. This parent issue covers a family of rules rather than naming one implementation target; completion would require defining and enforcing the individual conventions, with sub-issues providing the actionable scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100