AI ツールを使用したローカル開発 local-development-with-ai-tools

NOTE
この記事では、AEM Java スタックローカル開発​のAI ツールとの開発に焦点を当てます。 Edge Delivery Servicesについては、AI ツールを使用した開発を参照してください。

AI コーディングエージェント(Claude Code、Cursor、GitHub Copilotなどのツール)は、AEMの基本テクノロジー(Java、OSGi、Sling、JCR、HTL)に幅広い知識を持っていますが、コードと設定の生成のベストプラクティスや、AEM開発の一般的な問題のデバッグ方法を必ずしも知っているわけではありません。

これに対応する4つの補完的なコンポーネント:

コンポーネント
目的
AGENTS.md
各セッションに対してAEM as a Cloud Service プロジェクトのAIを基盤とする、プロジェクト固有のコンテキストファイル
エージェントのスキル
コンポーネントの作成やDispatcherの設定など、繰り返し実行される開発タスク用に再利用可能な命令セット
AEM クイックスタート ローカル MCP サーバー
トラブルシューティングをサポートするために、ローカルのAEM SDK インスタンスからライブランタイムデータを公開します
Dispatcher ローカル MCP サーバー
ローカル Dispatcher インスタンスのランタイム検証と検査を有効にします

追加の実践的な手順については、AI支援による開発チュートリアル ​を参照してください。

製品開発を形作るお手伝いをするフィードバックをaemcs-ai-ide-tools-feedback@adobe.comに電子メールでお気軽にお問い合わせください。

TIP
AEM Cloud Serviceのリモート MCP サーバーもローカル開発に役立ちます。 詳しくは、「Cloud ServiceでのMCPの使用」の記事を参照してください

AGENTS.md agentsmd

AGENTS.mdは、AEM プロジェクトのルートにあるマークダウン ファイルです。 AI コーディングツールは、AEM Cloud ServiceのJava スタックドメインに関する重要な専門知識(AEM 6.5やEdge Delivery Servicesなどの他のAEM ソリューションではなく)を基に構築するために、各セッションの開始時に、このファイルを自動的に読み込みます。

AGENTS.mdはコピーする静的ファイルではありません。 このドキュメントの次のセクションで説明するensure-agents-md スキルによって生成されます。 スキルでは、pom.xmlを読み取り、プロジェクト名を解決し、モジュールを見つけ出して、インストールされたアドオンを検出し、特定のプロジェクトに合わせたファイルを作成します。

NOTE
プロジェクトのルートにAGENTS.mdが存在すると、ensure-agents-md スキルは実行されなくなります。 プロジェクト構造が変更された場合は、ファイルを直接編集します。

エージェントスキル agent-skills

スキルは、マルチステップの開発ワークフローをエンコードする命令セットです。 AIを呼び出すと、一般的な知識のみに依存するのではなく、スキルの手順に従い、一貫した規則に準拠した結果が生成されます。

Adobeは、adobe/skills リポジトリでAEM as a Cloud Service スキルを公開します。

スキル
目的
ensure-agents-md
プロジェクトの実際のモジュール構造に合わせたブートストラップ AGENTS.mdCLAUDE.md
create-component
包括的なAEM コンポーネントの基礎を作成します。コンポーネント定義、ダイアログ XML、HTL テンプレート、Sling モデル、単体テスト、およびclientlibs
dispatcher
AIを活用したDispatcherとApache HTTPDの設定アシスタントにより、設定のオーサリング、技術的なアドバイス、インシデントへの対応、パフォーマンスチューニング、セキュリティの強化をカバーしています
migration
AEM 6.x、AMS、またはオンプレミス Java コードとOSGi設定をAEM as a Cloud Serviceに移行します。CSV エクスポートから​ ベストプラクティスアナライザーの結果またはCloud Acceleration Managerによって実行されます
workflow
これは、すべてのAEM as a Cloud Service Workflow スキルのシングルエントリーポイントです。 ワークフローモデルの設計、カスタムプロセスステップおよび参加者選択の開発、ランチャー設定、ワークフロートリガー、実稼動サポート(停止/失敗したワークフローのデバッグ、Cloud Manager ログを使用したインシデントのトリアージ、スレッドプール分析、Granite Workflow EngineのSling Job Diagnosticsなど)について説明します。
code-assessment
(Beta) AEMのベストプラクティス違反、コードの品質、およびローカル プロジェクトの正確性の問題を検出して修正し、調査結果を報告して外科的修正を適用します

