I keep seeing the advice so start with a MVP and build on that. I have tried that but due to adding on new features I seem to have ended up with a bit of a tangle that means I keep getting new seemingly small bugs that takes multiple attempts with high powered Agent prompts ($$$) to fix, only to find a big at the very next step in the workflow. So am I am considering starting again putting everything I know into a new spec doc. I feel that spending a bit up front now will save me in the long run with these time taking repetitive and therefore costly big fix cycles.
However since I have been burned by trying the MVP I want to it all a bit smarter. I still want a relatively MVP, but I want it extensible. So would like some advice about a MVPBE (minimal viable product but extensible) prompt.
Should I add in prompting to isolate the database in its own layer, so I can start with the Replit PostgreSQL but be able to change to other databases (eg Supabase) at a later time if needed?
Should I try and spec out the database myself? Or just mention the types of data I will want to use?
Should I fully step out user workflows? Spec up some sample screens?
Should I mention possible future enhancements so that the Agent can ensure that architecture will support it?
Should I ask Agent to help create my prompt for a new system based on my current app?
Any advice from experienced vibe-coders that have gone through this would be appreciated.