-
Notifications
You must be signed in to change notification settings - Fork 2
Architecture and concepts
Rowboat's core doesn't natively do anything. Instead, it provides a number of built-in facilities intended to harmonize how different features work with each other and to make it easier for actual functionality to be implemented in self-contained submodules:
-
Environments, which, when loaded, connect to an outside service of a certain type (found in the
environment
folder). -
Behaviors, which, when loaded, tell it how to behave in response to events, commands, configuration parameters, etc (found in the
behavior
folder).
This diagram shows a general overview of Rowboat's components. The arrows labeled 1 through 5 explain what happens when an instance of the software runs. After this initialization process, Rowboat will idle and any Environments and Behaviors you have loaded may emit or handle events. The process will shut down gracefully if it receives a SIGINT interruption signal (for example, through use of CTRL+C).
The Config system manages configuration parameters, including which Environments and Behaviors should be used. Config files all go in the config
folder.
The Logger system generates detailed logs. The default configuration file creates logs in the logs
folder.
Rowboat will not do anything without Behaviors, but there are dozens of built-in Behaviors you can load.