Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
S

smithy

> 编程语言
Open source

Smithy is a protocol-agnostic interface definition language and set of tools for generating clients, servers, and documentation for any programming language.

2.3K stars0 likes0 views
WebsiteGitHub

About

Smithy is a protocol-agnostic interface definition language and set of tools for generating clients, servers, and documentation for any programming language.

Smithy

Smithy defines and generates clients, services, and documentation for any protocol.

  • Smithy Homepage
  • Specifications
  • Java API documentation
  • Smithy Gradle Plugin
  • Awesome Smithy

Smithy IDL

Smithy models define a service as a collection of resources, operations, and shapes.

$version: "2"

namespace example.weather

service Weather {
    version: "2006-03-01"
    resources: [City]
    operations: [GetCurrentTime]
}

resource City {
    identifiers: { cityId: CityId }
    read: GetCity
    list: ListCities
    resources: [Forecast]
}

// See the full example at https://smithy.io/2.0/quickstart.html#complete-example

Find out more about modeling a service with Smithy in the Quick Start guide.

Building Smithy models

[!IMPORTANT]
Before you proceed, make sure you have the Smithy CLI installed.

The Smithy CLI is the easiest way to get started with building Smithy models. First, create a smithy-build.json file:

{
    "version": "1.0",
    "sources": ["model"]
}

Next, create your first model model/main.smithy:

$version: "2"

namespace com.example

service ExampleService {
    version: "2020-05-27"
}

Finally, run smithy build to build the model with the Smithy CLI.

Find out more about building artifacts of your Smithy model in the Building Smithy Models guide. For more examples, see the examples repository

License

This library is licensed under the Apache 2.0 License.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Javasmithysmithy-models

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言