Задействованы основные модные штуки: react, tailwind, postgresql, vite, ну и rails, само собой. Можно конфигурировать, контейнеры идут с entrypoint скриптами. Берутся последние на момент запуска версии ruby/node/postgresql.
Ветка main содержит готовое приложение, которое выводит список городов. Если раскрашенный список вывелся, значит весь стек работает.
Для создания своего собственного нового приложения достаточно скопировать каталог .devcontainers, поменять названия контейнеров в .devcontainers/docker-compose.yml и запустить в vscode, тогда просто запустятся контейнеры и в консоли ruby-контейнера нужно будет запустить генерацию нового приложения, а в node-контейнере аналогично генерацию фронтенда (это может быть как react, так и другие библиотеки).
Либо использовать консоль для запуска скриптов, для этого подключаемся к контейнеру и в нем создаем новый файл, например, main.rb. По умолчанию, рабочий каталог в контейнере -- /app, то есть скрипт можно будет запустить командой ruby /app/main.rb.