Best practices:

  1. Test driven development: TDD has been there for decades, but Vibe coding makes it even more necessary. In fact, it is the only way to go. I tried without TDD and it was painful. Now, I have 100s of test cases and focus on code coverage even though I run a startup. This along with vulture, ruff and pylint makes for good balance with AI. This way I can quickly hunt for deadcode from AI and remove them. I also instruct my AI tools to use the right test cases after each major generation.
  2. Generate a lot of mockups as SVG and keep them in the repo that your code can look at periodically to keep alignment. For backend, generate system diagrams with mermaid. They might not look beautiful, but it is a good bridge between the AI and the human languages. Keep visuals as text is important. Make it easier to keep in sync.
  3. Keep deleting things all the time. For every 1000 lines of code you generate, 900+ lines should be deleted in a day or two.
  4. Generate documentation as slides to keep it visual (no one reads your AI generated PRDs). Visuals are super important when you deal with vibe coding.

    All notes