The class name of your plugin must match the name of the folder which your plugin sits in. If not, there will be no error but the plugin will not show up in the plugin list. When I was testing with TT-RSS running in a Docker container in WSL2 I had issues with capitalization. It should work if the folder and class are all lower case.
A plugin for TT-RSS should have a function about() which returns an array(). There is no documentation about this array that I could find, so here is what I observed from digging around in the source and looking at other people's plugins:
: App version as a float, will always be formatted using %.2F so will always show two decimal places. Setting this as a string seems to work fine too.
: Description string
: Created by string
: Plugin type boolean (true for system, false for user)
: A URL string which will open when the More Info button is clicked
A list of the hooks with some description can be found here.