SitecoreDXG is meant to be a command-line-based, GUI-less tool that can be called manually from CLI or from an automated process, like a CI/CD pipeline.
In order to understand how SitecoreDXG works, it is suggested that you review the information in the Architecture section before continuing. However, if you wish to get started quickly then the short version is that SitecoreDXG works by using a middleman to retrieve the serialized data from Sitecore and kick off the generation process. At the end of the process, optional completion handlers can be executed to "do something" with the generated output, or you can leave the generated output in the SitecoreDXG output directory for later review/use.
The execution flow should start by executing the default RabbitMQ Middleman, which will handle kicking off the rest of the process. See Understanding the Default RabbitMQ Middleman and Trigger and Using the Default RabbitMQ Middleman and Trigger for more details on the default middlemen included with SitecoreDXG, and see below for a high-level overview of the execution workflow.
At a high-level, the out of the box process works in the following way (using the RabbitMQ middleman and trigger):
Middleman runs (executed from CLI or automated process)
Retrieves serialized data from SitecoreUML Service that is installed on the desired Sitecore instance
Submits returned response to the desired RabbitMQ generation queue (
generation_queue__documentation for generating HTML documentation or
generation_queue__mdj for generating just the Meta-Data JSON file)
Trigger listens for messages added to the RabbitMQ generation queues
Trigger detects a new message in one of the queues
Trigger kicks off the generation action associated with the queue that the message was in and passes in the message contents
SitecoreDXG Generation Service executes generation
Generated output is saved to an output folder
Completion handlers are called based on specified handlers when generation was called or else the default settings of the Generation Service
(Optional) Completion handlers run
Completion handlers run to do something with the generated output