smithy-lang/smithy
Smithy is a protocol-agnostic interface definition language and set of tools for generating clients, servers, and documentation for any programming language. observed · 2026-08-28
Health v2 · maintenance only
98/100
- Activity 99
- Release rhythm 97
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 26.0
- age_days: 2721
- days_rel: 22
- days_push: 7
- n_releases_24m: 29
Adoption not part of the score
2345 stars · 257 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Smithy is a protocol-agnostic interface definition language (IDL) and a set of tools for modeling services as collections of resources, operations, and shapes. From a single model, it generates type-safe clients, servers, documentation, and OpenAPI/JSON Schema artifacts across many programming languages, and it powers the APIs and SDKs at AWS.
Use cases
- define an API once and generate client SDKs in multiple languages
- generate server scaffolding and API documentation from a service model
- convert Smithy models to OpenAPI or JSON Schema
- model services protocol-agnostically and switch wire protocols without changing the model
- build and validate Smithy models with the Smithy CLI
- generate AWS-style SDKs for custom services
When to choose
- you need multi-language client/server code generation from a single API definition
- you want protocol-agnostic API modeling with extensible traits
- you build AWS SDKs or AWS-compatible services
- you need normalized, diffable, machine-traversable API models
When to avoid
- you need a lightweight REST API without code generation overhead
- your team is already invested in OpenAPI-first or GraphQL workflows
- you only target a single language and a simple hand-written client suffices
Facets
framework · maturity stable
api-framework sdk documentation cli build-tool developer-tools apis web-development backend jvm cross-platform cli idl interface-definition-language api-modeling code-generation openapi aws protocol-agnostic smithy
4 sources
- readme: https://github.com/smithy-lang/smithy · fetched 2026-08-28 · 69c6e25ee9ad
- homepage: https://smithy.io · fetched 2026-08-29 · a4dc69518f06
- site_page: https://smithy.io/2.0/quickstart.html · fetched 2026-08-29 · b13db6ca217c
- site_page: https://smithy.io/2.0/index.html · fetched 2026-08-29 · 1e4e225d1bbd
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| smithy-lang/smithy | main | 98 |
For agents
markdown · JSON · MCP: product_card(name="smithy-lang/smithy")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem