Этот урок рассчитан на оболочку POSIX и существующую рабочую копию jonnify. Нужен Go 1.26.0 или новее в PATH: скрипт использует установленный Go и сам не загружает новую версию инструментальной цепочки. Эти команды не подтверждают нативную установку в Windows.
Запустите нужную программу
Из корня репозитория:
go version
scripts/mg help
alias mg="$PWD/scripts/mg"
mg version
Первый запуск собирает bin/mg. При следующих запусках сборка повторяется, но кеш Go сокращает работу. Alias сохраняет абсолютный путь к скрипту этой рабочей копии на время текущего сеанса оболочки. После смены каталога он продолжает запускать ту же сборку из исходников.
Ожидаемый результат — справка с группами команд, затем сведения о версии и сборке mg. Версия разработки может иметь вид devel+…, суффикс -dirty или значение (devel), если сведения о ревизии отсутствуют. Для этого урока выпускная версия не требуется.
В macOS /usr/bin/mg — редактор. Если команда mg открыла редактор, выйдите из него и снова выполните scripts/mg help из корня репозитория; затем задайте alias. Одного имени команды недостаточно, чтобы определить программу.
Используйте справку
mg help
mg help version
mg version --help
Последние две команды выводят одинаковую справку. Общая справка группирует доступные команды и определяет тип текущего каталога. Вызов mg без аргументов печатает подсказку в stderr и завершается с кодом 2; для успешного запроса справки используйте mg help.
Попробуйте намеренную опечатку:
mg hlep
Начало диагностического сообщения:
Error: unknown command "hlep" for "mg"
Did you mean "mg help"? It would show mg's commands, or one command's usage, examples and docs.
Ожидайте код 2 и предложение mg help. mg не выполняет предложенную команду автоматически: исправленную команду нужно запустить самостоятельно.
Включите дополнение команд
В zsh сначала включите механизм дополнения, если оболочка ещё не сделала этого, затем загрузите скрипт mg:
autoload -Uz compinit
compinit
source <(mg completion zsh)
В bash загрузите скрипт в текущую оболочку:
source <(mg completion bash)
mg completion также создаёт скрипты для fish и PowerShell. Загружайте их по правилам выбранной оболочки. При вызове через source не добавляйте --json: оболочке нужен её собственный код.
Устраните ошибки запуска
MG-GO-MISSING или MG-GO-OLD означает, что Go из PATH не подходит для сборки. Установите или выберите достаточно новую локальную версию и повторите запуск. При MG-BUILD-FAILED прочитайте диагностику компилятора выше сообщения, включая возможную ошибку загрузки зависимостей. Эти случаи завершаются с кодом 3 и не подтверждают запуск mg.
Урок пройден, когда справка и версия завершаются успешно, а опечатка даёт код 2 с подсказкой. Далее — генерация примеров или JSON и обработка ошибок.