スキルのインストール install-skills

AI コーディングツールに適した方法を選択してください。 スキルを一度インストールすれば、そのスキルをそのマシン上のすべてのプロジェクトで利用できるようになります。 具体的なチュートリアルについては、AEM Agent Skillsの設定チュートリアル ​を参照してください。

クロード・コード claude-code

# Add the Adobe Skills marketplace (one-time setup)
/plugin marketplace add adobe/skills

# Install all available skills
/plugin install aem-cloud-service@adobe-skills

NPX Skills npx-skills

# Install all available skills
npx skills add https://github.com/adobe/skills/tree/main/skills/aem/cloud-service --all

Upskill (GitHub CLI拡張機能) upskill-github-cli-extension

# Install the gh-upskill extension (one-time setup)
gh extension install ai-ecoverse/gh-upskill

# Install all available skills
gh upskill adobe/skills --path plugins/aem/cloud-service --all

Ensure-agents-md スキルの使用 use-the-ensure-agents-md-skill

スキルをインストールした後、AGENTS.mdを持たない任意のAEM as a Cloud Service プロジェクトでAI アシスタントを開きます。 スキルは、最初のリクエストを処理する前に自動的に実行され、明示的な呼び出しを必要とせずに、両方のファイルをプロジェクトルートに作成します。

コンポーネント作成スキルの使用 use-the-create-component-skill

最初に使用すると、スキルはpom.xmlと既存のコンポーネントからprojectpackagegroupを自動的に検出し、検出された値を確認するように求めます。 その後、プロジェクトのルートに.aem-skills-config.yamlが作成されます。 最初に使用する前に、手動で設定する必要はありません。

ファイルを事前作成する場合は、次の構造を持つプロジェクト ルートに.aem-skills-config.yamlを配置します。

configured: true

project: "wknd"                                    # Check /apps/{project}/ or pom.xml
package: "com.adobe.aem.guides.wknd.core"          # Check core/pom.xml
group: "WKND Components"                           # Check existing component .content.xml files

ファイルはスキルディレクトリの外側にあり、スキルの更新時に上書きされることはありません。

AI チャットのコンポーネントについて説明します。

Create an AEM component called "Hero Banner"

Dialog specification:
Title (title) - Textfield, mandatory
Subtitle (subtitle) - Textfield
Background Image (backgroundImage) - Fileupload
CTA Text (ctaText) - Textfield
CTA Link (ctaLink) - Pathfield

エージェントは、確認のためにフィールド仕様をエコーし、すべてのコンポーネントファイルを生成します。 サポートされているパターンには、複合ネストされたアイテムを含むマルチフィールド、条件付き表示/非表示ロジック、Sling Resource Mergerを介したコアコンポーネント拡張機能、AEM Mocksを使用したJUnit 5 テストなどがあります。 デザインは、テキストの説明、画像、FigmaのMCP サーバーを使用したFigma デザイン URLなど、さまざまなソースから取得できます。

詳しくは、AEM Agent Skills チュートリアルを使用したコンポーネント開発を参照してください。

移行スキルの使用 use-the-migration-skill

migration スキルは、AEM Java コードとOSGi設定をAEM as a Cloud Serviceに移行する際にエージェントをガイドします。 パターンに名前を付け(例:schedulerまたはreplication)、担当者にベストプラクティスアナライザーの調査結果を指定し、プロジェクト内の影響を受けるファイルを見つけ、バッチで正しい変換を適用し、各パターンの後にレビューのために一時停止します。

