It's a useful assistant. Never again do I need to argparse each flag onto a class Config: fully manually again. I also found it useful in catching subtle bugs in my (basic, learning purpose) cuda kernels. It is also nice to be able to do `def utc_to_ist(x: str) -> str`<TAB>.
As for whole apps, I never agree with its code style... ever. It also misses some human context. For example, sometimes, we avoid changing code in certain ways in certain modules so as to get it more easily reviewed by the CODEOWNER of that part of the codebase. I find it easier to just write the code "the way they would prefer" myself rather than explain it in a prompt to the LLM losslessly.
The best part of it is getting started. It quickly gives me a boilerplate to start something. Useful for procrastinators like me.