create-crate
Installation
SKILL.md
Creating a New Crate
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
- Follow
eng/common/tsp-client/README.mdto install dependencies - Run
npm cifromeng/common/tsp-client/ - Use
npm exec --prefix eng/common/tsp-client -- tsp-client <command>to invoke it from the repository root
- Follow
-
Find the TypeSpec spec
- Look for a
tspconfig.yamlunderspecification/<service>/in azure-rest-api-specs - Check the
tspconfig.yamlfor@azure-tools/typespec-rustemitter configuration - If no emitter configuration exists, stop and report an error indicating that the TypeSpec specification in Azure/azure-rest-api-specs must be updated before generating the client
- Look for a
-
Initialize the crate
- Run
npm exec --prefix eng/common/tsp-client -- tsp-client init --tsp-config <url>from the repository root <url>is the GitHub URL to thetspconfig.yaml- Always use a specific commit SHA in the URL — never a branch or tag, which can move
- Example:
https://github.com/Azure/azure-rest-api-specs/blob/<commit-sha>/specification/<service>/<rp>/tspconfig.yaml
- Run
Related skills