I tried the extension in Firefox, and it works without any changes. All you need to do is go to "about:debugging" and click on "Load Temporary Add-on" and select the manifest.json in your extensions folder, this will load your extension till the next restart of Firefox.
To get the extension work permanently, you need to follow the instructions on developer.mozilla.org/en-US/docs/M... which basically means adding a small part to the manifest.json file and getting the add-on signed.
That's good. The differences aren't big; IIRC some manifest options have different names, and the top-level API's namespace differs (chrome in Chrome & Opera, browser in Firefox & Edge).
My one relevant project only makes light use of the API and so it's likely that the namespace is the only difference I'll see. And it can be done transparently -- Firefox supports chrome as the namespace, or one can use browser in Chrome with a polyfill).
The state of the "standard" is weird -- from what I can tell, Moz and MS put some effort a while back into making Chrome's APIs a W3C recommendation, but it doesn't seem like Google cared much, and I suspect the planned manifest v3 changes are partly why.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.