| ▲ | CharlieDigital 2 hours ago | |
IMO, the answer is remote container environments like Codespaces, Coder, DevPod, etc. (dev containers) We are moving into Codespaces now and it basically gives us an isolated full runtime env with Docker-in-Docker running Postgres. Developers had been trying various things to script worktrees, dealing with jank related to copying files into worktrees, managing git commands to orchestrate all of this, and managing port assignments. Now with dev containers, we get a full end-to-end stack that we start up using Aspire (https://aspire.dev) which is fantastic because it's programmable. All the ports get automatically routed and proxied and we get a fully functioning, isolated environment per PR; no fiddling with worktrees, easy to share with product team, etc. A 64GB developer machine can realistically run ~2 of our full stacks (Pg, Elastic, Redis, Hatchet, Temporal, bunch of other supporting services). Frontend repo is 1.5m+ lines of TS (will grind small machines to a halt on this alone). In Codespaces? A developer could realistically work on 10 streams of changes at once and let product teams preview each; no hardware restrictions. No juggling worktrees, branches, git repo state. I can code from any browser, from my phone, from a MacBook Neo, from a Chromebook. Switching between workstreams? Just switch tabs. Fiddling around with local worktrees for small, toy projects seems fine. But for anything sizable, future seems to be in dev containers. | ||