UI запускается бинарником admingen, команды для скриптов — admingen-cli. Раньше эти программы назывались admingen-ui и admingen; в командах ниже используются новые имена.
CLI подходит для повторяемых действий и скриптов. Он меняет тот же манифест, что и Generator UI. Создание сущности, генерация исходников и запуск приложения — разные операции: после настройки модели вы отдельно выпускаете файлы и запускаете результат.
Из чего состоит команда
admingen-cli --path ./docs-demo entity add Article --module content --table articles
admingen-cli — исполняемый файл CLI; --path задаёт проект; entity add — действие; Article — имя сущности. --module и --table относятся к её созданию. Сохраняйте порядок слов команды и передавайте технические имена точно, без перевода.
| Параметр | Значение по умолчанию | Для чего нужен |
|---|---|---|
--path PATH |
. |
Корень проекта. Удобнее указывать явно, если терминал находится в другом каталоге. |
--output text|json |
text |
Читаемый вывод для человека или структурированный результат для программы. |
-h, --help |
выключен | Справка выбранной команды без выполнения операции. |
У логического параметра --required означает true, --required=false — false. В командах update отсутствие параметра обычно означает «оставить как есть». Не передавайте все значения из справки в надежде сохранить настройки: так вы можете заменить их.
Как проверить проект перед записью файлов
admingen-cli --path ./docs-demo doctor
admingen-cli --path ./docs-demo plan
admingen-cli --path ./docs-demo generate --dry-run
doctor показывает, инициализирован ли каталог. plan строит операции генерации. generate --dry-run показывает изменения файлов без записи. По этим результатам можно понять, проблема в модели или в конфликте с существующими исходниками.
Для обработки результата скриптом включите JSON:
admingen-cli --path ./docs-demo --output json plan
Сначала проверяйте код завершения, затем данные и ошибку. Не ищите в тексте просто слово «успех». Форматы ошибок CLI и HTTP API генератора различаются: JSON из HTTP нельзя без изменений использовать как результат CLI.
Как запустить Generator UI
admingen содержит CLI-команды и встроенный интерфейс:
admingen --path ./docs-demo start --addr 127.0.0.1:8080 --open=true
--addr задаёт адрес и порт, по умолчанию 127.0.0.1:8080. --open управляет открытием браузера. ui — совместимое имя того же запуска.
admingen-cli запускает локальный HTTP API через serve --addr ..., но не содержит встроенного UI. Локальный редактор не предназначен для публикации в интернете как система администрирования вашего приложения.
Где получить справку и автодополнение
admingen-cli help entity
admingen-cli entity field add --help
admingen-cli completion zsh > admingen-completion.zsh
completion поддерживает bash, zsh, fish и powershell. Он выводит скрипт дополнения; сохраните его и подключите по правилам своей оболочки. Не запускайте весь вывод как произвольную команду. Где поддерживается --no-descriptions, он убирает пояснения из дополнений.
Команды по задачам
| Задача | Команды и раздел |
|---|---|
| Создать проект, запустить локальный редактор | init, serve, start |
| Проверить проект и получить файлы | doctor, plan, generate |
| Сгруппировать и описать модель | module, entity |
| Настроить данные и форму | field / entity field |
| Описать связи | entity relation |
| Собрать read-only представление | projection |
| Настроить операции и выдачу записей | Разрешения и правила чтения |
| Переименовать поле, удалить поле или сущность | Жизненный цикл модели |
| Создать собственную SQL-миграцию | migration create |
| Запустить приложение и обслуживать БД | Команды готового приложения |
| Выпустить релиз, backup и restore | deploy/control |
Для настройки полей используйте команды полей, для связей — отношения, для read-only выборок — проекции. Подготовка каталога описана в init, структура сущностей — в module и entity, применение модели — в generate.
Отдельных admingen-cli history, diff, rollback, git и project settings нет. Diff доступен через generate --dry-run, история и восстановление модели — в UI. Настройки проекта меняются в Project settings или манифесте. После init для дальнейшей работы с репозиторием используются обычные команды Git.
Что означает код завершения
| Код | Значение |
|---|---|
| 0 | Команда завершилась успешно; содержимое результата всё равно нужно учитывать. |
| 1 | Ошибка выполнения, включая ошибки, не отнесённые к отдельной категории. |
| 2 | Ошибка проверяемого ввода/модели, неподдерживаемый lock-контракт или отсутствие нужного терминала. |
| 130 | Операция отменена через контекст. |
Даже при коде 0 учитывайте содержимое ответа: doctor с initialized: false сообщает, что проект ещё не создан, а не разрешает сразу выполнять Generate.
В текущем CLI нет отдельной команды version и глобального --version. init --generator-version задаёт записываемую версию генератора для проекта, а не печатает версию установленного бинарника.
Команды готового приложения выполняются уже для другой задачи и нередко из другого каталога. Не смешивайте их с командами изменения модели.