awesome-smithy

Build-tool curator

A curated collection of tools and resources supporting the development of build-tools and code-generators for the Smithy IDL

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

GitHub

166 stars
8 watching
16 forks
last commit: 2 months ago
Linked from 1 awesome list

apiawesomeawesome-listawsclientcodegensdkserversmithy

Awesome Smithy / Build tools

Smithy CLI 1,842 about 2 months ago Smithy CLI is used to build, validate, diff, and transform Smithy models
Gradle Plugin 30 about 2 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 240 about 2 months ago 🚧 - Client code generation for Typescript
Golang 182 3 months ago 🚧 - Client code generation for Golang
Rust 514 about 1 month ago 🚧 - Client code generation for Rust
Ruby 36 about 2 months ago 🚧 - Client code generation for Ruby
Kotlin 84 about 2 months ago 🚧 - Client code generation for Kotlin
Swift 30 about 2 months ago 🚧 - Client code generation for Swift
Scala 353 about 2 months ago Community plugin for generation of clients/servers in Scala
Dafny 10 about 2 months ago 🚧 - Code generation tools for the verification-aware programming language
Python 48 about 2 months ago 🚧 - Client code generation for Python

Awesome Smithy / Code Generators / Server Code Generators

TypeScript 240 about 2 months ago 🚧 - Server generator for TypeScript
Rust 514 about 1 month ago 🚧 - Server generator for Rust
Scala 353 about 2 months ago Community plugin for generation of clients/servers in Scala

Awesome Smithy / Learning resources

Smithy Examples 39 about 1 month ago A collection of examples to help you get up and running with Smithy
aws-samples: Typescript Example service 17 almost 2 years ago Shows how to write a Typescript lambda service using Smithy and call the service using a generated client (see: )
Rust server SDK examples 514 about 1 month ago a collection of examples using Smithy to generate a Rust server SDK
kubukoz/smithy4s-course 13 4 months ago Smithy/Smithy4s course

Awesome Smithy / IDE Support

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

Awesome Smithy / Implementations

Smithy Reference Implementation 1,842 about 2 months ago Smithy reference implementation in Java
Atelier 77 almost 2 years ago 🚧 - Community implementation of Smithy in Rust

Awesome Smithy / Model Converters

Smithy to OpenAPI Converts Smithy models to
Smithy to JSONSchema 1,842 about 2 months ago Converts Smithy models to
Cloud Formation Resource Schemas Generating Cloudformation resource schemas from Smithy models
Openapi/JSONSchema to Smithy 55 4 months ago smithy-translate : a community-provided CLI tool for best-effort Openapi/JSONSchema to Smithy conversions
Smithy to Protobuf 55 4 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 about 2 months ago 🚧 - A language server and VS Code client for interactive experimentation with Smithy services
Build Server Protocol 460 about 2 months ago an extension to the Language Server Protocol using Smithy as a definition language
Alloy 39 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: