ソース情報
- リポジトリ
- Azure/azure-sdk-for-rust
- ソースの最終更新活動
- 2026年8月31日 16:53
- 検出された SKILL.md の言語
- 英語
- スター
- 886
- フォーク
- 370
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
SKILL.md を表示中
SKILL.md
ソースの指示 · 読み取り専用プレビュー- name
- create-crate
- description
- Create a new Azure SDK crate from a TypeSpec specification.
# Creating a New Crate
All new service crates must be generated from TypeSpec specifications in [Azure/azure-rest-api-specs](https://github.com/Azure/azure-rest-api-specs). Do not hand-write client libraries from scratch.
1. **Install tsp-client**
- Use the repository-pinned CLI; do not invoke a globally installed binary:
```bash
_TspClientDir="$(pwd)/eng/common/tsp-client"
npm ci --prefix "$_TspClientDir"
```
- Run commands with `npm exec --prefix "$_TspClientDir" --no -- tsp-client`
- See [`eng/common/tsp-client/README.md`](../../../eng/common/tsp-client/README.md) for prerequisites and more context
2. **Find the TypeSpec spec**
- Look for a `tspconfig.yaml` under `specification/{service}/` in [azure-rest-api-specs](https://github.com/Azure/azure-rest-api-specs)
- Check the `tspconfig.yaml` for `@azure-tools/typespec-rust` emitter configuration
- If no emitter configuration exists, stop and report an error indicating that the TypeSpec specification in [Azure/azure-rest-api-specs](https://github.com/Azure/azure-rest-api-specs) must be updated before generating the client
3. **Initialize the crate**
- From the repository root, run `npm exec --prefix "$_TspClientDir" --no -- tsp-client init --tsp-config {url}`
- `{url}` is the GitHub URL to the `tspconfig.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`
4. **Generate the client**
- Use the `azsdk_package_generate_code` MCP tool, or
- From the crate directory, run `npm exec --prefix "$_TspClientDir" --no -- tsp-client update`
5. **Add hand-written wrappers**
- Create `clients.rs` (or similar) for custom client constructors, authentication setup, and convenience methods
- Build on top of the generated code in `src/generated/`
6. **Register the crate**
- Add the new crate to the workspace `members` list in the root `Cargo.toml`
7. **Add tests, examples, and documentation**
- Write unit tests and integration tests (using `#[recorded::test]`)
- Add examples, a `README.md`, and a `CHANGELOG.md`
GitHubで見る