Introduction
What skmtc is, and the fastest route from an OpenAPI schema to generated TypeScript you own.
skmtc generates idiomatic TypeScript source code from an OpenAPI v3 or GraphQL schema — types, validators, query hooks, mocks, forms, and server routes, all from one schema, in one run, all consistent with each other.
The generators themselves are ordinary packages you can read, clone, and edit. Most teams start by running the stock generators unchanged, then clone the one or two whose output they want to shape.
Pick your path
Generate code from your schema
Start here if you have a schema and want working output.
- Your first generation — install the CLI, run one generator, read the files it wrote (~5 minutes).
- Multiple generators — types, validators, and query hooks from the same schema, consistent with each other.
- Customize with enrichments —
per-operation overrides in
client.json, without touching generator code.
Then, as the need arises: skip or include operations, pin the schema source, run in CI, and debug a failing generation.
Make the generators yours
Start here when stock output is close but not right — different naming, different file layout, a different peer library.
- Clone vs install — when to fork a generator into your project and when to keep the published package.
- Cloning a generator — pull the source local and enter the edit loop.
- Authoring a model generator — build one from scratch, per schema component.
- Authoring an operation generator — the same, per API operation.
The concepts behind the authoring surface, in reading order: Anatomy of a generator, The three phases, Projections and Snippets, How generators produce output.
Decide whether skmtc fits
- Comparison to other tools — openapi-generator, Orval, Kubb, and where skmtc differs.
- Design philosophy — the bets the tool makes and the tradeoffs it accepts.
- Status and roadmap — what is stable, what is active, what is experimental.