サポートされているパターンには、Sling Scheduler、ResourceChangeListener、Replication API、OSGi EventListenerおよびEventHandler、Assets API、HTL lintの修正、Cloud Manager シークレットおよび環境変数抽出によるOSGi設定の変換などがあります。

Cloud Migration MCPとスキルペアを使用して、Cloud Acceleration Managerから直接調査結果を取得します。 MCPが設定されていない場合、スキルはローカル BPA CSV エクスポートにフォールバックするか、特定のファイルを手動で指定できます。

完全な設定手順とパターン参照については、AI支援によるAEM as a Cloud Serviceへのコード移行を参照してください。

Dispatcher スキルの使用 use-the-dispatcher-skill

DispatcherまたはApache HTTPD設定作業のDispatcher スキルを呼び出します。 このスキルは、リクエストの性質に応じて、リクエストを6つの専門サブスキルのいずれかにルーティングします。

サブスキル
目的
workflow-orchestrator
設計、設定の変更、検証、フォローアップに及ぶエンドツーエンドの作業
config-authoring
具体的な設定変更:フィルター、キャッシュルール、書き換え、vhost、ヘッダー、ファーム
technical-advisory
概念ガイダンス、ポリシー説明、引用にもとづく推奨
incident-response
ランタイムエラー、キャッシュの異常値、リグレッション
performance-tuning
キャッシュの効率性、レイテンシ、スループットの最適化
security-hardening
露出のレビューと制作の強化

幅広いリクエストまたは初めてのリクエストの場合は、workflow-orchestrator個のサブスキルから始めます。 ターゲットを絞った作業については、特定の懸念事項と適切な専門家へのスキルルートを説明してください。

Dispatcher スキルは、オーケストレーションとアドバイザリーガイダンスを処理します。 次の節で説明するDispatcher MCP サーバーには、スキルがローカルのエビデンスを必要とする場合に使用する7つの検証ツールとランタイムツールが用意されています。

コード評価スキルの使用(Beta) use-the-code-assessment-skill

この機能は​ ベータ ​です。 Adobeでは、aemcs-ai-ide-tools-feedback@adobe.comに電子メールを送信してフィードバックを提供し、製品開発を進めることをお勧めします。

Beta リリースには欠陥が含まれている場合があり、いかなる保証もなしに「現状のまま」提供されます。 Adobeは、ベータ版のリリースを(Adobe サポートサービスまたはその他の方法により)維持、修正、更新、変更、またはその他の方法でサポートする義務を負いません。 Adobeでは、ベータ版リリースの正しい機能やパフォーマンス、または付随するドキュメントや資料に依存しないように注意することをお勧めします。 ベータ版の機能およびAPIは、予告なく変更される場合があります。 したがって、ベータ版リリースの使用は、完全にお客様の責任で行います。

code-assessment スキルは、ローカル ワークスペース内のAEM as a Cloud Service プロジェクト全体で、コードの品質と正確性の問題を検出、レビュー、修正します。 問題を説明し、スキルはリクエストを適切な修正ワークフローにルーティングします。

サポートされているチェックには、Sling モデルの依存関係インジェクションの最新化、古いMavenの依存関係の更新、アウトバウンド HTTP呼び出しにタイムアウトが含まれていないタイムアウトの追加、バウンディングアンバウンドクエリ、Sling スケジューラー、リソース変更リスナー、レプリケーションおよびAssets API、JCRまたはOSGi イベント処理、および非推奨および削除されたAEM APIのスキャンと修正の使用法が含まれます。 問題に応じて、スキルは機械的な修正を直接適用するか、判断コールが必要な修正をガイドします。

幅広いレビューまたは初めてのレビューの場合は、スキルにプロジェクト全体を評価するように依頼します。すべての検出器を実行し、すべての調査結果を報告し、一度に1つのパターンを修正するコードを適用します。

開始するには、AEM as a Cloud Service プロジェクトで新しい担当者チャットを開きます。

