Blogmark
The 10 Rules of Vibe Coding, quoting John Lindquist
via jbranchaud@gmail.com
- Always start with deep research
- Always create a plan from the research
- Break the plan down into small, testable tasks
- AI Agents tackle one task at a time
- Agents must be able to verify their work
- Agents need context of the full project (file-tree, goals, etc), even for small tasks
- git is your friend
- Capture everything at the EOD, then deep research how to do better tomorrow
- When agents fail, go AFK and clear your head. Brute force never works and burns money.
- 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." 🥴