Local development environment setup tool

The tooling at Shopify is remarkable, and especially the dev up command is magic, as it sets up an entirely development environment.

I have since reimplemented the dev tool at a later company, but it is intellectual property of that company and since leaving I no longer have access to it. I miss it!

This tool would not use Docker. On macOS, Docker is far too slow to provide a reasonable feedback loop.

It’s ddenv!

ddenv (short for “Denis’ Developer Environment,” I suppose)

Create a ddenv.yaml file which contains the list of dependencies to manage:

up:
- homebrew: overmind
- ruby: 3.3.0
- bundle
- node: 20.12.2
- npm

Then, run ddenv:

% ddenv
Installing Homebrew package ‘ruby-install’      skipped
Installing Ruby 3.3.1                           skipped
Adding Shadowenv to shell                       skipped
Creating Shadowenv dir                          done
Adding Shadowenv dir to .gitignore              done
Adding Ruby 3.3.1 to Shadowenv                  done
Installing Ruby gem bundler                     skipped
Installing bundle                               skipped
Installing Homebrew package ‘node-build’        checking...
Installing Node 22.0.0                          pending
Adding Shadowenv to shell                       pending
Creating Shadowenv dir                          pending
Adding Shadowenv dir to .gitignore              pending
Adding Node 22.0.0 to Shadowenv                 pending
Installing npm packages                         pending

Now your local developer environment is ready to be used.

See also

I have written about this before: