awesome-smithy

Software framework resource hub

A curated collection of build tools, code generators, examples, and resources related to Smithy IDL for building scalable and maintainable software systems.

Awesome Smithy is a curated list of awesome build-tools, code-generators, examples, and other resources related to the Smithy IDL.

GitHub

158 stars
8 watching
16 forks
last commit: 4 months ago
Linked from 1 awesome list

apiawesomeawesome-listawsclientcodegensdkserversmithy

Awesome Smithy / Build tools

Smithy CLI 1,813 6 days ago Smithy CLI is used to build, validate, diff, and transform Smithy models
Gradle Plugin 29 4 months ago Integrates Smithy with the Gradle build system
Mill Plugin Community supported plugin that integrates smithy with the
SBT Plugin Community supported plugin that integrates smithy with the SBT build system for Scala

Awesome Smithy / Code Generators / Client Code Generators

TypeScript 230 7 days ago 🚧 - Client code generation for Typescript
Golang 177 6 days ago 🚧 - Client code generation for Golang
Rust 507 6 days ago 🚧 - Client code generation for Rust
Ruby 36 8 days ago 🚧 - Client code generation for Ruby
Kotlin 83 7 days ago 🚧 - Client code generation for Kotlin
Swift 29 6 days ago 🚧 - Client code generation for Swift
Scala 350 13 days ago Community plugin for generation of clients/servers in Scala
Dafny 10 6 days ago 🚧 - Code generation tools for the verification-aware programming language
Python 48 15 days ago 🚧 - Client code generation for Python

Awesome Smithy / Code Generators / Server Code Generators

TypeScript 230 7 days ago 🚧 - Server generator for TypeScript
Rust 507 6 days ago 🚧 - Server generator for Rust
Scala 350 13 days ago Community plugin for generation of clients/servers in Scala

Awesome Smithy / Learning resources

Smithy Examples 39 22 days ago A collection of examples to help you get up and running with Smithy
aws-samples: Typescript Example service 17 over 1 year ago Shows how to write a Typescript lambda service using Smithy and call the service using a generated client (see: )
Rust server SDK examples 507 6 days ago a collection of examples using Smithy to generate a Rust server SDK
kubukoz/smithy4s-course 12 about 2 months ago Smithy/Smithy4s course

Awesome Smithy / IDE Support

Smithy LSP 35 9 days ago 🚧 - A Language Server Protocol implementation for the Smithy IDL
Visual Studio Code Plugin 37 2 months ago 🚧 - Visual Studio Code extension providing a Language Server Protocol implementation for the Smithy IDL
Intellij plugin 11 over 2 years ago 🚧 - Provides IDE integration for the Smithy IDL within IntelliJ IDEA
iancaffey/smithy-intellij-plugin 26 5 months ago Community plugin for IDE integration for the Smithy IDL in Intellij IDEA
Tree Sitter Grammar for Smithy 22 7 months ago Tree-sitter grammar for Smithy. Included in and by default
Zed extension 3 9 months ago extension using

Awesome Smithy / Implementations

Smithy Reference Implementation 1,813 6 days ago Smithy reference implementation in Java
Atelier 77 over 1 year ago 🚧 - Community implementation of Smithy in Rust

Awesome Smithy / Model Converters

Smithy to OpenAPI Converts Smithy models to
Smithy to JSONSchema 1,813 6 days ago Converts Smithy models to
Cloud Formation Resource Schemas Generating Cloudformation resource schemas from Smithy models
Openapi/JSONSchema to Smithy 54 about 2 months ago smithy-translate : a community-provided CLI tool for best-effort Openapi/JSONSchema to Smithy conversions
Smithy to Protobuf 54 about 2 months ago smithy-translate (see above)

Awesome Smithy / CICD Support / GitHub Actions

setup-smithy Install Smithy CLI to your GitHub Workflow
format-smithy Checks if Smithy Models are formatted

Awesome Smithy / Videos

Scaling APIs with Smithy Overview of Smithy's background and features
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
Simplify building applications with AWS SDKs Discusses how Smithy and model-first API design are used at AWS, how the AWS SDKs model client-side primitives such as paginators in Smithy, and how the AWS SDKs are evolving to use a standardized architecture
Introduction to Smithy/Smithy4s Scala Conference talk introducing the Smithy IDL and the Smithy4s library
Generating Kotlin SDKs with Smithy KotlinConf talk that provides an overview of Smithy and discusses how can be used to generate Kotlin SDKs
Elevating API Design With Smithy Functional Scala talk - Intro to Smithy IDL with JVM Tooling and Smithy4s

Awesome Smithy / Blog Posts

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
Developer Preview: Ruby SDK code generation using Smithy Launch announcement for and overview of the AWS Ruby SDK built with Smithy
Smithy4s-full stack A series of posts describing an application built with Smithy4s in both front-end and back-end

Awesome Smithy / Others

Smithy Playground 30 9 days ago 🚧 - A language server and VS Code client for interactive experimentation with Smithy services
Build Server Protocol 457 20 days ago an extension to the Language Server Protocol using Smithy as a definition language
Alloy 38 about 2 months ago a library of Smithy traits providing additional semantics and constraints, used in particular by smithy-translate and smithy4s

Backlinks from these awesome lists:

More related projects: