One of the tiniest things among the many things that suck these days is that Firefox wants you to have a valid manifest when you try to load an add-on. When it's not valid, the only thing it tells you is that your add-on is corrupt.
They don't provide any sort of validator. The only way you can get more detail about what may be wrong with your extension is by
submitting it to the Add-Ons Developer Hub, which involves you getting a Firefox account, which forces you to use 2FA via an authenticator app.
That is a lot to learn that Firefox can't find the manifest in your zip structure. (Protip: Use `zip -j` to build a zip with no subdirectories in it.)