Lazy vibing isn't a good idea... 💥 VIbe Engineering though 🚀

After two days of successful Vibe Coding (though it is more like Vibe Engineering) I’m having a lazy day and have just given Claude Code a few prompts for features.

The good code is available on Github

Not yet sure what went wrong today but in attempting to add a new feature it completely removed another. It’s a lazy day so I’m not digging into it - when I get back chances are good I will be resetting to the last good commit and checking the new feature prompt. Maybe I missed something in the definition of the feature… Or maybe I didn’t pay enough attention to a plan it created.

Either way, I’m definitely seeing it as a powerful engineering tool. Without tight controls in the Claude.md, thoughtful selection of relevant documentation, and monitoring for when it gets a URL wrong or digs into a problem that isn’t relevant, weird things happen.

However with:

  • Relevant API documentation.
  • A well defined Development Process in Claude.md.
  • Using Claude Chat as an Architect/Product Manager companion.
  • Clear design patterns and acceptance requirements (I like DDD and ATDD).
  • Well sized feature requests/prompts (my gut feel is that a development cycle should stay within one context window).
  • Always asking Claude Code to double-check after it has finished. That’s important.
  • Monitoring it’s output: checking for giving up, wrong URLs/values, repetition, or other such nonsense.

It seems to do really well. Well enough for me to upgrade to the Max account and keep going. I need to find a way to vet the code as well. It’s a new language for me so I’ll be looking for ways to evaluate it in a robust fashion.

I hope to have the extension finished and functional in a couple of weeks - study, research, and family is the priority for the next week. Though I’m sure I’ll find 30-45 minutes to work on a feature here and there 🤓

Vibe Engineering