Create a new Azure SDK crate from a TypeSpec specification.
All new service crates must be generated from TypeSpec specifications in Azure/azure-rest-api-specs. Do not hand-write client libraries from scratch.
Install tsp-client
eng/common/tsp-client/README.md to install dependenciesnpm ci from eng/common/tsp-client/npm exec --prefix eng/common/tsp-client -- tsp-client <command> to invoke it from the repository rootFind the TypeSpec spec
tspconfig.yaml under specification/<service>/ in azure-rest-api-specstspconfig.yaml for @azure-tools/typespec-rust emitter configurationInitialize the crate
npm exec --prefix eng/common/tsp-client -- tsp-client init --tsp-config <url> from the repository root<url> is the GitHub URL to the tspconfig.yamlhttps://github.com/Azure/azure-rest-api-specs/blob/<commit-sha>/specification/<service>/<rp>/tspconfig.yamlGenerate the client
azsdk_package_generate_code MCP tool, ornpm exec --prefix eng/common/tsp-client -- tsp-client update from the crate directoryAdd hand-written wrappers
clients.rs (or similar) for custom client constructors, authentication setup, and convenience methodssrc/generated/Register the crate
members list in the root Cargo.tomlAdd tests, examples, and documentation
#[recorded::test])README.md, and a CHANGELOG.md