CLI tool for generating type-safe code from OpenAPI and AsyncAPI specifications.
Requirements: Node.js >= 20.19.6
npm install -g @qraft/cliThe CLI requires additional plugins to be installed depending on which features you want to use:
For OpenAPI generation:
npm install @openapi-qraft/openapi-typescript-plugin @openapi-qraft/tanstack-query-react-pluginFor AsyncAPI generation:
npm install @qraft/asyncapi-typescript-pluginFor both OpenAPI and AsyncAPI:
npm install @openapi-qraft/openapi-typescript-plugin @openapi-qraft/tanstack-query-react-plugin @qraft/asyncapi-typescript-pluginNote: All plugins are peer dependencies and must be installed alongside
@qraft/clifor the corresponding commands to work.
Generate code from OpenAPI specification.
Available plugins:
tanstack-query-react- Generates Qraft API services for Reactopenapi-typescript- Generates TypeScript types from OpenAPI Document
Examples:
# Generate TypeScript types only
qraft openapi --plugin openapi-typescript ./openapi.yaml -o ./src/types
# Generate both services and types
qraft openapi --plugin tanstack-query-react --plugin openapi-typescript ./openapi.yaml -o ./src/api
# Generate from Redocly config
qraft openapi --redoclyGenerate code from AsyncAPI specification.
Required: Plugin must be explicitly specified.
Available plugins:
asyncapi-typescript- Generates TypeScript types from AsyncAPI Document
Examples:
# Generate TypeScript types from AsyncAPI
qraft asyncapi --plugin asyncapi-typescript ./asyncapi.yaml -o ./src/types
# Generate from Redocly config
qraft asyncapi --redoclyThe CLI supports using a Redocly configuration file (redocly.yaml) to generate API clients. This allows you to define multiple API entry points and configure generation options in a single file.
x-openapi-qraft- Configuration for OpenAPI generationx-asyncapi-qraft- Configuration for AsyncAPI generation
# Generate from default redocly.yaml (both OpenAPI and AsyncAPI)
qraft redocly
# Generate from specific config file
qraft redocly --redocly ./path/to/redocly.yaml
# Generate specific APIs
qraft redocly my-api@v1
# Generate only OpenAPI from Redocly config
qraft openapi --redocly
# Generate only AsyncAPI from Redocly config
qraft asyncapi --redocly# redocly.yaml
apis:
main:
root: ./openapi.json
x-openapi-qraft:
plugin:
tanstack-query-react: true
openapi-typescript: true
output-dir: src/api
clean: true
events:
root: ./asyncapi.json
x-asyncapi-qraft:
plugin:
asyncapi-typescript: true
output-dir: src/events
clean: trueAll options from the underlying plugins are supported. Use --help to see available options for each command:
qraft openapi --help
qraft asyncapi --help
qraft redocly --help