This tweet from Andrej Karpathy[1] coined the term and provides a good definition (with a few snips for brevity):
> There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. ... I "Accept All" always ... When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd have to really read through it for a while. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. ... but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.
It's not that hard to understand that this is a distinct thing from "AI-assisted" development. It's a distinct thing that can be fun and no serious person thinks it should be your only modality for getting real work done.
If you've got an AI-aided workflow and uninformed people are dismissing what you're doing as "vibe coding" just... idk, ignore them? My opinion is that anyone who hasn't at least tried this stuff and taken the time to understand how it could be useful to them is just not worth listening to.