appbuilder-project-init
appbuilder-project-init — скилл для инициализации проекта Adobe App Builder от подготовки машины до рабочего локального каркаса. Он покрывает создание Developer Console project и workspace, подписку нужных API, выбор шаблона, неинтерактивный запуск aio app init и дальнейшую первичную настройку. Скилл применим, когда пользователь говорит об App Builder app, aio app init, Experience Cloud extension, actions, web assets, Console project/workspace, SPA, AEM extension, API Mesh, Asset Compute worker или MCP server. Для неоднозначного запроса по умолчанию предлагается шаблон @adobe/generator-app-excshell, а для явно bare/headless-сценария — init-bare. Предварительная настройка рассчитана на Node 20 и установленный @adobe/aio-cli. Нужно проверить активную версию Node, установить или обновить CLI, выполнить aio login и aio where, затем убедиться, что выбрана правильная IMS organization. Скилл отдельно отмечает риск перепутать prod и stage: prod является окружением по умолчанию, а для stage нужно задать AIO_CLI_ENV=stage и пройти повторную аутентификацию. Авторизация через импорт console.json или OAuth Server-to-Server возможна для CI, но файл console.json должен рассматриваться как секрет и не попадать в репозиторий. Если проекта или workspace ещё нет, workflow сначала проверяет имеющееся состояние командами Console, затем создаёт project и workspace, получает список API и добавляет необходимые сервисы. Для API с product profile используется --license-config. Повторное создание не считается безопасно идемпотентным: при сообщении already exists нужно перечитать список и продолжить с существующим объектом. После bootstrap локальный проект можно связать с конкретным org/project через флаги --org и --project или выполнить aio app use --no-input. Инициализация запускается через предоставленный init.sh, который передаёт параметры шаблона и возвращает JSON с полями success, path и output. Таблица шаблонов связывает SPA с actions и React UI с @adobe/generator-app-excshell, AEM Content Fragment Console extension с AEM-шаблоном, API Mesh с generator-app-api-mesh, Asset Compute с generator-app-asset-compute, remote server с generator-app-remote-mcp-server-generic, а bare-проект с init-bare. После init нужно установить зависимости и проверить структуру: app.config.yaml, package.json, includes, runtimeManifest, объявленные action-файлы и Adobe SDK dependency. Для extension-проектов actions должны жить в runtimeManifest ext.config.yaml, а standalone-приложения используют application.runtimeManifest в app.config.yaml; корневой runtimeManifest в app.config.yaml CLI игнорирует. Для headless-проекта лишние web-src и связанные manifest entries удаляются, иначе остаётся ненужный UI-каркас. Скилл также описывает добавление actions и web assets, прямую настройку ext.config.yaml, production runtime nodejs:22, inputs, require-adobe-auth и web annotations. Команды build, test, deploy и dev вынесены в отдельный необязательный этап. Ограничения практические: aio должен быть установлен и авторизован, пустой список организаций может означать stage/prod или entitlement-проблему, 451 у Console указывает на непринятые Developer Terms, а ERR_REQUIRE_ESM часто требует обновления или корректировки CLI-плагина. Нельзя молча перезаписывать непустой каталог проекта. Поэтому скилл полезен как воспроизводимый preflight и scaffold workflow, но доступы Adobe, выбор организации, реальные API и продуктовые профили должны быть подтверждены владельцем среды.
Для чего подходит
- Создание App Builder project и workspace
- Настройка API subscriptions
- Запуск aio app init
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/adobe/skills/tree/main/plugins/app-builder/skills/appbuilder-project-init