В этом руководстве вы создадите приложение для статей: опишете поля в Generator UI, получите backend и систему администрирования на Go и React, затем сохраните первую запись. Модель проекта хранится в .admingen/project.yaml, но редактировать этот файл вручную не потребуется.
Сначала подготовьте инструменты: admingen (UI) и admingen-cli (CLI) должны быть доступны в PATH. Для приложения понадобятся Go, Node.js/npm, Make и Docker с Compose v2. Нужные версии указаны в файлах сгенерированного проекта. Создать каталог и запустить процессы пока можно только из терминала — команды собраны ниже, в разделе подготовки.
1. Откройте проект в Generator UI
Запустив локальный редактор, откройте адрес из вывода admingen. На экране Dashboard убедитесь, что выбран нужный проект. В Project settings задайте название, которое будет видно в интерфейсе. Здесь вы настраиваете приложение; сами статьи добавите позже, в готовой системе администрирования.
2. Опишите статьи через Content
Откройте Content → New module и создайте модуль content. Затем нажмите New entity: создайте persistent-сущность Article с таблицей articles. Persistent означает, что её записи будут храниться в БД. Кнопкой Add field добавьте поля:
idс пресетом Identifier int64 — первичный ключ с генерацией значения;titleс типом String и настройкой Required;bodyс типом Text и представлением Markdown.
После настройки каждого поля нажимайте Finish. В таблице проверьте типы и свойства сохранённых полей. Если хотите сразу добавить разделы и связи между записями, переходите к руководству по созданию CMS.
3. Посмотрите изменения и выполните Generate
Перейдите в Generate и нажмите Preview changes. Здесь видно, какие файлы изменятся и как поменяются доступ и маршруты API. Просмотрите различия, устраните ошибки модели и конфликты, затем нажмите Generate. Генератор создаст backend, систему администрирования, миграции, API и остальные файлы проекта.
Важно различать три шага: сохранить модель, сгенерировать файлы и применить изменения БД. Кнопка Generate выполняет второй шаг. После неё приложение ещё нужно запустить, а миграции — применить.
4. Создайте первую запись в системе администрирования
Выполните команду запуска из раздела ниже. В терминале появится предложение создать первого superadmin: задайте логин и пароль, общего пароля по умолчанию нет. Откройте адрес системы администрирования из вывода, войдите и выберите Article. Введите заголовок и текст, сохраните статью и откройте её ещё раз.
Теперь можно менять заголовок и текст статьи прямо в системе администрирования — они сохраняются в PostgreSQL, Generate не нужен. Если захотите добавить статье новое поле, вернитесь в Generator UI, измените модель, выполните Generate и примените миграцию.
Подготовка и запуск в терминале
В терминале перейдите в каталог, где хотите создать проект. Следующие команды один раз создают папку docs-demo и запускают её редактор:
admingen-cli --path ./docs-demo init \
--name docs-demo \
--title "База знаний" \
--module example.com/docs-demo \
--generator-version 0.8.1
admingen --path ./docs-demo start --addr 127.0.0.1:8080
В этой команде --path — каталог проекта, --name — техническое имя, --title — название для интерфейса, --module — путь Go-модуля. Домен example.com регистрировать не нужно: здесь это часть примера. Init создаёт .admingen/project.yaml. Если Git-репозитория ещё нет, команда также пробует создать локальный репозиторий, без удалённого адреса и первого коммита.
Когда выполните Generate в браузере, откройте другой терминал и запустите приложение из корня проекта:
cd docs-demo
make dev
make dev подготовит окружение, запустит PostgreSQL, применит миграции, предложит создать superadmin, затем запустит backend и систему администрирования. Откройте адрес приложения из вывода: это другой адрес, не адрес Generator UI.
Дополнительно: тот же цикл через CLI
При необходимости модель можно менять командами CLI, например из скрипта. Посмотреть план и применить генерацию можно так:
admingen-cli --path ./docs-demo plan
admingen-cli --path ./docs-demo generate --dry-run
admingen-cli --path ./docs-demo generate
Dry-run показывает будущие изменения и ничего не записывает. UI и CLI используют одну модель: выберите удобный способ для текущей задачи.
Если что-то не получилось
- Команда не найдена: проверьте
PATHили используйте абсолютный путь к бинарнику. - Порт занят: задайте другой
--addrдля Generator UI; порты приложения настраиваются отдельно. - Docker недоступен: запустите Docker и повторите локальный запуск.
- Несовместимая версия: текущий контракт —
0.8.1. Изменение версии в старом lock не обновляет проект. - Конфликт Generate: посмотрите различия и сохраните необходимые ручные изменения перед разрешением перезаписи.
Дальше: создание CMS через UI, локальная разработка, безопасное изменение модели.
Куда перейти после первого проекта
Чтобы разобраться в остальных экранах, откройте UI интерфейс. Настройки описаны отдельно: Content, настройки полей, доступ. Для работы из терминала используйте CLI интерфейс.