When I coded together FormBus, I wanted to provide an out-of-the-box solution to all the typical things needed to submit a static form to an API. All this without the need for any external libraries.
The implementation is modular enough to use parts of it, and I even wrote an article about using just the directives.
But the more I used FormBus in real-world projects, the more it became clear that the directives were unnecessary to me. I used Alpine.js or React to handle other components, so I already had libraries that could do what the directives were supposed to.
In the end, I ended up creating integrations with these libraries, and I was mainly using only response sniffing utilities. While FormBus, in the current state, is not bloated, it's not as slim as the alternative solution I proposed in the Headless Form Submission With the WordPress REST API.
From the beginning, I decided to postpone the release of version 1.0 until I had the chance to use it in client works. Sometimes only time can surface the wiseness of decisions.
Since this was a secret public project, never shared with groups of people, thankfully, there are almost no weekly downloads. I don't feel bad completely refactoring it.
My plan for the 0.6 release is to remove the directives and form submission functionality and only keep the two plugins' response utility functions. But this time, provide tests for those sniffing helpers.
Later, I'll create an Alpine.js plugin that integrates with FormBus since that's the library I use the most lately.