Helper functions give your addon convenient global shortcuts — validation checks, API wrappers, permission checks, formatting, route and asset helpers. Helper files live in the addon's Helpers/ directory and are autoloaded either by listing them in the files array of module.json or in the autoload.files section of composer.json (followed by composer dump-autoload). Always wrap each function in a function_exists() check and prefix names with your addon name to avoid collisions with other addons.
Separately, the functions.php file in the addon root holds lifecycle functions: install_addon() runs during installation and update_addon() during updates. Both take no parameters and must return an array with a success key — install returns success/message, update returns an update_url pointing to the new ZIP. Optional companion functions like youraddon_checkDependency() and youraddon_checkLicense() return the string "success" or an error message, letting you gate install/update on PHP extensions, packages, or licensing.
Mumara also ships built-in helpers you can call from your addon: addonDir(), addonSettingDir(), and addonInstallDir() for paths, moduleCheck() to test whether an addon is enabled, and the hook helpers (add_hook, listen_hook, hook_get_output, hook_get, hook_exist, run_hook_in_background). For complex related functionality, prefer a namespaced static helper class over a pile of global functions, keep each function single-purpose, type-hint, and document with PHPDoc.