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
最佳实践
- 使用语义特性来丰富 API 行为
- 定义清晰的资源层次结构
- 实现适当的分页模式
- 为异步操作添加等待器定义
- 使用验证约束进行输入验证
- 完整记录所有操作和形状