Full-stack
up to 2,762 files from one schema
Types, validation, server, hooks
TypeScript models, Zod schemas, a Hono API server and TanStack Query hooks — a working client-server pair from one contract.
Skmtc generates production-grade clients, servers, forms and docs from any OpenAPI schema — and when the schema changes, it regenerates the code and opens the PR.
8,828 OpenAPI schemas from 4,785 providers, each one versioned, diffed and ready to generate against.
| Schema | Operations | Models | Spec size | Actions |
|---|---|---|---|---|
GitHub REST APIRepos, issues, pulls, actions | 1,211 | 965 | 12.8 MB | |
OpenAI APIChat, embeddings, images, audio | 287 | 1,386 | 2.8 MB | |
PlaidBank accounts, transactions, identity | 335 | 2,312 | 3.0 MB | |
Slack Web APIChannels, messages, users | 174 | 48 | 1.2 MB | |
Spotify Web APITracks, playlists, search, player | 96 | 87 | 290 KB | |
Twilio MessagingSMS, senders, campaigns | 58 | 40 | 493 KB | |
AsanaTasks, projects, workspaces | 249 | 278 | 3.1 MB | |
ResendTransactional email | 97 | 175 | 197 KB | |
Swagger PetstoreThe classic example schema | 19 | 6 | 17 KB |
…and 8,819 more, growing daily — harvested from public spec repositories, docs platforms and API aggregators, then deduplicated and verified.
A stack is a set of generators you compose and deploy — these four are examples. Pick a schema and run it through one: everything below is real generator output, not mockups.
TypeScript models, Zod schemas, a Hono API server and TanStack Query hooks — a working client-server pair from one contract.
2,238 files · 6.0 MB of code · generated from GitHub REST API’s 12.8 MB spec in 1.3 s
Every new version of every schema is fetched, archived and diffed. Instead of a wall of JSON, you get each change in plain language, classified by severity — breaking, warning or info — down to the operation and property it touches.
The panel on the right is the real changelog for one Cloudflare API version pair — filter it, expand a path, read what actually changed.
May 26 → May 28 · 361 changes across 89 paths
Breaking changes ship with little warning, and changelogs don’t get read. So we stopped writing them to be read.
Pick a schema from the catalog and a stack to run it through. Point the subscription at your repository.
Every push and refetch becomes a new version — archived, diffed and classified as breaking, warning or info.
The stack regenerates, output is formatted to match your repo, and a PR opens with the classified changelog attached.
regenerate: plaid 2026-06-30 → 2026-07-28
▲ 3 breaking · 12 files changed · +214 −87
Changelog attached · output formatted with your repo’s prettier config
Agents that scan a codebase have to rediscover every call-site. Generated code knows its call-sites by construction — the contract diff is the change plan. That’s what makes the PR trustworthy enough to merge.
Subscribe your repoA stack composes generators into one deployable unit with a public generate endpoint.
up to 2,762 files from one schema
Types, validation, server, hooks
TypeScript models, Zod schemas, a Hono API server and TanStack Query hooks — a working client-server pair from one contract.
up to 5,051 files from one schema
Working React form UI
shadcn/ui forms and selects wired to typed mutations — enter records against any API operation without writing a component.
up to 2,312 files from one schema
Lean runtime validation
Valibot models for every schema in the contract — tree-shakeable validators at a fraction of the bundle weight.
up to 1,260 files from one schema
Readable API reference
A Markdown reference for every operation and model — documentation that regenerates when the API changes.
Stacks compose from stock generators — gen-typescript, gen-zod, gen-valibot, gen-arktype, gen-tanstack-query-fetch-zod, gen-shadcn-form, gen-shadcn-table, gen-msw, gen-express, gen-supabase-hono, gen-md-docs and more on JSR. Outgrow them and you clone, customize and publish your own — generators compose, so you extend rather than fork.
The same generators run from the CLI against any schema. Five commands to generated code.
Install the CLI
curl -fsSL https://skm.tc/install | shScaffold a project and choose where generated code lands in your app
skmtc init petstore src/generatedAdd generators from the registry
skmtc install @skmtc/gen-zod petstoreBundle the generator set
skmtc bundle petstorePoint it at your OpenAPI schema — a URL or a local file
skmtc generate petstore https://petstore3.swagger.io/api/v3/openapi.jsonGenerate from any of 8,828 schemas in the catalog, or install the CLI and run it against your own.
curl -fsSL https://skm.tc/install | shThe CLI runs on Deno; generated code drops into your ordinary npm, Vite or Next.js project.