asyncapi/generator

JavaScriptasyncapi.com/docs/tools/generator

Use your AsyncAPI definition to generate literally anything. Markdown documentation, Node.js code, HTML documentation, anything!

asyncapigeneratordocumentationcodegencodegeneratorhacktoberfestnodejsget-global-docs-autoupdateget-global-prettierignoreget-global-holopin
Crecimiento de estrellas
Estrellas
1.1k
Forks
392
Crecimiento semanal
+1
Issues
35
5001k
ene 2023mar 2024jun 2025ago 2026
Artefactosnpm
README

AsyncAPI Generator

This is a Monorepo managed using Turborepo and contains the following package:

  1. Generator: This is a tool that you can use to generate whatever you want based on the AsyncAPI specification file as an input.

  2. Hooks: Hooks are designed to let template developers hook into the template generation process. For example, one can create a hook code that will be automatically invoked right after the template generation process has ended.

  3. React-sdk: AsyncAPI React SDK is a set of components/functions to use React as render engine for the generator. This is the library that understands components from Generator's templates that are configured to use react render engine.

  4. Generator-helpers: A utility library that provides helper functions and utilities to simplify template development. It reduces boilerplate and speeds up template creation.

  5. Generator-components: A library of reusable components that can be shared across different templates, helping to avoid duplication and accelerate template development.

npm npm

Overview

Generator is a tool that you can use to generate whatever you want based on the AsyncAPI specification file as an input. For more information read the docs.

There is a large number of templates that are ready to use and are officially supported by the AsyncAPI Initiative.

List of official generator templates

Template Name Description Source code
@asyncapi/nodejs-template Generates Nodejs service that uses Hermes package click here
@asyncapi/nodejs-ws-template Generates Nodejs service that supports WebSockets protocol only click here
@asyncapi/java-template Generates Java JMS application click here
@asyncapi/java-spring-template Generates Java Spring service click here
@asyncapi/java-spring-cloud-stream-template Generates Java Spring Cloud Stream service click here
@asyncapi/python-paho-template Generates Python service that uses Paho library click here
@asyncapi/html-template Generates HTML documentation site click here
@asyncapi/markdown-template Generates documentation in Markdown file click here
@asyncapi/ts-nats-template Generates TypeScript NATS client click here
@asyncapi/go-watermill-template Generates Go client using Watermill click here
@asyncapi/dotnet-nats-template Generates .NET C# client using NATS click here
@asyncapi/php-template Generates PHP client using RabbitMQ click here
@asyncapi/dotnet-rabbitmq-template Generates .NET C# client using RabbitMQ click here

You can find above templates and the ones provided by the community in this list

[!IMPORTANT] Experimental Feature: AsyncAPI Generator also comes with baked-in templates - official templates shipped directly inside the Generator (@asyncapi/generator). They cover code, docs, configs, and SDKs, and are maintained under /packages/templates directory, following a strict, opinionated structure for consistency and ease of maintenance. This feature is not recommended for production use. For those who want to try them out or learn more, see the Baked-in templates documentation.

Hooks

Hooks are functions called by the generator at specific moments in the generation process. Hooks can be anonymous functions, but you can also assign them function names. These hooks can have arguments provided to them, or they may be expected to return a value.

These hooks are included in the generator without adding any specific dependency to the library. You still have to enable the given hook in the configuration explicitly because some hooks can execute automatically without passing a specific parameter. Learn more about configuration and what hooks are available out of the box.

Contributing

For the development setup, you can follow the detailed guide in the development documentation.

Read the Contributing guide.

If you use generative AI or AI-assisted tooling when contributing, read our AI Usage Policy first.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Fran Méndez
Fran Méndez

💬 🐛 💻 📖 🤔 🚧 🔌 👀 ⚠️
Jonas Lagoni
Jonas Lagoni

💬 🐛 💻 📖 🤔 🔌 👀 ⚠️
Lukasz Gornicki
Lukasz Gornicki

