1 min read

The Importance of understanding your environment

We live in the agentic age, whether you think its a good or bad thing is not really relevant to the seismic shift that our industry has undertaken this year. Vibe coding or really just heavy use of llm's has been possible for a little while now but the big change this year has been that its no longer a series of complicated prompts to get something that mostly works for many basic and some complex use cases.

But I have seen a worrying trend among my peers, that is using these agents to setup a dev environment and assuming that because the ai is competent at engaging with your project it must also be competent at setting up your environment. I think this is an important distinction because the way that these tools are going to solve this is the shortest path to success.

Right now we live in a golden age of local development tooling its never been easier to get an environment setup with multiple versions of languages that automatically switch based on what director your in. Tools like asdf and mise to me atleast are the evolution of the per language tools we had been using for ages rubyenv, pyenv, nodeenv ect ect. To see this thrown away and pushed onto the ai tooling that often installs the same language version several different ways and then massacres your path to align with whatever pattern your prompt elicited from it is wild to me.

brew install mise

mise use -g node@<version>

mise use -g java@<version> or mise use -g java@latest

This is straightforward and manageable its low on side effects and you have clear paths to remediations for issues with your path. I feel the need to write this all down somewhere because in the last few weeks alone ive had many engineers come to me and report issues with their $PATH on macos, linux and windows and the answer seems to always come back to letting the llm make a change that fixes your problem in the moment but slowly rots your whole system and makes it unmaintainable.