В мире всяких аналогов make создано достаточно. И даже больше чем достаточно! Есть как альтернативные реализации (GNU Make vs BSD Make), так и совсем самобытные (redo). В моей практике, как разработчика НЕ на Си — make используется исключительно как запускалка некоторых частых команд. И это притом, что make всё же несколько для другого и в целом, именно запускался — скорее побочный эффект.
Казалось бы, тогда для большей красоты — стоит использовать специализированное решение, например, Taskfile. Но тогда каждому для работы с проектом придётся ставить приложение для работы с Taskfile. Выглядит как такое себе решение.
Но! У всех же точно есть POSIX sh! Так что мешает делать очень минималистичный sh скрипт, суть которого в простом запуске команд? Да ничего! Вот самый простой вариант:
#! /bin/sh
case "$1" in
infra_up)
docker compose up -d
;;
infra_down)
docker compose down
;;
*)
echo "Неизвестная команда"
;;
esac
Всё! Ничуть не сложнее обычного Makefile который обычно для такого используется! И работать будет вот совсем везде! :)