awesome-smithy
github.com/smithy-lang/awesome-smithy ↗Awesome Smithy is a curated list of awesome build-tools, code-generators, examples, and other resources related to the Smithy IDL.
Use this list with your AI agent
Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:
"Show me server code generators resources from awesome-smithy"
Installation instructions →What's inside
Videos
- Abstraction: Creating the Best developer experience / Model-First Design
An introduction to model first design with Smithy.
- Building with the new AWS SDKs for Rust, Kotlin, and Swift
Explores how these SDKs were built in parallel with Smithy, the commonalities they share, and how to build an app with each one.
- Elevating API Design With Smithy
Functional Scala talk - Intro to Smithy IDL with JVM Tooling and Smithy4s
- Generating Kotlin SDKs with Smithy
KotlinConf talk that provides an overview of Smithy and discusses how
- Introduction to Smithy/Smithy4s
Scala Conference talk introducing the Smithy IDL and the Smithy4s library
- Scaling APIs with Smithy
Overview of Smithy's background and features.
Others
- Alloy
a library of Smithy traits providing additional semantics and constraints, used in particular by smithy-translate and smithy4s.
- Build Server Protocol
an extension to the Language Server Protocol using Smithy as a definition language.
- smaws
a Smithy generator and AWS SDK built in OCaml
- Smithy Playground
A language server and VS Code client for interactive experimentation with Smithy services.
- Smithy Selector Playground
a web tool for experimenting with Smithy selectors
- Smithy Transcoder
a web tool for previewing the serialized form of Smithy models
Implementations
- Atelier
Community implementation of Smithy in Rust
- smithy-lisp
- Smithy Reference Implementation
Smithy reference implementation in Java
Learning resources
- aws-samples: Typescript Example service
Shows how to write a Typescript lambda service using Smithy and call the service using a generated client (see:
- kubukoz/smithy4s-course
Smithy/Smithy4s course.
- Rust server SDK examples
a collection of examples using Smithy to generate a Rust server SDK.
- Smithy Examples
A collection of examples to help you get up and running with Smithy.
Code Generators
- C#Server Code Generators
Community plugin for generation of clients/servers in C#.
- DafnyClient Code Generators
Code generation tools for the
- Erlang, Elixir, GleamServer Code Generators
Community plugin for generating clients and servers targeting BEAM languages: Erlang, Elixir, Gleam
- GolangClient Code Generators
Client code generation for Golang.
- JavaServer Code Generators
Server code generation for Java.
- KotlinClient Code Generators
Client code generation for Kotlin.
Model Converters
- Cloud Formation Resource Schemas
Generating Cloudformation resource schemas from Smithy models.
- Smithy to JSONSchema
Converts Smithy models to
- Smithy to OpenAPI
Converts Smithy models to
- Smithy to Protobuf
smithy-translate (see above)
Blog Posts
- Developer Preview: Ruby SDK code generation using Smithy
Launch announcement for and overview of the AWS Ruby SDK built with Smithy.
- Introducing AWS API models and publicly available resources for AWS API definitions
Launch announcement for AWS's API models being published as Smithy specs in Maven Central.
- Introducing Smithy IDL 2.0
Launch announcement for the Smithy IDL 2.0.
- Introducing the Smithy CLI
Launch announcement for the Smithy CLI along with examples of how to use the CLI.
- Smithy4s-full stack
A series of posts describing an application built with Smithy4s in both front-end and back-end.
CICD Support
- format-smithyGitHub Actions
Checks if Smithy Models are formatted.
- setup-smithyGitHub Actions
Install Smithy CLI to your GitHub Workflow.
- setup-smithy-cliGitHub Actions
Install the Smithy CLI for a GitHub action to validate, build, format, and diff Smithy models in a GitHub repository.
Showing a sample of 55 resources. View the full list on GitHub →