The project might do a better job of explaining what it actually intends to solve. At least as far as the readme.md goes.<p>I have been active in the area of browser extension development for over a decade now. And to me, it wasn't very clear at first glance.<p>It isn't crossbrowser extension development (which these days is actually fairly easy if you ignore Safari.... [0]).<p>The README showcases adding a lot of other frameworks and scaffolding, which to me isn't what makes extension development all that challenging. In fact, using a modern modular approach can be achieved using something like rollup [1].<p>Of course, I do believe that Plasmo makes setting it all up a lot easier. But just looking at the terminal animation I also can't help but feel that it adds a lot of abstraction I might regret later. To be clear, I also do realize that some people don't mind this and think it is easier to not have to think about the details.<p>Only when digging a bit deeper into the actually documentation [2] it starts to make more sense to me. From what I gather:<p>- Manifest creation is done entirely by plasma. You can just declare the thing you want to use or create in the right place like an options page [3]. Which is actually quite neat and something I can see makes things a bit easier for someone freshly starting with extensions. Although I'd argue that the manifest of an extension is not the most complex thing [4], even more when I see that for that with Plasmo you still need to declare similar things just at a different spot [5]<p>- It provides some scaffolding and abstractions around things like storage and messing between content_scripts and background workers.<p>- There are some neat utilities available for publishing extensions.<p>Overall, it looks like it like it does take away the creation of an extension and a lot of the utility functions you would need to write anyway. However it comes at the cost, in my opinion, of extreme abstraction to the degree that a beginner basically will have learned Plasmo and still have next to no understanding of browser extensions themselves.<p>It's one of those things where I wish this sort of tooling was available around a decade ago but I am also glad that it was not given the knowledge it gained me.<p>[0] <a href="https://news.ycombinator.com/item?id=41043974">https://news.ycombinator.com/item?id=41043974</a><p>[1] <a href="https://github.com/toolbox-team/reddit-moderator-toolbox/blob/master/rollup.config.js">https://github.com/toolbox-team/reddit-moderator-toolbox/blo...</a><p>[2] <a href="https://docs.plasmo.com" rel="nofollow">https://docs.plasmo.com</a><p>[3] <a href="https://docs.plasmo.com/framework/ext-pages#adding-the-options-page" rel="nofollow">https://docs.plasmo.com/framework/ext-pages#adding-the-optio...</a><p>[4] <a href="https://github.com/toolbox-team/reddit-moderator-toolbox/blob/master/extension/chrome_manifest.json">https://github.com/toolbox-team/reddit-moderator-toolbox/blo...</a><p>[5] <a href="https://docs.plasmo.com/framework/content-scripts#adding-a-single-content-script" rel="nofollow">https://docs.plasmo.com/framework/content-scripts#adding-a-s...</a>