HACKER Q&A
📣 tigroferoce

How do you switch environments between projects


I usually work on multiple projects in parallel (e.g. current customer, bugfixing on old project, side projects), and switching between projects is a pain because nowadays they require multiple resources (db, multiple microservices, frontend, kafka, ...).

My workflow usually starts from the shell; I'm on MacOS and I use iTerm2 and Visual Studio Code, usually, so the workflow typically is:

- open a bunch of tabs

- go to the root of each subproject (e.g. backend, frontend)

- run docker in background if necessary (i.e. for the DB)

- run 'code ./' to open the editor

- run the application (e.g. 'npm start')

- open the browser at the right location

- develop

The workflow is tedious and if I need to switch between projects it has a significant overhead, so I was thinking about scripting it. Since everything starts from the shell I was thinking about using ttab (https://github.com/mklement0/ttab) and add a small script to run everything, but I wonder if there is a better approach. It would be great if there was a way of freezing the state of a number of application and resume them at some point (like I would do if everything was inside a virtual machine, just without the overhead).


  👤 fpalmans Accepted Answer ✓
Have you considered running several vnc(or similar)servers on separate machine/machines and connecting to those?