typed-openapi
Generate TypeScript types, runtime validators, and an API client from an OpenAPI file.
Choose a runtime and transport.
Start with a local spec or a pinned public URL. Copy the command, then keep generated files in your repository.
From one OpenAPI document
Keep the contract. Choose the boundary.
Generate only types, add runtime validation, or plug the same endpoint map into your client and data layer.
Fast TypeScript, even for huge specsRuntime validation without slow editor inference.
Runtime output keeps its public types in a sibling declaration file, so large validator implementations stay out of TypeScript’s hot path.
Types-only, one fileKeep your existing HTTP layer.Generate paths, parameters, responses, and endpoint contracts without introducing a runtime dependency.
Runtime of your choiceZod, Effect, Valibot, ArkType, TypeBox, or Typia.Validate input, output, or both with the runtime already used by your application.
Clients and data layersPromise, Effect, and TanStack Query.Generate Fetch when it fits. Bring your own transport when it does not. Add typed queries, mutations, and invalidation helpers.
Work with the spec you actually have