I’ll share my thoughts, but they might not be very universal: my solution is to directly modularize each part aggressively. This doesn’t just mean dividing by function; when I feel that the LLM can no longer manage the codebase and it might get out of control, I break some functionalities into different microservices and throw them into other repos. The downsides are also obvious, as it increases bandwidth and deployment costs.