Comment by infomiho

6 days ago

I've been successfully "vibe engineering" with Claude Code for a week now on a side quest at my job. I want the result to be of high enough quality to maybe survive in our codebase long-term, but I don't want to write it myself.

So I've added unit tests, e2e tests, formatting checks to help Claude to self-correct as much as possible. And I make him do a TON of self-review, after each feature I say something like:

> You are a master reviewer, lots of practical experience. Read Clean Code. Great at architecture. Read Effective Typescript as well. What would you comment in a PR review? Type checking MUST PASS, unit tests must PASS, formatting must PASS.

With each review, Claude catches a lot of sub-optimal choices it made which gives me more confidence in the code I get in the end.

Do you really believe that if you miss the "Read Clean Code" or "Read Effective Typescript" part, then the output would be significantly different?

No offense, but I feel this kind of talking is ridiculous. If it is a better practice, then it should be done without explicitly telling so. You do not tell them "Do not get things wrong," right? If it is a matter of choice over design patterns, for example, use functional programming or object oriented programming paradigm, then it should be said more clearly as what I have done.

Now, if it is neither something that is definitely a better practice nor something you can state clearly with a known, well-defined word, how can you make sure what you have said really make a difference if you have not said it?

  • It works for me and I like the results I'm getting. The results often include callbacks to rules of thumb from the mentioned books - which I find easier to agree with or dismiss when I see the suggestions it made. In a way, it's a framework for me to "communicate" with the LLMs.

    I think you should try finding what works for you, maybe even give my ridiculous prompt a go.