Not everyone has the same background in programming languages. Some might not be familiar with a dynamic language, others might not be familiar with scripting languages, others with compiled languages, etc.

Just because they are not familiar with these systems does not imply that they will not have to interact with projects that use these technologies. What this actually means is that your tooling is an avenue of education and you need to take this into account when writing the tool.

We also need to remember that while we may support a subset of operating systems that does not mean all of our users are familiar with the operating systems in use.

With these concepts in mind, we need to make sure we help people where we can. Tell them commands they need to run, explain what they do, and help them understand why they need to run them.