View all files | ||||
MessageFlow is a Go library and CLI tool for visualizing AsyncAPI specifications. It provides tools to parse AsyncAPI documents and transform them into visual formats, making it easier to understand message flows and service interactions in asynchronous systems.
It is part of the HolyDOCs umbrella project, which creates unified, interactive documentation for microservices architectures.
Example of visualizing a Notification service using this AsyncAPI specification. It can be useful to display service communication with a message bus without requiring detailed knowledge about other services in the ecosystem. Message payloads are displayed as thumbnails when hovering over specific queues. This approach was chosen to keep the schema clean and uncluttered.
When you have AsyncAPI specifications for all services in your system, MessageFlow can generate comprehensive documentation showing the complete service ecosystem. See examples/docs for a complete multi-service documentation example. For instance, in the generated documentation, the same service now appears like this:
You can also set up your own centralized documentation hub that automatically generates documentation with changelog whenever source repositories are updated.
Review messageflow-aggregator-workflow-example for detailed instructions.
MessageFlow provides a command-line interface and can be used via Docker.
Install the binary directly:
The gen-schema command processes AsyncAPI files and generates formatted schemas or rendered diagrams:
The gen-docs command generates comprehensive markdown documentation from AsyncAPI files, including diagrams and changelog tracking:
The generated documentation includes:
Pull and run the latest version: