Keep it simple, but no simpler then makes sense. If it is simpler for you to keep it all in one codebase start out that way. Development is an iterative process, assume you are doing it wrong and be prepared to change things when they start to get unwieldy.
Premature optimization (or abstraction) of your code (or workflow) is always unwise.