Running tasks with devbox

Task runner is a piece of software that introduces a standard way of defining, discovering and executing tasks for a given project. Task runners that instruct compilers and linkers on how to build a project are called build systems. Task runners that execute on a remote machine are usually called CI/CD regardless of whether they use containers or not.

Modern language toolchains come with integrated build systems, which remove the neccesity of bringing your own in the form of a task runner. This allows using simpler task runners that don't duplicate features already provided by the standard language tooling.

Devbox can also be used as a task runner, which is very convenient since it also describes a development environment. Instead of manually entering development environment with devbox shell and running a command, the same can be achieved with just devbox run <command>, where <command> can be one of the following:

  • Ad hoc shell script, such as go build
  • Named script defined in devbox.json