Me Dealing with AI Training Bias
This started for me in 2024, when Bulma v1 came out. I went looking for a React package that supported it. There wasn't one yet.
This started for me in 2024, when Bulma v1 came out. I went looking for a React package that supported it. There wasn't one yet.
So you've got a React app built on react-bulma-components. It works. It also hasn't had a release since 2022, it targets Bulma 0.9, and every v1 feature you actually want (CSS variables, dark mode that just happens, the Grid components) sits on the far side of a rewrite nobody has budget for.
Ask a coding agent for a dashboard in a library its training data barely saw, and one of two things happens: it quietly switches to the popular library it has seen a million times, or it stays loyal and invents props that don't exist. We fought that with agent skills, playbooks that teach an agent our library. This is the story of what came after: proving the skills actually work, then making them better the way evolution would, just faster.
A coding agent can't one-shot a library its training data barely saw. Ask one for a dashboard in an under-represented library and you get one of two failures: it quietly reaches for the incumbent it has seen a million times, or it stays loyal and invents props that don't exist. bestax's answer is to make the real, current API machine-legible so one shot is enough, and this post is everything that ships today.
A form in bestax-bulma is plain React: state goes in, props come out, and nothing new sits in between. There's no bundled form library and none is coming; the library's job ends at rendering Bulma correctly, so your form state stays yours. By the end of this post you'll have a validated signup form built with nothing but useState, you'll see where the validation library of your choice plugs in, and you'll know where every escape hatch is.
In June, bestax-bulma v5.0.0 shipped exactly one breaking change, and it was a deletion: 3 files touched, 22 lines removed, 0 added. If you never imported versions/bestax-bulma-prefixed.css, you won't feel a thing.
In June, bestax-bulma v4.0.0 dropped support for React 16 and 17. That's the whole release: one breaking change, no new components, and if you're on React 18 or 19 you won't feel a thing. Here's why I moved the floor anyway.
Round two. Since January's batch of extra components, four more Enhanced Add-Ons have landed: original components that go past what the Bulma spec covers while keeping Bulma's helper props, CSS variables, and theming. Meet Avatar (and its stacking sibling Avatars), Badge, Reveal, and LinkButton.
Back in January, our Extra Components post ended with a promise: DateInput, TimeInput, and Colorpicker were coming. In June, v3.0.0 delivered the date and time pickers (plus a DateTimeInput we never promised) inside a release that added about 30 new components in one shot. Two out of three ain't bad.
Tailwind is first. Bootstrap is second. Bulma is third.
That's the whole leaderboard, and it has been remarkably stable for years. Every survey, every npm download chart, every "what CSS framework should I use in 2026" thread lands in the same order.
So let's talk about third place, because third place is the interesting place to be.
Congrats on being different. Now here's what to do.