8/24/2026 at 2:57:11 AM
The real problem for parallel dev is ensuring parallel dev environments can seamlessly co-exist without treading on each other. As soon as one of them wants to open a port, talk to an external database or write to a shared location as part of testing you have them conflicting with each other.Much of this is a legacy dev issue where there was never so much of an assumption that parallel ephemeral dev environments would be in play in the first place. But legacy dev is still most of dev.
by zmmmmm
8/24/2026 at 4:47:20 AM
To avoid that, the code should have ways to override default ports or paths for testing. Then, when testing, ask the OS for a free port or temporary file, and tell the tested code to use that instead of its default. This also allows running tests concurrently.In what case would talking to an external DB be a problem? Databases support parallel queries.
by lefra
8/24/2026 at 5:02:05 AM
On your last point, imagine worktree A talks to a database assuming some specific schema. If worktree B changes the schema (let’s day, we remove a column from a table), then worktree A can run into some errors.by pprotas
8/24/2026 at 5:19:08 AM
all schema changes should always be addition onlyby bdangubic
8/24/2026 at 6:04:43 AM
Maybe ideally, sure. In practice, in an org with multiple engineering teams: good luck enforcing that rule!by pprotas
8/24/2026 at 12:36:48 PM
no database user has drop rights - very easily enforcedby bdangubic
8/24/2026 at 7:08:58 AM
I just have a handful of ‘hot desks’ I assign different agents to - each desk is numbered, and the numbers inform the ports. So my first agent (001, because it’s an agent after all) uses 8081 for the web server, 3001 for the database, 8001 for the api service, etc - and 002 would use —2 for all the same.Nice and neat, nobody’s toes get stepped on.
by mock-possum