1. プロジェクトを確認してください。 レポートを要求します。 スキルはアナライザーを実行し、パターンと重大度でグループ化された調査結果をインラインで返し、修正計画を提案します。 この段階ではコードは変更されません。

scan my AEM project and report any code-quality issues

より明示的な呼び出しを行う場合は、スキルに直接名前を付けます。

/code-assessment review my code for AEM as a Cloud Service issues

単一のパターンに焦点を当てるには、プロンプトでパターンに名前を付けます。

scan my project for unbounded queries

2. 修正を適用し、一度に1つのパターンを適用します。 特定のパターンを修正するようにスキルに依頼します。 それは外科的編集を行い、それらをコンパイルすることを確認します。 機械的な修正は直接適用されます。ガイド付きの修正では、各決定を順を追って説明します。

apply unbounded-query

コミットしたりプッシュしたりすることはありません。差分を確認し、コミットします。 大きな修正は再開可能なバッチで実行されます。続行するにはapply <pattern>に返信してください。

AEM Quickstart MCP Server aem-quickstart-mcp-server

Model Context Protocol (MCP)は、AI コーディングツールを外部のデータソースやサービスに接続できるようにする、オープンスタンダードです。 AEM クイックスタート MCP サーバーは、ローカルのAEM SDK インスタンスにインストールすると、ランタイムデータを接続されたAI ツールに直接公開するコンテンツパッケージです。これにより、エージェントはIDEから離れることなく、ログを取得し、OSGi エラーを診断し、リクエスト処理を検査できます。

コンテンツパッケージのインストール install-the-content-package

​ ソフトウェア配布ポータル ​からコンテンツ パッケージをダウンロードし、/crx/packmgrのパッケージ マネージャーを使用してcom.adobe.aem:com.adobe.aem.mcp-server-contribs-contentをローカル クイックスタートにインストールします。

互換性: AEM SDK 2026.2.24678.20260226T154829Z-260200以降で検証されました。

利用可能なツール available-tools

ツール
説明
aem-logs
AEMおよびOSGi ログエントリを取得します。正規表現パターン、ログレベル、およびエントリ数でフィルタリング可能です
diagnose-osgi-bundle
バンドルまたはDS コンポーネントが起動しない理由を診断します。パッケージが見つからない、参照が満たされていない、設定の問題を報告します
recent-requests
Slingの完全な内部処理トレース(リソース解決、スクリプト解決、フィルターチェーン)を使用して、パス正規表現でフィルタリング可能な最近のHTTP リクエストを返します

IDEの設定 configure-your-ide

カーソル cursor

カーソル設定で、新しいカスタム MCP サーバーを追加します。

"aem-cs-sdk": {
  "type": "streamable-http",
  "url": "http://localhost:4502/bin/mcp",
  "headers": {
    "Authorization": "Basic YWRtaW46YWRtaW4="
  }
}

IntelliJ IDEAによるGitHub Copilot github-copilot-with-ihtellij-idea

ツール/GitHub コパイロット/モデルコンテキストプロトコル(MCP)​に移動し、設定​をクリックします。 次の行を追加します。

"aem-cs-sdk": {
  "url": "http://localhost:4502/bin/mcp",
  "requestInit": {
    "headers": {
      "Authorization": "Basic YWRtaW46YWRtaW4="
    }
  }
}

他のIDE other-ides

任意のMCP クライアントは、http://localhost:4502/bin/mcpAuthorization: Basic YWRtaW46YWRtaW4= ヘッダーで指定して接続できます。 IDEのMCP設定を使用してカスタムヘッダーを設定します。

NOTE
Basic YWRtaW46YWRtaW4=は、admin:adminのBase64 エンコーディングです。これは、ローカル クイックスタートのデフォルトの資格情報です。 これをローカル以外の環境では使用しないでください。

Dispatcher MCP Server dispatcher-mcp-server

