> [!note] The new term for going all-in with an AI coding tool like [[Cursor]] or [[Claude Code]]. > > See also: [[Vibe Coding Diary]] # Original Quote > [!quote] https://x.com/karpathy/status/1886192184808149383?lang=en [[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. # In Praise of Vibe Coding ## My AI Skeptic Friends Are All Nuts > [!quote] On Vibe Coding - [link](https://fly.io/blog/youre-all-nuts/) > As a mid-late career coder, I’ve come to appreciate mediocrity. You should be so lucky as to have it flowing almost effortlessly from a tap. > > We all write mediocre code. Mediocre code: often fine. Not all code is equally important. Some code should be mediocre. Maximum effort on a random unit test? You’re doing something wrong. Your team lead should correct you. > > Developers all love to preen about code. They worry LLMs lower the “ceiling” for quality. Maybe. But they also raise the “floor”. ## [[Kent Beck]] "never had this much fun" - this is universal comment that many industry veterans are giving; [[Steve Yegge]] made a similar comment too. "hacking the reward function" - if the test and implementation is divergent (and tests are failing), then should the implementation change, or should the tests be updated? - In most cases, the implementation should be updated; but in the real world, "it depends" is the answer. ## [[Armin Ronacher]] **Agentic Coding: The Future of Software Development with Agents** ![](https://www.youtube.com/watch?v=nfOVgz_omlU) This is a good guideline on how to fully embrace Vibe Coding. # Players ## Two class of vibe coding - [[lovable]] and [[replit]] - targeted for non-coders to write a new app. - [[Cursor]] and [[Claude Code]] - targeted against an existing codebase. ## Proprietary - [[Cursor]] - [[Claude Code]], [[Google Gemini]] CLI, [[OpenAI]] codex. - [[Devin by Cognition]] - Windsurf IDE - Lovable - Replit ## Open Source - https://sketch.dev/welcome - goose by Block - opendevin - all-hands - https://github.com/All-Hands-AI/OpenHands # [[Vibe-coding friendly environment]] ## The `--yolo` or `--dangerously-skip-permissions` This is literally [[Remote Code Execution]], but we don't care. #empirically we rarely have cases where the LLMs go rogue and destroy things, or siphon secrets away (maybe it does, but we trust the Big AI Model companies that they're not doing anything crazy with it). # What about [[Software Design]] and Quality in the age of Vibe Coding? ## [[What Vibe Coding is good at]] ## [[AI Code Reviewer]] ## What is value of code and abstraction in the era of vibe coding [[code is liability]] is a popular hot take; but vibe coding challenges this question even further. publish: true --- > [!note] The new term for going all-in with an AI coding tool like [[Cursor]] or [[Claude Code]]. > > See also: [[Vibe Coding Diary]] # Original Quote > [!quote] https://x.com/karpathy/status/1886192184808149383?lang=en [[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. # In Praise of Vibe Coding ## My AI Skeptic Friends Are All Nuts > [!quote] On Vibe Coding - [link](https://fly.io/blog/youre-all-nuts/) > As a mid-late career coder, I’ve come to appreciate mediocrity. You should be so lucky as to have it flowing almost effortlessly from a tap. > > We all write mediocre code. Mediocre code: often fine. Not all code is equally important. Some code should be mediocre. Maximum effort on a random unit test? You’re doing something wrong. Your team lead should correct you. > > Developers all love to preen about code. They worry LLMs lower the “ceiling” for quality. Maybe. But they also raise the “floor”. ## [[Kent Beck]] "never had this much fun" - this is universal comment that many industry veterans are giving; [[Steve Yegge]] made a similar comment too. ## [[Armin Ronacher]] **Agentic Coding: The Future of Software Development with Agents** ![](https://www.youtube.com/watch?v=nfOVgz_omlU) This is a good guideline on how to fully embrace Vibe Coding. # Players ## Two class of vibe coding - [[lovable]] and [[replit]] - targeted for non-coders to write a new app. - [[Cursor]] and [[Claude Code]] - targeted against an existing codebase. ## Proprietary - [[Cursor]] - [[Claude Code]], [[Google Gemini]] CLI, [[OpenAI]] codex. - [[Devin by Cognition]] - Windsurf IDE - Lovable - Replit ## Open Source - https://sketch.dev/welcome - goose by Block - opendevin - all-hands - https://github.com/All-Hands-AI/OpenHands # [[Vibe-coding friendly environment]] ## The `--yolo` or `--dangerously-skip-permissions` This is literally [[Remote Code Execution]], but we don't care. #empirically we rarely have cases where the LLMs go rogue and destroy things, or siphon secrets away (maybe it does, but we trust the Big AI Model companies that they're not doing anything crazy with it). # What about [[Software Design]] and Quality in the age of Vibe Coding? ## [[What Vibe Coding is good at]] ## [[AI Code Reviewer]]