Principles of Vibe Coding
My apporach to Vibe Coding
Published: January 15, 2025
Principles of Vibe Coding
Vibe coding is coding with AI without having extensive coding experience. Here's my takes on how to vibe code well.
Core Principles
1. Read
This sounds dumb - but read what the AI code editor is putting out. It'll be easy to get overwhelmed, or everything to seem overly technical, but reading the output and trying to learn is key to troubleshooting when the "vibes" run out.
Also, make sure to read the instructions and documentation for tools that a chatbot tells you to use if you find that copy-pasting the error code back into Chat-GPT isn't working.
I wasted 5 hours troubleshooting certificate downloads in Let'sCertifyTheWeb, only to realize the solution was in the instructions directly above the file destination field: the filename needed to end with .ext.
A separate occasion, I was trying to build a database that called Claude, but I was getting issues that the classes referenced didn't exist. Feeling like a Pro, I google the Claude Software Development Kit documentation, read up on what the write code should be, and fixed the error.
Few moments do I feel smarter than being able to read the source documentation or code from GitHub and then fixing a problem. Source documentation are where the chatbots and people on StackOverflow get their knowledge. It's intimidating - but think of it like a cold plunge - scary at first, but you'll be riding the high all day once you figure it out.
If the vibe loop of error code-to-chatbot pipeline is spinning it's wheels, you probably just need to read.
2. Learn
While you're reading, if there's a term you don't understand, learn. Just ask an AI Chatbot. My go-to questions for understanding new terminology are "What is this?", "How does it work?", "Why does this exist?/What would I have to do if this tool/concept/package didn't exist?".
Knowing the general picture of what's going on will allow you to ask slightly smarter questions to your coding agent. When building a database for a project, I had asked Claude to add Google Log-In's (OAuth). I had previously learned how/what/why for SpringBoot, Kotlin, and Gradle (don't ask me now) and after Claude's first attempt, I was able to ask "what about upgrading the User data object in Kotlin?".
In this case, Claude was able to update the code correctly even though I was only 50% sure I knew what I was talking about or knew what was the right term. The more you learn the more you can help your AI coding agent build better faster.