Information about WebFramework: https://uwap.org/projects/webframework
To execute the command, go to:
Tools > Generate FileHandler.cs (if there are multiple projects in your solution, you might need to click on the desired project to select it!)
There are some settings under
Tools > Options > PluginFilePacker, those are documented in their description.
The generated partial class will have the name of the project, so make sure the rest of your plugin matches that.
To create a custom file handler as a fallback, create a file
FileHandlerCustom.cs using the same namespace and partial class, then add two methods like this:
byte? GetFileCustom(string relPath, string pathPrefix, string domain)
string? GetFileVersionCustom(string relPath)