SmithySDK生成器Skill smithy-sdk-generator

Smithy SDK 生成器是一个基于 AWS Smithy 模型的工具,用于自动化生成企业级、多语言的 API 客户端软件开发工具包。它支持生成 AWS 风格的等待器、分页器和自动重试等高级功能,并能根据协议无关的模型定义,为 TypeScript、Go、Rust 等多种编程语言生成高质量的 SDK 代码、文档和配置。关键词:AWS Smithy,SDK 生成,API 客户端,企业级 API,多语言支持,代码生成,等待器,分页器。

AWS 0 次安装 0 次浏览 更新于 2/26/2026

name: smithy-sdk-generator description: 基于AWS Smithy的企业级API软件开发工具包生成器 allowed-tools:

  • Read
  • Write
  • Edit
  • Glob
  • Grep
  • Bash

Smithy SDK 生成器技能

概述

此技能利用 AWS Smithy 生成具有 AWS 风格模式的企业级软件开发工具包,包括等待器、分页器和自动重试机制。Smithy 提供了一种与协议无关的 API 建模方法。

能力

  • 使用特性设计具有丰富 API 语义的 Smithy 模型
  • 生成具有 AWS 风格模式(等待器、分页器、重试)的 SDK
  • 实现自定义代码生成插件
  • 支持多种协议(REST、RPC 等)
  • 配置中间件和拦截器链
  • 生成全面的 API 文档
  • 根据约束实现客户端验证

目标流程

  • SDK 代码生成流水线
  • SDK 架构设计
  • 多语言 SDK 策略

集成点

  • AWS Smithy 核心和构建插件
  • smithy-typescript 用于 TypeScript SDK 生成
  • smithy-go 用于 Go SDK 生成
  • smithy-rs 用于 Rust SDK 生成
  • 自定义代码生成器

输入要求

  • Smithy 模型文件 (.smithy)
  • 用于定义行为的特性配置
  • 目标语言规范
  • 自定义模板覆盖(如有)
  • 协议选择(restJson1, awsJson1_1 等)

输出产物

  • 生成的 SDK 源代码
  • API 文档
  • 等待器配置
  • 分页器实现
  • 客户端配置选项
  • 按目标语言划分的构建产物

使用示例

skill:
  name: smithy-sdk-generator
  context:
    modelDirectory: ./model
    targetLanguages:
      - typescript
      - python
      - go
    protocol: restJson1
    generateWaiters: true
    generatePaginators: true
    customTraits: ./traits

最佳实践

  1. 使用语义特性来丰富 API 行为
  2. 定义清晰的资源层次结构
  3. 实现适当的分页模式
  4. 为异步操作添加等待器定义
  5. 使用验证约束进行输入验证
  6. 完整记录所有操作和形状