Blogmark

The 10 Rules of Vibe Coding, quoting John Lindquist

via jbranchaud@gmail.com

https://x.com/johnlindquist/status/1894772728588284306
  1. Always start with deep research
  2. Always create a plan from the research
  3. Break the plan down into small, testable tasks
  4. AI Agents tackle one task at a time
  5. Agents must be able to verify their work
  6. Agents need context of the full project (file-tree, goals, etc), even for small tasks
  7. git is your friend
  8. Capture everything at the EOD, then deep research how to do better tomorrow
  9. When agents fail, go AFK and clear your head. Brute force never works and burns money.
  10. Dictate anything longer than a sentence

“git is your friend” resonates with me for any AI (or non-AI) coding because you can quickly overwrite a bunch of in-progress changes. Small, incremental diffs are the way.

What is vibe coding?

It may have been originally coined in this tweet by Andrej Karpathy:

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. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like "decrease the padding on the sidebar by half" because I'm too lazy to find it. I "Accept All" always, I don't read the diffs anymore. 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. It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.

"And it mostly works." 🥴