Dispatcher MCP サーバーは、AEM Dispatcher SDKにバンドルされています。 これにより、AI ツールは、DispatcherとApache HTTPD設定を検証し、リクエスト処理を追跡し、Dockerでローカルに実行されているDispatcher インスタンスに対するキャッシュ動作を調べることができます。

Dispatcher スキルとは異なり、Dispatcher MCP サーバーはツールのみを公開します。7つのMCP ツールとプロンプトやリソースはありません。

前提条件 prerequisites

  • Docker Desktop 4.x以降がインストールされ、実行されている
  • AEM Dispatcher SDKがSoftware Distribution Portalからダウンロードされました
NOTE
client version 1.43 is too newが表示される場合は、シェルまたはmcp.jsonDOCKER_API_VERSION=1.41を設定します。

Dispatcher SDKのインストール install-the-dispatcher-sdk

macOSとLinux:

chmod +x aem-sdk-dispatcher-tools-<version>-unix.sh
./aem-sdk-dispatcher-tools-<version>-unix.sh
cd dispatcher-sdk-<version>
chmod +x ./bin/docker_run_mcp.sh
./bin/docker_run_mcp.sh test

Windows:

Expand-Archive aem-sdk-dispatcher-tools-<version>-windows.zip

./bin/docker_run_mcp.sh helpを実行してコピー&ペーストのIDE設定を取得し、./bin/docker_run_mcp.sh versionを実行して、バンドルされたMCPとSDKのバージョンを確認します。 ./bin/docker_run_mcp.sh diagnoseを使用して、接続性の問題を調査します。

カーソルの設定 configure-cursor

aem-dispatcher-mcp エントリを~/.cursor/mcp.jsonに追加:

{
  "mcpServers": {
    "aem-dispatcher-mcp": {
      "command": "<path_to_dispatcher_sdk>/bin/docker_run_mcp.sh",
      "env": {
        "DOCKER_API_VERSION": "1.43",
        "AEM_DEPLOYMENT_MODE": "cloud",
        "MCP_LOG_LEVEL": "trace",
        "MCP_LOG_FILE": "/tmp/dispatcher-mcp.log",
        "DISPATCHER_CONFIG_PATH": "<path_to_dispatcher_src>"
      }
    }
  }
}

<path_to_dispatcher_sdk>を抽出したDispatcher SDKの場所に、<path_to_dispatcher_src>をプロジェクトのDispatcher src ディレクトリに置き換えます。 DISPATCHER_CONFIG_PATHを、/docrootが定義されているファイルを含む構成ルートに設定します。 MCP_LOG_LEVELMCP_LOG_FILEはオプションのデバッグ設定です。 client version 1.43 is too newが表示される場合は、DOCKER_API_VERSION1.41に設定します。 他のMCP サーバーが既に設定されている場合は、置き換えずにaem-dispatcher-mcp エントリを追加します。 保存後にカーソルを再起動します。

他のIDEも同様の方法で設定できます。 SDKのdocs/DispatcherMCP.mdには、Claude DesktopとVS Codeの完全な例が含まれています。

利用可能なツール available-tools-dispatcher

ツール
説明
validate
DispatcherおよびApache HTTPD設定を検証します
lint
モードに応じた静的チェックとベストプラクティス分析を実行
sdk
Dispatcher SDK ワークフローを実行:validatevalidate-fullthree-phase-validatedocker-testcheck-filesdiff-baseline
trace_request
実行時の証拠を使用してリクエストの動作を追跡します
inspect_cache
ターゲット URLのキャッシュとdocrootの動作を調べます
monitor_metrics
DispatcherおよびHTTPD ログからランタイム指標を読み取ります
tail_logs
関連するDispatcherとHTTPD ランタイムログのテール

MCP サーフェスでは、意図的にこれらの7つのツールのみを公開します。プロンプトとリソースはスキルレイヤーに残ります。 完全な参照ドキュメントは、抽出されたDispatcher SDK内のdocs/DispatcherMCP.mdで入手できます。

recommendation-more-help
experience-manager-cloud-service-help-main-toc