How could you possibly plan out "everything" in advance? Code itself would be the only way to explicitly specify the "everything".

Have a documentation system in place and have the LLM plan the high level before having the LLM write any code.

You can always just wing it, but if you do so and there isn't adequate existing context you're going to struggle with slop and hallucinations more frequently.