Responsible Vibe Coding Guide
Last updated
Last updated
by , 2025/05/22
Vibe coding—spinning code from loose ideas with AI—gets hyped up a lot. It also gets mocked, and honestly, it deserves it sometimes. When it works, it’s a superpower. When it flops, it’s a . Three weeks ago, I took my time to figure out how to do it right, and it’s been a massive unlock. I couldn’t find a short, clear guide on this (surely they’re out there, but I missed ‘em), so I wrote one.
This post is about running a single vibe coding session that’s productive and doesn’t harm your project. I’ll do another one later on building a full app from scratch with LLMs. My approach borrows heavily from Kevin Leneway—watch his interview for the real deal. I’m using Cursor because it’s my go-to, but this stuff applies to other tools too.
Cursor rules are a must. They’re how you make the LLM behave like a pro instead of a loose cannon. Without them, good luck.
Make ‘em yours. Tweak them to fit your style and project. No one-size-fits-all here.
Steal ideas. Check this repo for solid rulesets: .
How to add one: Hit Ctrl/Cmd+Shift+P → “New Cursor Rule” → name it → write it → set it to “Always.”
Here’s what I run with:
There’s more for Python or TypeScript, but I’ll save that for a rules deep-dive post.
The first prompt is everything. Get this wrong, and you’re in trouble. Mine’s long and loaded:
Spell out the goal—say, “Your goal is to implement feature X”—with exact details on how it should work.
Tell it to study the codebase and plan its approach.
Attach every relevant file, function, and doc. Context is king.
Say: “Ask questions, browse the code, search the web—figure it out first.”
Add: “Do not write any code yet. Just explain your plan in detail.”
Flip on thinking mode. IMHO, gemini-2.5-pro
does the best job recently.
This isn’t a suggestion—it’s a briefing. Get the AI to think before it acts.
Once it spits out a plan, check it. If it’s off—like reinventing an API that’s already there—point it to the right spot. When it’s solid, say, “Go. Step by step.”
It might overachieve and dump backend, API, and frontend in one shot. If it works, awesome. If not, rewind to steps.
Commit every chance you get.
If it’s still broken after 2-3 tries, roll back to a checkpoint and restart.
Here’s my trick: start every session with an empty markdown file. In that first prompt, tell the AI to write its plan there. After a few steps—or at the end—have it update the doc with what’s done or changed.
Why? It tracks progress, keeps the LLM grounded, and if the context window chokes, you can jump to a new session and catch up fast.
Vibe coding isn’t some mystical art—it’s a tool. Get it wrong, and your project suffers. Do it right, and it’s a productivity cheat code. The secret? Rules, a killer first prompt, tight feedback, and a system to stay organized.
Next time, I’ll show you how to vibe-code an app from zero to done. For now, this’ll keep your sessions sharp and your codebase intact.