This only matters if you don't know what you are doing. LLMs can work with any tool. I'm working with a very unconventional stack and the LLM seems right at home.
That’s also probably why bun, supabase and netlify have been seeing so many new users, because (at least in my case and unless instructed otherwise), vibe coded projects had a tendency to push me in that direction.
The industry defaults are trash but it is what it is.
Heck even in my own usage I get far better results when using them in domains I know vs domains I don't.
However, the truth is that writing isomorphic javascript programs in the age of agentic coding is much less important to me than it was a few years ago.
Please excuse my language, but that's only the case if you're a complete imbecile and can't write a for loop to save your life.
An LLM doesn't "reach" for anything, because you tell it what to do. You go "use this tool, to do that thing, in this way, here's a bunch of written guidance on how exactly to do that, and if you run into issues ask me". Any other use is glorified copy-paste slop code and will end up with a worse codebase than if you let an egomaniac run amok on a single codebase for 20 years.
If I say, "start a C++ package skeleton" I'm getting CMake, not waf, make, bjam, or whatever. If I state the build system, then I'm still getting some package layout drawn from the training distribution. If I specify that, I'm still getting snake_case or CamelCase or whatever naming convention, drawn from the training distribution. If I specify that, etc etc.
It is distribution sampling all the way down.
So, yes, literally LLMs ARE reaching for "it".
Well, in my case I suddenly had deno installed, while letting run fable in auto mode, even node was already there and I had to look up what deno was. "Ah, that node replacement."