Skip to content

Cross‑Language Support for Post‑Emit Execution in TypeSpec SDK Generation #10238

@lirenhe

Description

@lirenhe

Background

As part of ongoing efforts to automate TypeSpec to SDK, service teams (Foundry SDK) identified a gap in the current SDK generation workflow: there is no standardized way to run post‑generation logic after SDK code is emitted.

This is discussed in Foundry Spec ↔ SDK auto‑sync discussion, where people raised scenarios requiring post‑emit fixes or adjustments (temporary SDK workarounds, transitional fixes, or one‑time corrections) that cannot cleanly live inside the emitter logic today. Service teams also expressed the need for flexibility for customization. We proposed the approach of post‑emit execution step, ideally supported directly by emitters, with temporary pipeline‑level solutions as a short‑term fallback.

Similar issue was also discussed Azure/azure-sdk-tools#10366 where multiple design decision were discussed:

  • tsp-client should not become a generic post‑processing runner.
  • Post‑generation logic should be owned by emitters, not centrally orchestrated.

This epic tracks the work required to achieve language parity by introducing or aligning post‑emit execution support in each language emitter, which is triggered by real scenarios raised in Foundry requirements.

We have this effort for GO today to handle some special request for KeyVault: Azure/autorest.go#1636

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions