{"slug": "typespec", "name": "TypeSpec", "category": "media", "category_name": "Media and creative", "description": "", "recommenders": 5, "commenters": 7, "warners": 0, "score": 4.691, "rising": -1.64, "first": "2025-11-18", "latest": "2026-05-18", "why": "I use https://typespec.io to generate openapi, writing openapi yaml quickly became horrible past a few apis.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 1, "compare": 1, "warn": 0}, "spark": [1, 1, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I use https://typespec.io to generate openapi, writing openapi yaml quickly became horrible past a few apis.", "kind": "", "icon": false, "domain": "typespec.io", "github_repo": null, "official_url": "https://typespec.io", "pricing": "", "aliases": ["TypeSpec"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 764079520, "item_id": 47754970, "url": "https://news.ycombinator.com/item?id=47754970", "by": "thegagne", "date": "2026-04-13", "version": null, "stance": "recommend", "quote": "Love TypeSpec, agree it makes writing OpenAPI really easy.", "excerpt": "Love TypeSpec, agree it makes writing OpenAPI really easy. But I\u2019ve moved to using https://aep.dev style APIs as much as possible (sometimes written with TypeSpec), because the consistency allows you to use prebaked aepcli or very easily write your own since everything behaves like know \u201cresources\u201d with a consistent pattern. Also Terraform works out of the box, with no needing to write a provider.", "context": "", "use_case": "writing OpenAPI schemas", "switched_from": "", "story": "Building a CLI for All of Cloudflare"}, {"id": 764077568, "item_id": 47754848, "url": "https://news.ycombinator.com/item?id=47754848", "by": "dcre", "date": "2026-04-13", "version": null, "stance": "recommend", "quote": "which is a TypeScript-like schema language that I like to describe as \"what if OpenAPI was good\"", "excerpt": "Wonderful post and I will be taking inspiration from it. Surprised not to see TypeSpec https://typespec.io/ mentioned, which is a TypeScript-like schema language that I like to describe as \"what if OpenAPI was good\". I'm guessing they considered and decided building their own would be both simpler and more flexible. The cost of BYO has come down a lot thanks to agents.", "context": "", "use_case": "", "switched_from": "", "story": "Building a CLI for All of Cloudflare"}, {"id": 740297872, "item_id": 46268617, "url": "https://news.ycombinator.com/item?id=46268617", "by": "hokkos", "date": "2025-12-14", "version": null, "stance": "recommend", "quote": "I use https://typespec.io to generate openapi, writing openapi yaml quickly became horrible past a few apis.", "excerpt": "I use https://typespec.io to generate openapi, writing openapi yaml quickly became horrible past a few apis.", "context": "", "use_case": "generating OpenAPI specs", "switched_from": "", "story": "GraphQL: The enterprise honeymoon is over"}, {"id": 735558112, "item_id": 45972382, "url": "https://news.ycombinator.com/item?id=45972382", "by": "sshb", "date": "2025-11-18", "version": null, "stance": "recommend", "quote": "In the same vein: https://typespec.io/", "excerpt": "In the same vein: https://typespec.io/", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Guts \u2013 convert Golang types to TypeScript"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["writing openapi schemas", "generating openapi specs"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=47753689", "title": "Building a CLI for All of Cloudflare", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=46264704", "title": "GraphQL: The enterprise honeymoon is over", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=48182281", "title": "Anthropic Acquires Stainless", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46399072", "title": "Alloy: React for Codegen, like Stripe's internal framework", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45969708", "title": "Show HN: Guts \u2013 convert Golang types to TypeScript", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {"compare": 1, "recommend": 1, "neutral": 1}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {"recommend": 2}, "2026-05": {"recommend": 1}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 770957568, "item_id": 48184848, "url": "https://news.ycombinator.com/item?id=48184848", "by": "serbrech", "date": "2026-05-18", "version": null, "stance": "recommend", "quote": "", "excerpt": "Here is a powerful OSS extensible alternative from Microsoft. It\u2019s what generates all azure SDKs, docs, CLIs now, and it\u2019s really good. https://typespec.io/", "context": "", "use_case": "", "switched_from": "", "story": "Anthropic Acquires Stainless"}, {"id": 764079520, "item_id": 47754970, "url": "https://news.ycombinator.com/item?id=47754970", "by": "thegagne", "date": "2026-04-13", "version": null, "stance": "recommend", "quote": "Love TypeSpec, agree it makes writing OpenAPI really easy.", "excerpt": "Love TypeSpec, agree it makes writing OpenAPI really easy. But I\u2019ve moved to using https://aep.dev style APIs as much as possible (sometimes written with TypeSpec), because the consistency allows you to use prebaked aepcli or very easily write your own since everything behaves like know \u201cresources\u201d with a consistent pattern. Also Terraform works out of the box, with no needing to write a provider.", "context": "", "use_case": "writing OpenAPI schemas", "switched_from": "", "story": "Building a CLI for All of Cloudflare"}, {"id": 764077568, "item_id": 47754848, "url": "https://news.ycombinator.com/item?id=47754848", "by": "dcre", "date": "2026-04-13", "version": null, "stance": "recommend", "quote": "which is a TypeScript-like schema language that I like to describe as \"what if OpenAPI was good\"", "excerpt": "Wonderful post and I will be taking inspiration from it. Surprised not to see TypeSpec https://typespec.io/ mentioned, which is a TypeScript-like schema language that I like to describe as \"what if OpenAPI was good\". I'm guessing they considered and decided building their own would be both simpler and more flexible. The cost of BYO has come down a lot thanks to agents.", "context": "", "use_case": "", "switched_from": "", "story": "Building a CLI for All of Cloudflare"}, {"id": 742385169, "item_id": 46399073, "url": "https://news.ycombinator.com/item?id=46399073", "by": "johnathon023", "date": "2025-12-26", "version": null, "stance": "neutral", "quote": "Alloy powers https://typespec.io/, which Microsoft it seems is using to generate new OpenAPI sdks for Azure", "excerpt": "Alloy powers https://typespec.io/, which Microsoft it seems is using to generate new OpenAPI sdks for Azure, among other things! Looks like a great DSL, similar to https://smithy.io/, but more extensible, not tied to Java, and built with Typescript in mind. Alloy itself seems like a delightful way to do codegen, and there have been talks mentioning Stripe uses a custom React render target just like this to generate t", "context": "", "use_case": "", "switched_from": "", "story": "Alloy: React for Codegen, like Stripe's internal framework"}, {"id": 740297872, "item_id": 46268617, "url": "https://news.ycombinator.com/item?id=46268617", "by": "hokkos", "date": "2025-12-14", "version": null, "stance": "recommend", "quote": "I use https://typespec.io to generate openapi, writing openapi yaml quickly became horrible past a few apis.", "excerpt": "I use https://typespec.io to generate openapi, writing openapi yaml quickly became horrible past a few apis.", "context": "", "use_case": "generating OpenAPI specs", "switched_from": "", "story": "GraphQL: The enterprise honeymoon is over"}, {"id": 740295521, "item_id": 46268470, "url": "https://news.ycombinator.com/item?id=46268470", "by": "WickyNilliams", "date": "2025-12-14", "version": null, "stance": "compare", "quote": "typespec which I always wanted to try as an authoring format for openapi", "excerpt": "I imagine you are very much in the minority. A simple hello world is like a screen full of yaml. The equivalent in graphql (or typespec which I always wanted to try as an authoring format for openapi https://typespec.io/) would be a few lines", "context": "", "use_case": "", "switched_from": "", "story": "GraphQL: The enterprise honeymoon is over"}, {"id": 735558112, "item_id": 45972382, "url": "https://news.ycombinator.com/item?id=45972382", "by": "sshb", "date": "2025-11-18", "version": null, "stance": "recommend", "quote": "In the same vein: https://typespec.io/", "excerpt": "In the same vein: https://typespec.io/", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Guts \u2013 convert Golang types to TypeScript"}]}