Introduce DevContainers
Development containers allow to develop projects in a virtualised environment, e.g. with Docker on desktop, or remotely with providers like GitHub Codespaces.
This makes it extremely easy for people to contribute to the project, since the environment is already set up for them.
The following development containers are introduced with this commit:
-
app- for remote app development in the cloud.It includes a lightweight desktop environment and a VNC client to connect to the desktop remotely and interact with the running app.
-
app-local- for local app development on Linux desktops.Unlike
app, it does not include desktop environment and relies on desktop forwarding provided by Visual Studio Code. This is only suitable for Linux hosts. -
backend- for backend development.Features pre-configured database and other components required by Labrinth.
-
frontend- for frontend development.Everything you need to work with Modrinth frontend - Vue, Nuxt and other niceties included.
Some Visual Studio Code settings were also revised to remove unmaintained or broken extension recommendations, recommend different useful extensions, as well as declutter the explorer.