You then interact with it in a dialog / refinement way. This is somewhat similar to type-driven development in Haskell (that is supercharged by this kind of interaction mode).
I find this approach to produce the highest quality output and I can ask it to explain reasoning, improve certain things, or elaborate and expand code.
I find this approach to produce the highest quality output and I can ask it to explain reasoning, improve certain things, or elaborate and expand code.