# Автоматизация с понятным результатом — Mercury LMS ## Структурированный вывод ```sh mg version --json mg help --json mg version --json --agent ``` --json пишет один объект в stdout: ok, command, exit_code и result при успехе либо error при ошибке. Версия содержит version, revision, go_version, platform. В error есть kind/message, возможны id/next/details. Не объединяйте stderr со stdout через 2>&1: диагностика может нарушить JSON. --agent добавляет в stderr текстовую подсказку AGENT_PROMPT_BEGIN/END; в режиме JSON она находится в agent_prompt. MG_AGENT=1 также включает подсказки. Они не выполняют и не разрешают следующие действия. Ошибки скрипта запуска могут не содержать agent_prompt/result даже при --agent. ## Код завершения ```sh if mg version --json > mg-result.json; then printf 'Version captured\n' else code=$? printf 'mg exited %s\n' "$code" >&2 fi ``` Пример сообщает код; в CI также нужно передать ненулевой код наружу при ошибке шага. 0 — успех; 1 — отказ, включая расхождение генерации; 2 — неверный вызов; 3 — проверка не выполнена; 101 — внутренняя ошибка; 128+n — сигнал. Восстанавливайте конкретную недостающую возможность. Не считайте невыполненную проверку успешной и не перезаписывайте файлы только потому, что подсказка упоминает генерацию. ## Два случая `mg help --json` успешна. `mg hlep --json` возвращает 2, JSON с ошибкой и текстовую диагностику. Обработчик различает их по полям и статусу. Сборки с генератором используют `mg gen examples --check --json` для проверки без записи. ## Навигация - [Открыть урок](/ru/mg/automation) - [mg](/ru/mg/llms.txt) - [llms.txt](/ru/llms.txt) - [All English companions](/llms-full.txt) - [Sitemap](/sitemap.xml)