devcontainers can be used by IDEs like VSCode to build the whole development environment in a container.
This allows you to keep dependencies, build, and all development aspects separated from any development.
It also allows contributors to instantly have a working, standardized development environment.
It also allows cloud development tools like GitHub Codespaces be automatically setup with the desired environment.
See https://containers.dev/ for more details