Description
With the growing number of scripts, we are starting to see common functionality that might be beneficial to other scripts. Instead of copying & pasting or importing directly from other scripts, it would be better to have a library of reusable classes and functions.
Since this library is intended to be used by more than just one script, it's important that it has the following features:
-
Included with the firmware package - since any script could potentially use this library code, it should always be present alongside the firmware, not just
contrib
. -
Documentation - this will help with discoverability and make it easy to understand what to expect when using the class or function.
-
Tests - tests are important because we need to ensure that we know exactly how the library code behaves and if it ever needs to change, we understand the impact of those changes and how it could affect users of that code.