{"adoption": {"forks": 257, "observed_at": "2026-08-28T04:06:39.814819+00:00", "stars": 2345}, "canonical_url": "https://ross.abutalabs.com/products/smithy", "card": {"archived": false, "artifact_type": "framework", "description": "Smithy is a protocol-agnostic interface definition language and set of tools for generating clients, servers, and documentation for any programming language.", "domain": ["developer-tools", "apis", "web-development", "backend"], "enriched": true, "function": ["api-framework", "sdk", "documentation", "cli", "build-tool"], "health_score": 100, "homepage": "https://smithy.io", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["smithy-lang/smithy"], "name": "smithy-lang/smithy", "platform": ["jvm", "cross-platform", "cli"], "pushed_at": "2026-08-26T10:05:47+00:00", "repo": "smithy-lang/smithy", "stars": 2345, "tags": ["idl", "interface-definition-language", "api-modeling", "code-generation", "openapi", "aws", "protocol-agnostic", "smithy"], "topics": ["smithy", "smithy-models"], "urls": [], "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"], "what_it_is": "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.", "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"], "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"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/smithy", "repo": "smithy-lang/smithy", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:39.814819+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:37:03.630445+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69c6e25ee9ad859339b197ff04e0085f8a78d921ccfc50c63d56e79910aaa6bc", "fetched_at": "2026-08-28T04:06:39.814819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smithy-lang/smithy"}, {"content_hash": "a4dc69518f060039ab4ec9856ce67a13460365f36ca2ec9ad8f5fda2925110ed", "fetched_at": "2026-08-29T10:17:38.291985+00:00", "kind": "homepage", "missing": false, "url": "https://smithy.io"}, {"content_hash": "b13db6ca217c68f1f2af9056e4f819d97d0895c1af9f0e81e62b761ca7d60241", "fetched_at": "2026-08-29T10:17:38.298365+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/quickstart.html"}, {"content_hash": "1e4e225d1bbd171526ec8a48ecee5771f962fa2443be8dd1c36d37ed30c0966f", "fetched_at": "2026-08-29T10:17:38.296013+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/index.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:39.814819+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:37:03.630445+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69c6e25ee9ad859339b197ff04e0085f8a78d921ccfc50c63d56e79910aaa6bc", "fetched_at": "2026-08-28T04:06:39.814819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smithy-lang/smithy"}, {"content_hash": "a4dc69518f060039ab4ec9856ce67a13460365f36ca2ec9ad8f5fda2925110ed", "fetched_at": "2026-08-29T10:17:38.291985+00:00", "kind": "homepage", "missing": false, "url": "https://smithy.io"}, {"content_hash": "b13db6ca217c68f1f2af9056e4f819d97d0895c1af9f0e81e62b761ca7d60241", "fetched_at": "2026-08-29T10:17:38.298365+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/quickstart.html"}, {"content_hash": "1e4e225d1bbd171526ec8a48ecee5771f962fa2443be8dd1c36d37ed30c0966f", "fetched_at": "2026-08-29T10:17:38.296013+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/index.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:37:03.630445+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69c6e25ee9ad859339b197ff04e0085f8a78d921ccfc50c63d56e79910aaa6bc", "fetched_at": "2026-08-28T04:06:39.814819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smithy-lang/smithy"}, {"content_hash": "a4dc69518f060039ab4ec9856ce67a13460365f36ca2ec9ad8f5fda2925110ed", "fetched_at": "2026-08-29T10:17:38.291985+00:00", "kind": "homepage", "missing": false, "url": "https://smithy.io"}, {"content_hash": "b13db6ca217c68f1f2af9056e4f819d97d0895c1af9f0e81e62b761ca7d60241", "fetched_at": "2026-08-29T10:17:38.298365+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/quickstart.html"}, {"content_hash": "1e4e225d1bbd171526ec8a48ecee5771f962fa2443be8dd1c36d37ed30c0966f", "fetched_at": "2026-08-29T10:17:38.296013+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/index.html"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:39.814819+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:39.814819+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:39.814819+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:37:03.630445+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69c6e25ee9ad859339b197ff04e0085f8a78d921ccfc50c63d56e79910aaa6bc", "fetched_at": "2026-08-28T04:06:39.814819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smithy-lang/smithy"}, {"content_hash": "a4dc69518f060039ab4ec9856ce67a13460365f36ca2ec9ad8f5fda2925110ed", "fetched_at": "2026-08-29T10:17:38.291985+00:00", "kind": "homepage", "missing": false, "url": "https://smithy.io"}, {"content_hash": "b13db6ca217c68f1f2af9056e4f819d97d0895c1af9f0e81e62b761ca7d60241", "fetched_at": "2026-08-29T10:17:38.298365+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/quickstart.html"}, {"content_hash": "1e4e225d1bbd171526ec8a48ecee5771f962fa2443be8dd1c36d37ed30c0966f", "fetched_at": "2026-08-29T10:17:38.296013+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/index.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:39.814819+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:39.814819+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:37:03.630445+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69c6e25ee9ad859339b197ff04e0085f8a78d921ccfc50c63d56e79910aaa6bc", "fetched_at": "2026-08-28T04:06:39.814819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smithy-lang/smithy"}, {"content_hash": "a4dc69518f060039ab4ec9856ce67a13460365f36ca2ec9ad8f5fda2925110ed", "fetched_at": "2026-08-29T10:17:38.291985+00:00", "kind": "homepage", "missing": false, "url": "https://smithy.io"}, {"content_hash": "b13db6ca217c68f1f2af9056e4f819d97d0895c1af9f0e81e62b761ca7d60241", "fetched_at": "2026-08-29T10:17:38.298365+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/quickstart.html"}, {"content_hash": "1e4e225d1bbd171526ec8a48ecee5771f962fa2443be8dd1c36d37ed30c0966f", "fetched_at": "2026-08-29T10:17:38.296013+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/index.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:39.814819+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:39.814819+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:39.814819+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:37:03.630445+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69c6e25ee9ad859339b197ff04e0085f8a78d921ccfc50c63d56e79910aaa6bc", "fetched_at": "2026-08-28T04:06:39.814819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smithy-lang/smithy"}, {"content_hash": "a4dc69518f060039ab4ec9856ce67a13460365f36ca2ec9ad8f5fda2925110ed", "fetched_at": "2026-08-29T10:17:38.291985+00:00", "kind": "homepage", "missing": false, "url": "https://smithy.io"}, {"content_hash": "b13db6ca217c68f1f2af9056e4f819d97d0895c1af9f0e81e62b761ca7d60241", "fetched_at": "2026-08-29T10:17:38.298365+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/quickstart.html"}, {"content_hash": "1e4e225d1bbd171526ec8a48ecee5771f962fa2443be8dd1c36d37ed30c0966f", "fetched_at": "2026-08-29T10:17:38.296013+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/index.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:39.814819+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:39.814819+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:37:03.630445+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69c6e25ee9ad859339b197ff04e0085f8a78d921ccfc50c63d56e79910aaa6bc", "fetched_at": "2026-08-28T04:06:39.814819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smithy-lang/smithy"}, {"content_hash": "a4dc69518f060039ab4ec9856ce67a13460365f36ca2ec9ad8f5fda2925110ed", "fetched_at": "2026-08-29T10:17:38.291985+00:00", "kind": "homepage", "missing": false, "url": "https://smithy.io"}, {"content_hash": "b13db6ca217c68f1f2af9056e4f819d97d0895c1af9f0e81e62b761ca7d60241", "fetched_at": "2026-08-29T10:17:38.298365+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/quickstart.html"}, {"content_hash": "1e4e225d1bbd171526ec8a48ecee5771f962fa2443be8dd1c36d37ed30c0966f", "fetched_at": "2026-08-29T10:17:38.296013+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/index.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:37:03.630445+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69c6e25ee9ad859339b197ff04e0085f8a78d921ccfc50c63d56e79910aaa6bc", "fetched_at": "2026-08-28T04:06:39.814819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smithy-lang/smithy"}, {"content_hash": "a4dc69518f060039ab4ec9856ce67a13460365f36ca2ec9ad8f5fda2925110ed", "fetched_at": "2026-08-29T10:17:38.291985+00:00", "kind": "homepage", "missing": false, "url": "https://smithy.io"}, {"content_hash": "b13db6ca217c68f1f2af9056e4f819d97d0895c1af9f0e81e62b761ca7d60241", "fetched_at": "2026-08-29T10:17:38.298365+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/quickstart.html"}, {"content_hash": "1e4e225d1bbd171526ec8a48ecee5771f962fa2443be8dd1c36d37ed30c0966f", "fetched_at": "2026-08-29T10:17:38.296013+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/index.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:37:03.630445+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69c6e25ee9ad859339b197ff04e0085f8a78d921ccfc50c63d56e79910aaa6bc", "fetched_at": "2026-08-28T04:06:39.814819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smithy-lang/smithy"}, {"content_hash": "a4dc69518f060039ab4ec9856ce67a13460365f36ca2ec9ad8f5fda2925110ed", "fetched_at": "2026-08-29T10:17:38.291985+00:00", "kind": "homepage", "missing": false, "url": "https://smithy.io"}, {"content_hash": "b13db6ca217c68f1f2af9056e4f819d97d0895c1af9f0e81e62b761ca7d60241", "fetched_at": "2026-08-29T10:17:38.298365+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/quickstart.html"}, {"content_hash": "1e4e225d1bbd171526ec8a48ecee5771f962fa2443be8dd1c36d37ed30c0966f", "fetched_at": "2026-08-29T10:17:38.296013+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/index.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:37:03.630445+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69c6e25ee9ad859339b197ff04e0085f8a78d921ccfc50c63d56e79910aaa6bc", "fetched_at": "2026-08-28T04:06:39.814819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smithy-lang/smithy"}, {"content_hash": "a4dc69518f060039ab4ec9856ce67a13460365f36ca2ec9ad8f5fda2925110ed", "fetched_at": "2026-08-29T10:17:38.291985+00:00", "kind": "homepage", "missing": false, "url": "https://smithy.io"}, {"content_hash": "b13db6ca217c68f1f2af9056e4f819d97d0895c1af9f0e81e62b761ca7d60241", "fetched_at": "2026-08-29T10:17:38.298365+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/quickstart.html"}, {"content_hash": "1e4e225d1bbd171526ec8a48ecee5771f962fa2443be8dd1c36d37ed30c0966f", "fetched_at": "2026-08-29T10:17:38.296013+00:00", "kind": "site_page", "missing": false, "url": "https://smithy.io/2.0/index.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 97}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2721, "days_push": 7, "days_rel": 22, "gap_med": 26.0, "n_releases_24m": 29}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}