💬 🐛 📝 💻 📖 🤔 🚧 🔌 👀 ⚠️ 🚇
Travis Reeder
Travis Reeder

🚇 📖
Semen
Semen

🐛 💻 📖 🤔 🔌 👀 ⚠️
Waleed Ashraf
Waleed Ashraf

💻 🐛
Sebastián
Sebastián

💻
Derk Muenchhausen
Derk Muenchhausen

💻
Ben Timby
Ben Timby

💻
Amanda  Shafack
Amanda Shafack

📖
Florence Njeri
Florence Njeri

📖 👀 🚇 🚧
Pratik Haldankar
Pratik Haldankar

📖 👀 🚧 📢
swastik suvam singh
swastik suvam singh

💻
GavinZhengOI
GavinZhengOI

📖
lmgyuan
lmgyuan

📖 🐛 💻 🤔 👀 ⚠️
pierrick-boule
pierrick-boule

💻 ⚠️ 📖
Dhairya Majmudar
Dhairya Majmudar

🐛
Mintu Gogoi
Mintu Gogoi

🐛 💻 🤔 📖 👀 ⚠️
AdityaPat_
AdityaPat_

🚇
Achal Jhawar
Achal Jhawar

⚠️
Shuaib S.
Shuaib S.

⚠️ 📖 🚇
Adi Boghawala
Adi Boghawala

🐛 💻 🤔 🚇 👀 ⚠️ 📖 🚧
Kunal Nasa
Kunal Nasa

💻 📖 🐛
V Thulisile Sibanda
V Thulisile Sibanda

⚠️
Ahmed Atwa
Ahmed Atwa

⚠️ 🚇
Sarvesh.Patil
Sarvesh.Patil

⚠️ 👀
Mohan Kumar
Mohan Kumar

👀 💻 🤔
Moderator
Moderator

💻 📖 ⚠️
ANIRUDH
ANIRUDH

⚠️
Julian Waller
Julian Waller

🐛 ⚠️ 💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Repositorios relacionados
ag2ai/faststream

Asynchronous Python framework for event-driven services. A thin client for Kafka, RabbitMQ, NATS, Redis and MQTT with full access to native broker features, plus AsyncAPI docs, in-memory tests and observability out of the box.

PythonPyPIApache License 2.0asynciokafka
faststream.ag2.ai/latest/
5.3k389
asyncapi/spec

The AsyncAPI specification allows you to create machine-readable definitions of your asynchronous APIs.

JavaScriptnpmApache License 2.0asyncapireactive
asyncapi.com
5.3k382
event-catalog/eventcatalog

Documentation tool built for software architecture. Document your domains, services, events and schemas — for your teams and your AI agents.

TypeScriptnpmOtherarchitecturedocumentation
eventcatalog.dev
2.9k277
microcks/microcks

The open source, cloud native tool for API Mocking and Testing. Microcks is a Cloud Native Computing Foundation incubating project 🚀

JavaMavenlibraryApache License 2.0apitesting
microcks.io
2k363
standard-webhooks/standard-webhooks

The Standard Webhooks specification

JavaMavenApache License 2.0apiasyncapi
standardwebhooks.com
1.7k69
aklivity/zilla

🦎 A lightweight, multi-protocol gateway for event-driven applications and AI agents. Expose and govern Kafka, MQTT, APIs, and MCP through one high-performance engine with shared routing, security, schema, and observability.

JavaMavenOtherkafkarest
docs.aklivity.io/latest
1.7k147
Mermade/widdershins

OpenAPI / Swagger, AsyncAPI & Semoasa definitions to (re)Slate compatible markdown

JavaScriptnpmcliMIT Licenseopenapiswagger
mermade.github.io/reslate
1.6k318
Redocly/redocly-cli

⚒️ Redocly CLI makes OpenAPI easy. Lint/validate to any standard, generate beautiful docs, and more.

TypeScriptnpmcliMIT Licenseopenapi-cliopenapi
redocly.com/docs/cli/
1.5k227