appbuilder-project-init について
要件に合う Adobe App Builder のテンプレートを選び、aio CLI でプロジェクトを初期化するエージェントスキルです。コマンドラインから Developer Console のプロジェクト、ワークスペース、API サブスクリプションも準備できます。
主な機能
- 01要件に応じたテンプレート選択
- 02App Builder の非対話型初期化
- 03Console プロジェクトとワークスペースの作成
- 04ワークスペースの API サブスクリプション設定
- 05最小構成のベアプロジェクト対応
活用シーン
- 01React UI と actions を含む SPA の作成
- 02Asset Compute worker の初期化
- 03App Builder のリモート MCP サーバー構築
- 04事前生成コードなしのプロジェクト開始
MCP 対応
App Builder のリモート MCP サーバーテンプレートを選んで初期化できます。README には、このスキルが提供する MCP クライアントまたはサーバー機能の説明はありません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ adobe/ skills --skill appbuilder-project-initインストール後、Claude Code で/appbuilder-project-initを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdevals/evals.jsonreferences/bootstrap.mddebugging.mdtemplates.mdscripts/init.sh詳細
App Builder プロジェクトの初期化
ユーザーの意図に応じて適切な Adobe App Builder テンプレートを選び、非対話形式で aio app init を実行します。デフォルトは @adobe/generator-app-excshell(SPA + アクション)です。ヘッドレス/最小構成のプロジェクトには、init-bare を使用します。
Developer Console のプロジェクト/ワークスペース/API サブスクリプションがまだ存在しない場合、このスキルは aio console … を直接呼び出して、エージェントが非対話形式で作成できるように案内します。ブートストラップのセクションと references/bootstrap.md を参照してください。最新の @adobe/aio-cli バンドルでは、非対話形式の aio console project create/workspace create/api list/workspace api add(製品プロファイルが必要なサービスには --license-config を指定)と、非対話形式の aio app init --org/--project/--template-options が利用できます。これらを組み合わせることで、エージェントによるセットアップ手順から「Developer Console の UI を開いてクリックする」という阻害要因をすべて取り除けます。最新の CLI をインストールし(npm install -g @adobe/aio-cli)、これらを使用してください。
マシンのセットアップ(初回)
プロジェクトを初期化する前に、マシンごとに一度実施してください。また、環境ごとにログインが必要です。CLI がすでにインストールされ、ログイン済みの場合は、以下のブートストラップに進んでください。
1. Node 20
App Builder には Node 20 が必要です(npm は Node に付属しています)。現在有効なバージョンを確認してください。node -v → v20.x が表示されます。
- nvm をお使いですか? 新しいシェルでも Node 20 が使われるよう、
nvm install 20 && nvm use 20 && nvm alias default 20を実行してください。Node のバージョンが複数インストールされている場合は、現在有効なバージョンが 20 である必要があります。 - Node も nvm もありませんか? nvm をインストールしてから、Node 20 をインストールしてください。
(代替方法:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash # reopen the shell, then: nvm install 20 && nvm use 20 && nvm alias default 20brew install node@20、または nodejs.org の公式インストーラーを使用してください。)
古い Adobe ドキュメントには Node 18 と記載されていますが、20 を使用してください。グローバルにインストールした
aioは、npm i -gの実行時に有効だった Node に属します。Node のバージョンを切り替えると、古いaioは PATH 上に見つからなくなります。バージョン不一致の兆候として、aioがSyntaxError: Unexpected token '??='で終了することがあります(Node 20 のaioを Node 20 未満の Node が解析しています)。nvm use 20を実行し、その環境にaioを再インストールしてください。
2. aio CLI のインストールとログイン
npm install -g @adobe/aio-cli # on Node 20
aio login # opens a browser; `aio login -f` forces a fresh prompt
aio where # confirm the correct IMS org/context
aio console org list # list orgs and their IDs (then `aio console org select <id>` if needed)
トークンは CLI によって自動的に保存されます。通常の aio login は数時間から数日有効です。コマンドごとではなく、セッションごとに一度ログインしてください。正しい IMS 組織を選択していることを確認してください。組織の選択ミスは、セットアップで最もよくある間違いです。
3. Stage と prod
デフォルトの環境は prod です。stage を対象にするには、環境変数を設定して再認証してください。
export AIO_CLI_ENV=stage
aio logout && aio login
変数の設定を解除するか、新しいシェルを開くと、prod に戻ります。stage CLI は stage Console(developer-stage)に接続します。
ブラウザーを使わずにログインする(CI/人手を介さない場合)
- 認証情報のインポート: Developer Console でワークスペースを開き、Download all →
console.jsonを選択してから、aio app init <app> --import path/to/console.jsonを実行します(.env/.aioに値が入力されます。console.jsonはシークレットとして扱い、gitignore に追加してください)。 - CI/パイプライン: ワークスペースに OAuth Server-to-Server 認証情報を追加します。人手を介さずに、
aioと Runtime がクライアント ID/シークレットを使って認証します。SSO/MFA をヘッドレスでスクリプト化しないでください。
Developer Console のブートストラップ(プロジェクト、ワークスペース、API)
ユーザーが何もない状態から開始する場合(Developer Console のプロジェクトがまだない、または既存のプロジェクトにワークスペースや API サブスクリプションがない場合)、aio app init の前にその状態をブートストラップしてください。そうしないと、aio app init/aio app use/aio app deploy でローカルアプリを接続する先がありません。
ブートストラップでは aio コマンドだけを使用します。ラッパースクリプトではなく、コマンドを直接呼び出してください。最近のプラグインリリースでは、すでに非対話形式で実行できます。また、手順ごとに呼び出すことで、「すでに存在する」または「製品プロファイルが必要」という応答に対応でき、こうした判断を bash に組み込む必要もありません。
事前確認
CLI を最新の状態にしてください。これにより、非対話型の Console コマンドとアプリの初期化コマンドが使えるようになります。
npm install -g @adobe/aio-cli
aio --version
プラグインの特定のバージョンを指定しようとせず、常に最新のものを使ってください。この後に記載されている console または app サブコマンドが「command not found」または「unknown flag」として拒否される場合、CLI のインストールに問題があります(PATH の問題、権限、レジストリミラーなど)。回避策を探すのではなく、インストールを修正してください。
組織が選択されていることを確認してください(または、以下の各コマンドに --orgId を指定してください)。
aio console org list --json # if needed, then:
aio console org select <orgId>
判断ルール
| ユーザーの状態 | 次のアクション |
|---|---|
| 「プロジェクトとワークスペースを作成し、API を一から追加する」 | ブートストラップの一連の手順(プロジェクト → ワークスペース → API)を実行してから、aio app init を実行します。 |
| プロジェクトはあるが、ワークスペースがない | プロジェクト作成をスキップします。aio console workspace create を実行し、必要に応じて aio console workspace api add を実行します。 |
| プロジェクトとワークスペースがあり、API の追加だけが必要 | aio console api list を実行してサービスコードを確認し、続いて aio console workspace api add を実行します。 |
| すべて設定済み | ブートストラップをスキップします。スクリプトで初期化に進みます。 |
作成する前に、aio console project list --json と aio console workspace api list --projectName <p> --workspaceName <w> --json を実行して、既存のリソースを必ず確認してください。これらのコマンドは、すでに存在する場合にエラーを返します。また、組み込みの冪等性機能はありません。
ブートストラップの一連の手順(コマンドを直接実行)
ステップ 1 — Console プロジェクトを作成します。
aio console project create -n my-project --json
# optional: -t "Title" -d "Description" -o <orgId>
ステップ 2 — プロジェクト内にワークスペースを作成します(Stage は、最初に作成する非本番ワークスペースとして一般的な名前です。長期利用する共有プロジェクトでは、より具体的な名前を選んでください)。
aio console workspace create \
--projectName my-project \
--name Stage \
--json
# optional: --orgId <orgId> --title "Stage workspace"
ステップ 3 — アプリに必要な API を確認し、登録します。
aio console api list --json # see all service codes available to the org
# entries flagged for whether they need a product profile
# Free-tier service:
aio console workspace api add \
--projectName my-project \
--workspaceName Stage \
--service-code AdobeIOManagementAPISDK \
--json
# Service that requires a product profile:
aio console workspace api add \
--projectName my-project \
--workspaceName Stage \
--service-code AdobeAnalyticsSDK \
--license-config AdobeAnalyticsSDK=AnalyticsProductionProfile \
--json
--service-code には、カンマ区切りのリストを指定して、複数の無料プランのサービスを一度に登録できます。プロファイルに紐付くサービスを複数追加する場合は、--license-config を繰り返し指定できます。
各ステップのエラーからの復旧
| エラー | 対処方法 |
|---|---|
project create が「already exists」で失敗する | aio console project list --json を確認し、既存プロジェクトの名前を使って、ステップ 2 から続行します。 |
workspace create が「already exists」で失敗する | aio console workspace list --projectName <p> --json でワークスペースを一覧表示し、ステップ 3 から続行します。 |
workspace api add が「product profile required」を返す | このサービスコードには --license-config が必要です。ユーザー(または組織の管理者)にプロファイル名を確認し、--license-config CODE=PROFILE を指定して再試行します。 |
| いずれかのステップで組織の選択に関するエラーが返される | --orgId <id> を明示的に指定するか、再試行する前に一度 aio console org select <id> を実行します。 |
ローカルアプリをブートストラップ済みの状態に接続する
新規の aio app init を、作成したプロジェクトとワークスペースに接続する方法は、同等のものが 2 つあります。
-
init自体にフラグを渡す(最も簡潔な方法):skills/appbuilder-project-init/scripts/init.sh init \ "@adobe/generator-app-excshell" ./my-project \ --org <orgId> --project my-projectラッパーは、既存の
-y --no-login --no-installフラグに加え、--org/--project/--template-optionsをそのままaio app initに渡します。 -
初期化後に
aio app useを実行する(どのプラグインバージョンでも動作します):cd ./my-project aio app use --no-input # adopts the currently selected project/workspace, no prompts
どちらの方法でも、ローカルの .aio と .env がブートストラップしたワークスペースを指すようになります。そのため、aio app deploy で正しい名前空間に公開されます。
明確なリクエストの場合の簡易パス
ユーザーの意図が単一のテンプレートに明確に対応する場合(たとえば、テンプレートを直接指定している場合や、以下のエントリーのうち一つだけに明らかに一致するアプリについて説明している場合)は、下記のスクリプトによる初期化に直接進んでください。一致するテンプレートと、ユーザーが指定したプロジェクト名(指定がない場合は適切なデフォルト名)を使用します。
簡易パスの適用例:
- 「
@adobe/generator-app-excshellを使って App Builder アプリを作成して」→ そのテンプレートを使って init を実行 - 「Asset Compute ワーカーをセットアップして」→
@adobe/generator-app-asset-computeに明確に対応するため、init を実行 - 「新しい App Builder アプリを作成して」(詳細の指定なし)→ デフォルトの
@adobe/generator-app-excshellを使って init を実行 - 「bare プロジェクトを初期化して」→
init-bareを使って init を実行
曖昧さがある場合(複数のテンプレートが該当する可能性がある、またはユーザーの制約が不明確な場合)は、以下のテンプレート選択表とワークフロー全体を使用してください。
テンプレート選択表
ユーザーの意図に合ったテンプレートを選択してください。不明確な場合は、デフォルトで @adobe/generator-app-excshell を使用します。
| ユーザーの希望 | テンプレート |
|---|---|
| アクションと React UI を備えた SPA | @adobe/generator-app-excshell |
| Content Hub 拡張機能(アセット詳細パネル、カードアクション、一括アクション) | ジェネレーターなし — サンプルアプリからスキャフォールドを作成してください。詳細は references/templates.md を参照してください |
| AEM Content Fragment Console 拡張機能 | @adobe/aem-cf-admin-ui-ext-tpl |
| AEM React SPA(WKND ベース) | @adobe/generator-app-aem-react |
| Adobe API Mesh(GraphQL) | @adobe/generator-app-api-mesh |
| Asset Compute カスタムワーカー | @adobe/generator-app-asset-compute |
| App Builder 上のリモートサーバー | @adobe/generator-app-remote-mcp-server-generic |
| bare/ゼロから作成するプロジェクト(事前にスキャフォールドされたアクションや UI なし) | init.sh init-bare |
ヘッドレス/バックエンドのみのリクエストでは、可能な場合は init-bare を優先してください。それでも UI ファイルを生成するテンプレートが必要な場合は、初期化後にクリーンアップを行い、最終的なプロジェクトに web-src フロントエンドディレクトリやウェブマニフェストの設定が残らないようにしてください。
スクリプトによる初期化
aio app * ラッパーは、単一のスクリプト scripts/init.sh を経由します。(コンソールのブートストラップコマンドは直接呼び出します。その理由については上記のブートストラップセクションを参照してください。)
注: このスキルのスクリプトへのパスは、プラットフォームやリポジトリのレイアウトによって
skills/、.augment/skills/、または.github/skills/のいずれかになります。以下のコマンドのプレフィックスを適宜調整してください。
テンプレートを使用する場合:
skills/appbuilder-project-init/scripts/init.sh init "@adobe/generator-app-excshell" ./my-project
特定の Console 組織/プロジェクトに完全に接続してテンプレートを使用する場合(初期化後の aio app use は不要):
skills/appbuilder-project-init/scripts/init.sh init \
"@adobe/generator-app-excshell" ./my-project \
--org <orgId> --project my-project
--org、--project、--template-options(base64 エンコードされた JSON)、および --no-config-validation は、そのまま aio app init に渡されます。すべてが認識されるよう、最新の @adobe/aio-cli を使用してください。--no-config-validation は、部分的なスキャフォールドにまだスキーマ検証を通過させる必要がないというまれなケースのための回避策です。
bare プロジェクト(テンプレートなし):
skills/appbuilder-project-init/scripts/init.sh init-bare ./my-project
init-bare は、ユーザーがすべてをゼロから設定したいと明示している場合にのみ使用してください。その場合、「bare」とは、生成されるプロジェクトが最小限の状態を保つことを意味します。
app.config.yamlが存在し、application.runtimeManifestは空、または最小限の内容であるpackage.jsonが存在し、基本的なプロジェクト依存関係のみが含まれている- 事前にスキャフォールドされた
src/、web-src/、またはactions/ディレクトリがない
これが重要な理由:ユーザーが bare プロジェクトを依頼した場合、事前に生成されたアクションやウェブアセットはその意図に反し、ユーザーが求めたクリーンな開始状態を損ないます。
スクリプトは success、path、output フィールドを含む JSON を出力します。続行する前に success を確認してください。
ワークフロー全体(曖昧または複雑なリクエストの場合)
ステップ 1 — 要件を把握する
ユーザーに質問するか、会話の文脈から推測します。
| 質問 | 例 |
|---|---|
| どのような種類のアプリですか? | SPA シェル、ヘッドレス API、AEM 拡張機能、Asset Compute ワーカー、API Mesh、リモートサーバー |
| UI は必要ですか? | はい(ExC Shell の React Spectrum)、いいえ(アクションのみ) |
| 拡張ポイントはどれですか? | dx/excshell/1、aem/cf-console-admin/1、dx/asset-compute/worker/1、または該当なし |
| 追加のアクションはありますか? | デフォルト以外に追加するカスタムアクションの名前と用途 |
| Console の状態はどうなっていますか? | プロジェクトとワークスペースはすでにありますか? それとも、作成してから先に API をサブスクライブする必要がありますか? |
| 必要な API は何ですか? | 例:Adobe I/O Management、Analytics、Target(製品プロファイルが必要なものを含む) |
ユーザーが詳細を指定せずに「App Builder アプリを作成して」とだけ言った場合は、デフォルトで @adobe/generator-app-excshell を使用します。
Console の状態が「最初から」または不明の場合は、テンプレートを選択する前にDeveloper Console のブートストラップフローを実行します。エージェントによるブートストラップ手順の全容については、references/bootstrap.md を参照してください。
ステップ 2 — テンプレートを選択する
上記のテンプレート選択表と references/templates.md を参照し、ユーザーの要件に合うテンプレートを選択します。
ステップ 3 — 初期化、カスタマイズ、検証
以下のスクリプトによる初期化、初期化後のカスタマイズ、検証のセクションに従います。
初期化後のカスタマイズ
テンプレートごとの初期化後のガイダンスについては、references/templates.md を参照してください。一般的な作業は次のとおりです。
- 依存関係をインストールする — プロジェクトディレクトリで
npm installを実行します。初期化スクリプトは初期化を高速に保つため--no-installを使用しますが、ビルドやテストの前に依存関係をインストールする必要があります。 - API Mesh プロジェクトでは、ルートに
mesh.jsonがあることを確認する —@adobe/generator-app-api-meshを使用してaio app initを実行した後、スキャフォールドの準備が整ったと判断する前に./mesh.jsonが存在することを確認します。ファイルがnode_modules/@adobe/generator-app-api-mesh/templates/mesh.jsonにしか存在しない場合は、cp node_modules/@adobe/generator-app-api-mesh/templates/mesh.json ./mesh.jsonを実行して配置します。node_modules/内のファイルはジェネレーターのテンプレートソースであり、プロジェクトで有効な API Mesh 設定ではありません。その後、ルートのmesh.jsonをユーザーの実際のソースハンドラーに合わせてカスタマイズします。複数のバックエンドを使用する場合は、少なくとも 2 つのハンドラーを設定してください。 - 必要に応じて、最小構成プロジェクトのスキャフォールドをクリーンアップする —
init-bareの後、生成されたプロジェクトを確認します。初期化処理でactions/、src/、web-src/が作成されている場合は、続行する前にそれらのディレクトリを削除します。最小構成プロジェクトには、自動生成されたアクションコードやウェブアセットを残さないでください。 - テンプレート初期化後のヘッドレス構成のクリーンアップ — ユーザーがフロントエンドなしのヘッドレスプロジェクトを希望する場合は、
aio app initの後に生成された UI ディレクトリを削除します。例:rm -rf web-src/またはテンプレート固有のパスrm -rf src/<extension>/web-src/。その後、app.config.yamlまたはext.config.yamlに該当するweb-src設定があれば削除します。特に、web: web-srcおよびoperations.view/impl: index.htmlのエントリーを削除してください。これにより、バックエンドのみのプロジェクトで不要なフロントエンドのビルド成果物や古いマニフェストの設定が残るのを防げます。 - アクションを追加する — 後からカスタムアクションが必要になった場合は、
cd ./my-project && skills/appbuilder-project-init/scripts/init.sh add-action "my-action"を実行します。 - ウェブアセットを追加する — 後から最小構成プロジェクトに UI が必要だと判断した場合に限り、
skills/appbuilder-project-init/scripts/init.sh add-web-assetsを実行します。 - ext.config.yaml を直接編集する — アクション定義をカスタマイズします。
- 本番環境では
runtime: nodejs:22を設定します。ステージングワークスペースではruntime: nodejs:24も使用できます。 - アクションに必要な環境変数を
inputs:に追加します。 - アクションで IMS トークンが必要な場合は、
annotations.require-adobe-auth: trueを設定します。 - HTTP アクセスの要件に応じて、
web: 'yes'またはweb: 'raw'を設定します。
- app.config.yaml を編集する — 複数の拡張機能を含むプロジェクトでは、
$includeエントリーを追加します。 - アクションのボイラープレートを適用する — 本番環境に適した、ロギング、入力検証、エラー処理を含むアクションコードには、
appbuilder-action-scaffolderスキルのボイラープレートパターンを使用します。
検証
次の項目を直接確認して、プロジェクト構造を検証します。
app.config.yaml** が存在し、有効な YAML を含んでいる**- すべての
$includeパスが実在するファイルを参照している ext.config.yaml(存在する場合)に、少なくとも 1 つのアクションを含むruntimeManifest.packagesがある- 宣言されているすべての
function:パスにアクションの JS ファイルが存在する package.json** が存在し、name、version、および Adobe SDK の依存関係(@adobe/aio-sdkまたは@adobe/aio-lib-core-logging)を含んでいる**- **
app.config.yamlにルートレベルのruntimeManifestがない(以下のマニフェストのガードレールを参照)
該当するファイルを読み込み、各項目を確認します。続行する前に問題を修正してください。
ビルド、テスト、デプロイ(任意)
ユーザーがスキャフォールド作成の先に進みたい場合:
aio app build # Build
aio app test # Run tests
aio app deploy # Deploy to Adobe I/O Runtime
aio app dev # Run locally for development (use `aio app run` instead if actions use State SDK, Files SDK, or sequences)
マニフェストのガードレール
拡張機能プロジェクト: アクションは ext.config.yaml の runtimeManifest の下で定義し、app.config.yaml から $include で参照します。
スタンドアロンアプリ: アクションは app.config.yaml の application.runtimeManifest の下に配置します。
ルートレベルの runtimeManifest を app.config.yaml に直接配置しないでください。CLI はそのアクションを無視するため、デプロイされません。この形式になっている場合は、application.runtimeManifest の下、または ext.config.yaml に移動します。
Troubleshooting & Edge Cases
aio** CLI がインストールされていない場合:**aio --versionがcommand not foundを返す、または失敗する場合は、初期化を進めずに停止してください。Adobe I/O CLI をインストールし、aio auth loginを完了してから、CLI が利用可能になった後に再試行するようユーザーに依頼してください。npm install** が初期化後に失敗する場合:**--no-installを指定して初期化するため、スキャフォールドは作成できますが、依存関係を正常にインストールするまではビルドやテストが失敗します。最初に発生したパッケージエラーを記録し、Node/npm のバージョンに互換性があることを確認して、プロジェクトルートからnpm installを再実行してください。成功してから先に進んでください。- テンプレートの選択が曖昧な場合: リクエストが複数のテンプレートに該当する可能性がある場合は、UI とヘッドレスのどちらか、拡張ポイント、対象の Adobe 製品について確認する質問を 1 つしてください。ユーザーに希望がない場合は、
@adobe/generator-app-excshellをデフォルトとして選び、その前提を明示してください。 - プロジェクトディレクトリがすでに存在するか、空ではない場合: 確認なしに上書きしないでください。別のディレクトリを使うか、既存のフォルダーを空にするか、新しいパスに初期化するかをユーザーに確認してください。
aio console …** のサブコマンドまたはフラグが認識されない場合:** ほとんどの場合、CLI バンドルが古くなっています。npm install -g @adobe/aio-cliを実行して再試行してください。これがすべてのプラグイン(console、app、runtime、ims-oauth、telemetry)を更新するためのサポート対象の方法です。クリーンインストール後も同じコマンドが失敗する場合にのみ、さらに調査してください。- Workspace API の追加が「product profile required」で失敗する場合: サービスコードには製品プロファイルが必要です。
aio console api list --jsonを再実行して確認し、ユーザー(または組織管理者)にプロファイル名を尋ねてから、--license-config CODE=PROFILEを指定して再試行してください。 - 組織が選択されていない場合: Console のブートストラップコマンドは、組織選択エラーで失敗します。再試行する前に
aio console org listを実行し、続けてaio console org select <orgId>を実行してください(またはすべてのコマンドに--orgIdを渡してください)。 - 新しくスキャフォールドしたものの、一部を編集したプロジェクトで検証エラーが発生する場合: 最近の
aio app *バージョンは、デフォルトでapp.config.yamlを OpenWhisk に準拠したスキーマに照らして検証します。この検証は、マニフェストを読み書きするすべてのaio app *コマンドで実行されます。具体的には、aio app init、aio app add (action|web-assets|extension|event|service)、aio app delete (action|web-assets|extension|event|service)、aio app build、aio app deploy、aio app undeploy、aio app run、aio app dev、aio app use、aio app infoです。検証を回避するフラグはどのコマンドでも同じで、--no-config-validationです。必要な処理を再開できるようにするため、そのコマンドだけで使ってください(例:リファクタリングの途中ならaio app build --no-config-validation)。マニフェストが完成したら、すぐにフラグを外してください。スクリプトに組み込まないでください。ローカル設定とデプロイ済みの構成との間で、気づかないうちに差異が生じるのを検出するために、検証機能が追加されたのです。 - 社内プロキシ経由でテンプレート一覧の取得が停止する場合: 古い CLI バンドルは、テンプレートレジストリの SSL ハンドシェイク中に
HTTP_PROXY/HTTPS_PROXYを適用しませんでした。npm install -g @adobe/aio-cliを実行してプロキシ修正を取り込み、同じシェルでHTTPS_PROXYがエクスポートされていることを確認してから、再試行してください。 aio** コマンドがERR_REQUIRE_ESM(終了コード 127)で即座に終了する場合:** クリーンインストールで@adobe/aio-cli-plugin-certificateが2.2.0(ESM として提供)に解決されると、バンドルされた CommonJS の console ライブラリはこれをrequire()できません。その結果、aio -vは誤解を招くことにバージョンを表示するものの、すべてのaio where/login/consoleコマンドが[ERR_REQUIRE_ESM]とともに終了コード 127 で終了します。グローバルパッケージ内で、最後の CommonJS 版 2.x に固定してください:cd "$(npm root -g)/@adobe/aio-cli" && npm install @adobe/[email protected]。aio updateの後は必ず再確認してください。aio console org list** の結果がない、または[]を返す場合:** ログインには成功したものの、組織リストが空です。ほとんどの場合、環境が間違っています(社内の Adobe/App Builder 開発環境は stage 上にありますが、CLI のデフォルトは prod です)。export AIO_CLI_ENV=stage && aio logout && aio loginを実行して切り替えてください。stage でも空の場合は、環境ではなく権限の問題です(App Builder ライセンスが必要で、ユーザーが Admin Console → Users → Developers に追加されている必要があります)。aio console project list** が451 … accept developer termsを返す場合:** 組織の Adobe Developer Terms of Use が承諾されていません。これは組織ごとに 1 回だけ必要な承諾で、CLI からは実行できません。Developer Console(Stagehttps://developer-stage.adobe.com/console、Prodhttps://developer.adobe.com/console)を開き、正しい組織(右上)を確認して、表示された確認を承諾してからコマンドを再実行してください。
他のスキルとの連携
初期化後、以下に引き継ぎます。
appbuilder-action-scaffolder— プレイブック、チェックリスト、ボイラープレートテンプレート、マニフェスト検証を使用したアクションのスキャフォールディングappbuilder-ui-scaffolder— ExC Shell SPA および AEM 拡張機能向けの React Spectrum UI の構築
パターン早見表
| タスク | リファレンス | コマンド |
|---|---|---|
| Console プロジェクト、ワークスペース、API の初期設定 | references/bootstrap.md | aio console project create → aio console workspace create → aio console workspace api add |
| 組織で利用可能な API の確認 | references/bootstrap.md | aio console api list --json |
| 既存のワークスペースを API に登録 | references/bootstrap.md | aio console workspace api add --service-code … [--license-config …] |
| テンプレートから App Builder プロジェクトを初期化 | references/templates.md | scripts/init.sh init |
| 初期化後にローカルアプリを Console ワークスペースに接続 | references/bootstrap.md | scripts/init.sh init … --org … --project … または aio app use --no-input |
| プロジェクト初期化の問題をデバッグ | references/debugging.md | — |
リファレンス
- references/bootstrap.md — 最新の
@adobe/aio-cliによる生のaio console …コマンドを使用した Agentic Developer Console の初期設定(プロジェクト、ワークスペース、API の登録) - references/templates.md — 意図のマッピングとテンプレートごとの初期化後のガイダンスを含むテンプレートカタログ(Content Hub 拡張機能を含む)
- references/debugging.md — 初期化の失敗、Node/npm の問題、ログインの問題、初回実行時のエラーに関するトラブルシューティングガイド