Skip to content

Architecture and concepts

Protected edited this page Nov 28, 2023 · 2 revisions

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.

Next: Initial setup and requirements

Clone this wiki locally