I remember when the term was first coined and it meant something like “asking an llm to code and NOT attempting to validate, fix or correct the outputs yourself. Just keep prompting in natural language until it works.” It was supposed to be a joke - this sort of use hits a wall pretty quickly and illustrates how limited llms can be.
The term has taken off and its meaning is now in flux. I did find it particularly amusing seeing all the LinkedIn lunatics start posting LLM written garbage about “integrating vibe coding Into your workflow” because they thought it was the new buzz word… and I guess they were right.
If you need a quick&dirty piece of code, you can generate it by firing some prompts into an LLM. You can get a decent result if you know what you are doing. It may not be production-ready, but often it’s a good starting point. This is NOT vibe coding.
Vibe coding is what people who don’t know what they are doing do when they try the process above, and think it’s production-ready.