pull down to refresh

Docker compose is a good way for managing local dev environment. I like this article Docker Compose Best Practices.
You also need some scripts for initial setup and migrations (db schema, restructure...)
For configuring project I use direnv which abstracts away environment differences.

I am also experimenting with Nix shell as development environment which gives you fast and lightweight development environment.