Skip to content

Reference C# emitter naming conversions in shared naming skill - #17388

Closed
JoshLove-msft wants to merge 2 commits into
mainfrom
joshlove-msft-csharp-naming-skill-reference
Closed

JoshLove-msft wants to merge 2 commits into
mainfrom
joshlove-msft-csharp-naming-skill-reference

Conversation

@JoshLove-msft

@JoshLove-msft JoshLove-msft commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Summary

Update the shared TypeSpec naming skill to consult the C# HTTP client emitter's automatic naming reference before reasoning about generated names or recommending @clientName overrides.

  • Add the authoritative reference and distinguish built-in conversions from semantic ARM naming guidance.
  • Avoid redundant overrides when applicable emitter defaults already produce the intended name; call out ordinary versus exact-name overrides, generator/version applicability, existing customizations, and released-contract precedence.
  • Connect model naming guidance to the same reference without duplicating its conversion tables or broadening language/service coverage.

Documentation provenance

The reference is the comprehensive generator documentation introduced by microsoft/typespec#12370, which is still open at verification time. Following the user-directed relocation, the guide lives at packages/http-client-csharp/generator/docs/naming-conventions.md; all website changes were removed. The guide is linked from the emitter's .tspd/docs/usage.md and generated package README. There is no pending canonical website page or website deployment dependency.

This change links to the verified immutable generator documentation at commit 9457ed0a9874c04b5a72058b838a71923e5eb2c3. The pinned source is usable now and includes the reviewed DateTime, paging-metadata, and API-version naming corrections. The only pending source dependency is the open upstream documentation PR; this PR does not claim it has merged or shipped.

Distribution

.github/skills/azsdk-common-typespec-naming is the source of truth. There is no existing in-repository plugin mirror of this skill to update. The existing tools - sync-.github-skills pipeline distributes shared-skill changes to subscribed repositories; no downstream copies are edited manually.

Verification

  • Focused strict Vally skill lint and eval-schema lint passed using repository-pinned Vally 0.19.0.
  • Prettier check passed for all three modified Markdown files.
  • Naming fixture and preservation tests passed: 15/15.
  • All 12 local links/anchors across the skill's five Markdown files resolve; the relocated pinned upstream guide returns HTTP 200 and contains all three review corrections.
  • Scoped git diff --check passed.

No SDK generation was run or claimed; this is a skill/reference-only update.

Consult authoritative emitter defaults before recommending scoped naming overrides, while preserving semantic ARM checks and shipped API names.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
71 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The focused documentation changes preserve compatibility and scope safeguards, with no unresolved findings.

No open issues 🎉

What changed in this PR

Updates the shared TypeSpec naming skill to consider C# emitter defaults before recommending naming overrides, while preserving compatibility and existing language/service scope.

Changes:

  • Links to the pinned upstream naming reference and distinguishes automatic conversions from semantic ARM naming guidance.
  • Clarifies override limits, generator applicability, and generated-name verification.
  • Connects model naming guidance to the shared emitter reference without duplicating conversion tables.
File Description
.github/​skills/​azsdk-common-typespec-naming/​SKILL.md Requires considering emitter conversions before proposing overrides.
.github/​skills/​azsdk-common-typespec-naming/​references/​csharp-naming.md Adds the pinned reference and applicability and override caveats.
.github/​skills/​azsdk-common-typespec-naming/​references/​csharp-model-naming.md Connects model naming recommendations to emitter defaults.

Review effort: Balanced

Follow the relocated automatic naming guide at its reviewed immutable revision without changing the skill's existing naming guidance.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@JoshLove-msft

Copy link
Copy Markdown
Member Author

Closing at the user's request. This focused naming-skill reference update is being moved directly to Azure/azure-rest-api-specs instead of proceeding through the tools-repository sync pipeline.

--generated by Copilot

@JoshLove-msft

Copy link
Copy Markdown
Member Author

Moved directly to Azure/azure-rest-api-specs#47556 at the user's request. The replacement preserves the same focused naming guidance and pinned generator-documentation reference; this tools PR remains closed.

--generated by Copilot

Timothee Guerin (timotheeguerin) pushed a commit to Azure/azure-rest-api-specs that referenced this pull request Oct 23, 2026
* Reference C# emitter naming conversions in naming skill

Move the focused reference update directly to the specs repository at the user's request, replacing closed Azure/azure-sdk-tools#17388.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Refresh naming guide pin for namespace escaping clarification

Reference the corrected immutable generator documentation without changing the naming skill's existing guidance.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Reference merged C# naming guide from main

Replace the temporary immutable documentation pin now that microsoft/typespec#12370 has merged.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants