LogoLogo
BeeARD Website
  • Getting Started
    • Introduction
    • Twitter/X
  • Sci-Hive
    • Autonomous Research Discovery
    • Knowledge Graph
    • Generation System
    • Validation System
    • Roadmap
  • Projects
    • HypGen
    • PsyBEE
  • Blog
    • Responsible Vibe Coding Guide
  • Ecosystem
    • Tokenomics
    • Open-Source Contribution
    • Brand Toolkit
  • Methodologies
    • V0: Hypothesis Generation (Ghafarollahi & Buehler, 2024)
    • V0: Building KG (Buehler, 2024)
Powered by GitBook
On this page
  1. Blog

Responsible Vibe Coding Guide

PreviousPsyBEENextTokenomics

Last updated 9 days ago

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: Your Safety Net

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:

- Prioritize clear, straightforward code. No clever nonsense.
- Only touch code tied to the task. Leave the rest alone—no random cleanup.
- Add concise docstrings or JSDoc for anything new.
- Write test descriptions that make sense.
- Keep functions and components focused and reusable.
- Stick to RESTful principles for APIs.
- Push complex logic to service functions or modules.

There’s more for Python or TypeScript, but I’ll save that for a rules deep-dive post.


First Prompt: Nail the Setup

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.


Next Steps: Guide, Don’t Guess

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.


Bonus: Keep It Together with Markdown

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.


Wrap-Up

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.

Kuba
disaster
here
github.com/PatrickJS/awesome-cursorrules