Chat is fundamentally the wrong interface for this. My instructions to the LLM in a chat session are effectively the software specifications, but chat encourages to treat them as ephemeral.
It's analogous to writing code in a high-level language, then deleting the code after it's compiled and keeping only the low-level bytecode.
In the case of vibe-coding, my specifications to the LLM _are_ the code, and the LLM-emitted code is a _artifact_ that can in principle be discarded and re-generated, assuming my specs are precise enough to ensure consistent outputs (the nondeterminism of LLMs is definitely a issue here.)
So I want tools that let me persist my specs, help me iterate on them, check them into version control, and help me test how the LLM interprets them. Not a chat.