The idea is this…
In the project file a list can be made of all files serving as dependency, these should be file JCR6 supports of course. These just contain the extra lua files and other stuff the library needs.
The dependency will need to be suffixed with .maanlib regardless of the used platform. Preferably lower cased due guarantee support on all OSes regardless of case-sensitive file systems (Maan is supposed to be “above” platforms… well sort of).
The system will look in either the folder where the main project file is located or in the maanlibs folder which will be “C:\users\\AppSupport\Roaming\MaanLibs\” in Windows “/Users//Library/Application Support/MaanLibs/” on Mac and “/home//.MaanLibs/“ on Linux if that latter version will actually see the light.
This way it can act as a “true” dependency (like Linux users love for some reason beyond me) or as a lib merged with the package, like in the app-bundle like Apple requires (and which works better for distribution anyway), or which is handier to make Windows builds more “portable”.
There is also a rule. Number the libs and increase it only when a new version is no longer backwards compatible with the older version (in case of deprecation or the use of external libs no longer being compatible or discontinued).
JCR6 is a patchable file system, so Maan will think it’s all one application and will not see the difference between files from the main project or any of its dependencies. That’s the idea.