# Amazon Devices Builder Tools for AI

[English](README.md) | **日本語**

> 📢 **新機能：** 各バージョンの変更内容を確認するには、npm の [Code タブ](https://www.npmjs.com/package/@amazon-devices/amazon-devices-buildertools-mcp?activeTab=code) を開き、`RELEASE_NOTES.md` を選択してください。

Amazon Devices Builder Tools for AIは、Fire TV向けのAI搭載開発ツールスイートです。ADBT Model Context Protocol (MCP) サーバーとエージェントスキルを含みます。これらの機能により、Claude、Cursor、Kiroなどのコーディングエージェントが、Fire TVの専門知識とベストプラクティスを認識し、開発やデバッグ作業から推測を排除します。

## なぜAmazon Devices Builder Toolsなのか？

Claude、Cursor、Kiroなどのコーディングエージェントはコード生成に優れていますが、Amazonデバイス開発は**デバイス固有で、多段階かつ環境依存の強い**作業です。Vegaアプリの構築、FireOS（FOS）アプリのVegaへの移行、実際のKPIに対するパフォーマンス測定、正しいデバッグフローの実行、プラットフォームルールの適用は、いずれも汎用モデルの学習データの外にあるVegaおよびFireOSの知識と手順に依存します。

Amazon Devices Builder Toolsは、その欠けているレイヤーを、キュレーションされバージョン管理されたAmazonの知識に基づく**目的特化型のツール + スキル**として提供します。これにより、エージェントは固定された学習スナップショットから手順を再構築するのではなく、Amazonが作成した手順に従います。これは、汎用モデルが最も確実に処理できない、デバイス固有の高価値な作業をカバーします：アプリ移行（FireOS → Vega）、実際のKPIパフォーマンス測定、クラッシュデバッグ、プラットフォームのベストプラクティスと環境セットアップ、そして最新ドキュメントに基づく根拠のある回答。いずれも下記で詳しく説明しています。

Builder Toolsをコーディングエージェントと組み合わせることで、エージェント単体では持ち得ないVegaおよびFireOSの専門知識を与えられます。Amazonが作成したワークフローと最新のドキュメントにより、推測に費やす時間を減らし、より多くの時間を開発に充てられます。

## Capabilities

Amazon Devices Builder Toolsは以下の機能を提供します：

| アプリ開発領域 | 説明 | プロンプト例 |
|--------------|-------------|-----------------| 
| **オンボーディング** | セットアップガイダンスとQ&Aサポートを使用して、AIエージェントでVegaアプリ開発にオンボード | <ul><li>`Vegaアプリプロジェクトをセットアップして、仮想デバイスでVPKGをテストするのを手伝ってください`</li><li>`Vega SDKのセットアップを手伝ってください`</li><li>`仮想デバイス/接続デバイスでアプリをビルドして実行してください`</li><li>`Vegaアプリ開発について教えてください`</li><li>`VegaデバイスでCPU使用率を測定するためのVega CLIコマンドは何ですか？`</li></ul> |
| **パフォーマンス** | Time to First Frame (TTFF)、Time to Fully Drawn (TTFD)、およびUI再レンダリングの問題をデバッグして修正 | <ul><li>`なぜ私のVegaアプリのTTFFが高いのですか？`</li><li>`VegaアプリのTime to First Frameの問題をデバッグして修正するのを手伝ってください`</li><li>`なぜ私のVegaアプリのTTFDが高いのですか？`</li><li>`アプリの不要な再レンダリングを最小限に抑えるのを手伝ってください`</li><li>`アプリの再レンダリングの問題を見つけてください`</li></ul> |
| **パフォーマンスベストプラクティス** | コンポーネントとコードを分析して、React Native Vegaのパフォーマンスベストプラクティスに従っているかを確認 | <ul><li>`このコンポーネントがReact Native Vegaのパフォーマンスベストプラクティスに従っているか分析するのを手伝ってください`</li></ul> |
| **ベストプラクティス** | マニフェストファイルを検証し、ベストプラクティスに従ってVegaコンポーネントを実装 | <ul><li>`MovieCarousel.tsxをCarousel V1からV2にアップグレードするのを手伝ってください`</li><li>`Carouselの実装を手伝ってください`</li><li>`マニフェストファイルを検証して、アプリに必要な更新を行ってください`</li></ul> |
| **UI開発** | スクリーンショットとデザインモックアップからVegaアプリのUIを作成 | <ul><li>`{image_path}に画像があります。サンプルテンプレートを使用して新しいフォルダを作成し、画像に合わせてサンプルテストアプリを更新して、アプリをビルドして実行できることを確認してください。`</li></ul> |
| **フォーカス管理** | TVインターフェース用のD-Padナビゲーションとフォーカス管理を実装 | <ul><li>`フォーカス管理を示すために2つのボタンを持つアプリを作成できますか？`</li></ul> |
| **アクセシビリティ** | Vega React NativeアプリにおけるFire TVアクセシビリティの実装ガイダンス — 支援技術が各コントロールを提示するために使用するセマンティクス：ラベル、ロール、状態、ヒント、画面およびコンテナのコンテキスト、ライブリージョン。 | <ul><li>`Vega React Nativeアプリで、VoiceViewが読み上げるようにアイコンのみのボタンにラベルを付けるにはどうすればよいですか？`</li><li>`Vega React Nativeアプリのカスタムチェックボックスにはどのロールを使用すべきですか？`</li><li>`Vega React Nativeアプリで、読み込み状態の変化をVoiceViewに通知するにはどうすればよいですか？`</li></ul> |
| **字幕と音声解説** | VegaアプリでOSの字幕設定と音声解説設定に従うための実装ガイダンス（VegaScriptとWebViewの両方のプレーヤーに対応）。 | <ul><li>`Vega動画アプリでユーザーの字幕設定に従うにはどうすればよいですか？`</li><li>`OSの設定に基づいて音声解説トラックを自動選択するにはどうすればよいですか？`</li></ul> |
| **SDK & CLI** | SDKのインストール/更新と、仕様駆動型CLIを介した効率的なCLIツールの実行 | <ul><li>`AIエージェントからSDKをインストール/更新`</li><li>`アプリをビルド`</li><li>`仮想デバイスでアプリを実行`</li><li>`物理デバイスでアプリを実行`</li><li>`KPI Visualizerを実行してパフォーマンス結果を取得`</li></ul> |
| **クラッシュ分析** | JavaScript、Native、LMK、ANRクラッシュの自動ACR分析による診断 | <ul><li>`なぜアプリがクラッシュしたのですか？`</li><li>`このACRファイルを分析してください /path/to/crash.acr`</li></ul> |
| **キー入力レイテンシー** | JSスレッドパフォーマンスと入力イベント分析によるキー入力レイテンシーの問題を診断・解決 | <ul><li>`なぜアプリのキー入力が遅いのですか？`</li><li>`Vegaアプリのキー入力レイテンシーを診断してください`</li><li>`ボタンクリックが遅く感じます、助けてください`</li></ul> |
| **UI流暢性** | コンポーネント再レンダリングとCPUパフォーマンス分析によるUI流暢性KPI障害の診断 | <ul><li>`アプリのUI流暢性スコアが低いです、診断してください`</li><li>`Vegaアプリのフレームドロップとジャンクを修正してください`</li><li>`アプリのスクロールがスムーズでないのはなぜですか？`</li></ul> |
| **React Native DevTools** *(RN 0.83+)* | デバイス上でReact Native DevTools（Profiler、Network、Performanceなど）を起動し、再レンダリング、UI流暢性、ネットワークの問題をデバッグ — バージョンに応じたルーティング、再開可能な起動、推奨される修正を提供 | <ul><li>`どのコンポーネントが再レンダリングしていますか？`</li><li>`アプリのRN DevToolsを開く`</li><li>`なぜアプリの動作がカクつくのですか？`</li><li>`アプリのプロファイリングを手伝ってください`</li></ul> |
| **アプリ移植** *(ベータ)* | アプリタイプの自動検出によるFireOSアプリのVegaへの移植、またはWeb URLをVega WebViewアプリとしてラップ。4つの入力パスをサポート：FOS WebView → Vega WebView、FOS React Native → VegaScript、FOS Native (Java/Kotlin) → VegaScript *(部分的サポート)*、Web URL → Vega WebView。 | <ul><li>`TVアプリをVegaに移植してください`</li><li>`/path/to/fos-appにあるFireOSアプリをVegaに移行してください`</li><li>`FOS React NativeアプリをVegaScriptに移植してください`</li><li>`FOS WebViewアプリをVega Webアプリに変換してください`</li><li>`https://example.com をVega WebViewアプリとしてラップしてください`</li></ul> |
| **React Nativeアップグレード** | VegaアプリのReact Nativeバージョン（例：0.72 → 0.83）をアップグレードするAI支援のインタラクティブなターンベースのワークフロー。現在のバージョンを検出し、優先順位付けされたTODOプランを生成し、チェックポイントで進捗を追跡し、レビューのための一時停止ポイントを設けて変更を1つずつ適用します。 | <ul><li>`VegaアプリをReact Native 0.72から0.83にアップグレードしてください`</li><li>`React Native for Vegaアプリを最新バージョンに移行するのを手伝ってください`</li><li>`/path/to/my-vega-appのAI支援React Nativeアップグレードを開始してください`</li></ul> |
| **Fire TV Android SDKアップグレード** | サードパーティー製Fire TVアプリをAndroid APIレベル30から36の範囲で、APIレベルごと、動作変更ごとに評価してアップグレードします。各編集前に根拠を提示し、明示的な承認を待ちます。 | <ul><li>`Fire TVアプリのtargetSdkVersionを30から35にアップグレードしてください`</li><li>`Fire TVアプリがAndroid API 35をターゲットにすると何が変わりますか？`</li></ul> |
| **Scalable UI監査** | Fire TV / Android TVアプリの非1080pキャンバス（720p/900p/1440p）でのScalable UI対応状況を監査し、アップスケール・ダウンスケールを破壊する生ピクセルサイズ指定、絶対位置指定、キャンバス非対応の画像デコードの問題を検出します | <ul><li>`Fire TVアプリのScalable UI対応状況を監査してください`</li><li>`私のアプリのレイアウトは1440pキャンバスにスケールしますか？`</li><li>`720pで破綻するハードコードされたピクセルサイズを見つけてください`</li></ul> |
| **Appstore IAP統合** | VegaアプリでAmazon Appstoreアプリ内課金（IAP）SDKを統合・テスト | <ul><li>`VegaアプリにIAPを統合してください`</li><li>`Vegaアプリのアプリ内課金をセットアップするにはどうすればよいですか？`</li><li>`VegaアプリでIAPをテストしてください`</li></ul> |
| **FireTVコンテンツパーソナライゼーション統合** | VegaアプリでContent Personalization機能を統合・テスト | <ul><li>`VegaアプリにContent Personalizationを統合してください`</li><li>`FireTVでContinue Watching行をテストしてください`</li></ul> |
| **FireTVコンテンツランチャー統合** | VegaアプリでContent Launcher（ユニバーサル検索・ブラウズ）、Account Login、音声トランスポートコントロールを統合 | <ul><li>`VegaアプリにContent Launcherを統合してください`</li><li>`FireTVでContent Launcherをテストしてください`</li></ul> |
| **FireTVライブTV統合** | VegaアプリにライブTV（リニアチャンネル）を統合・テスト — EPGチャンネル同期とチャンネル選局・再生 | <ul><li>`VegaアプリにライブTVを統合するのを手伝ってください`</li><li>`FireTVでライブTVをテストするのを手伝ってください`</li></ul> |
| **FireTV EMBER カタログ統合** | 既存のコンテンツシステムから、追加型の EMBER カタログアダプターを生成・検証します | <ul><li>`私のシステム向けに EMBER カタログアダプターの構築を手伝ってください`</li><li>`EMBER カタログ出力の検証を手伝ってください`</li></ul> |
| **フィードバックの提供** | MCPの使用体験についてAmazonにフィードバックを提供 | <ul><li>`フィードバックを提供したい`</li><li>`Vega MCPのフィードバックを提供するにはどうすればよいですか？`</li></ul> |
| **リモートナレッジ検索** | developer.amazon.comおよびcommunity.amazondeveloper.comからドキュメントを検索・取得し、ローカルワークフロー以外のアプリ開発トピックについてもAIアシスタンスを提供 | <ul><li>`Vegaアプリのベータテストはどうすればできますか？`</li><li>`Vegaアプリのアクセシビリティガイドラインは何ですか？`</li><li>`Amazon Appstoreにアプリを提出するにはどうすればよいですか？`</li><li>`VegaのDRMオプションは何がありますか？`</li></ul> |
| **メディア再生** | W3C MSE/EME APIを使用したアダプティブストリーミング（HLS/DASH）、DRMサポート、Shaka Player統合、ヘッドレス再生アーキテクチャ、メディアコントロールによるVegaアプリへのメディア再生追加 | <ul><li>`/path/to/my-vega-appにあるVegaアプリに https://example.com/stream.m3u8 を使ってシンプルなメディア再生実装を追加してください`</li><li>`Widevineを使用してライセンスURL https://license.example.com でDRM保護された再生をアプリに追加してください`</li><li>`UIスレッドから再生を分離するためにVegaアプリにヘッドレスメディア再生アーキテクチャを実装してください`</li><li>`VegaメディアアプリのShaka Playerをバージョンxからバージョンyにアップデートしてください`</li><li>`メディア再生アプリにキャプションと字幕サポートを追加してください`</li></ul> |

## スキル

スキルは、`init-context`を通じてエージェントのローカルスキルディレクトリにインストールされるモジュール式の指示パッケージです。MCPラウンドトリップなしで、エージェントがオンデマンドで有効化できるドメイン固有のガイダンスを提供します。

| スキル | 説明 |
|---|---|
| amazon-devices-android-sdk-uplevel | サードパーティー製Fire TV Androidアプリの`targetSdkVersion`アップグレードを、APIレベル別ガイダンスと承認ゲート付きのインタラクティブなワークフローへルーティング |
| amazon-devices-scalable-ui-audit | Android TV / Fire TVアプリの任意の非1080pキャンバス（720p/900p/1440p、アップスケール・ダウンスケール）でのScalable UI対応状況を監査します。XML、Compose、コード側のサイズ指定、React Nativeスタイルを横断する読み取り専用のファンアウトスキャンを行い、生ピクセルおよびキャンバス非対応の画像デコードの不具合を検出して修正を推奨します |
| amazon-devices-vega-app-manifest | パッケージ識別子、機能、権限を含むVegaアプリのmanifest.toml設定 |
| amazon-devices-vega-app-migration | 既存のFire TV / FireOSアプリをReact Native for Vegaアプリに移行 |
| amazon-devices-vega-app-performance | Vegaアプリケーションのパフォーマンス最適化、KPIターゲット、診断 |
| amazon-devices-vega-audio-description | OSの「音声解説を優先」設定を読み取り、Vegaアプリが音声解説付きのオーディオトラックを自動選択できるようにする |
| amazon-devices-vega-best-practices | Vegaアプリのパフォーマンスガイドライン、開発ワークフロー、アーキテクチャ推奨事項 |
| amazon-devices-vega-build-and-run | React Native for Vegaアプリケーションのビルド、デプロイ、実行の完全ガイド |
| amazon-devices-vega-caption-settings | OSのクローズドキャプション設定（オン/オフ、サイズ、色、フォント、縁取り、不透明度）を読み取り、それに一致するアプリ描画の字幕をレンダリングする |
| amazon-devices-vega-developer-mode-init | Fire TV（Vega OS）デバイスで開発者モードを有効化し、開発者シェルアクセスとVDA接続を可能にする |
| amazon-devices-vega-focus-management | TVFocusGuideViewとFocusManagerによるD-Padナビゲーションのカーテシアンフォーカス管理 |
| amazon-devices-vega-matter-casting | Content Launcher、Media Controls、Account Loginクラスターを使用して、VegaコンテンツアプリにMatter Castingを追加し、スマートフォンからコンテンツの起動と再生制御を可能にする |
| amazon-devices-vega-media-player | DRMサポート、アダプティブストリーミング、VideoPlayerコンポーネントによるW3C MSE/EME標準メディア再生 |
| amazon-devices-vega-navigation | Amazon固有のreact-navigationパッケージを使用したスタック、タブ、ドロワーナビゲーション |
| amazon-devices-vega-rn-upgrade | React Native for Vegaアプリを新しいRNバージョン（例：0.72 → 0.83）にアップグレードするインタラクティブなターンベースのワークフロー。TODOプラン、チェックポイント追跡、各変更前の一時停止ポイントを提供 |
| amazon-devices-vega-setup-sdk | 前提条件チェックと検証によるVega SDKのインストールと設定 |
| amazon-devices-vega-ui-components | Carouselなどのネイティブバインディングを持つ高性能Vega UIコンポーネント |
| amazon-devices-vega-webview-audio-description | OSの音声解説設定をVegaホストからWebViewへ橋渡しし、ページ独自のプレーヤーが音声解説トラックを選択できるようにする |
| amazon-devices-vega-webview-caption-settings | OSの字幕設定をWebViewへ橋渡しし、それに一致するアプリ描画の字幕をレンダリングする |
| vega-multi-tv-migration | Amazon開発者主導のコミュニティスキル：VegaアプリをFire OSを含むクロスデバイスReact Nativeモノレポに移行 |

## はじめに

以下のコマンドを**Bash/ZSHターミナル**（AIエージェント内ではなく）で実行して、Amazon Devices Builder Tools for AIとお好みのAIエージェント用のコンテキストドキュメントをインストールします。その後、AIエージェントを開いてツールの使用を開始してください。

```bash
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context
```

> 💡 2つのガイダンスモード: デフォルトでは `init-context` はワークスペースに steering ドキュメントをインストールし、そのワークスペースの各セッションで AI エージェントが自動的に読み込みます。その代わりに `--install-agent` を渡すと、**adbt-dev**（同じガイダンスを提供しますが、adbt-dev を明示的に呼び出したときだけ動作し、常時有効な steering ドキュメントはありません）をインストールできます。詳細は下記「adbt-dev」を参照してください。

このコマンドは**インタラクティブ**モードと**非インタラクティブ**モードの両方をサポートしています：

**インタラクティブモード（デフォルト）:**
1. **利用可能なAIエージェント**とそのコンテキストファイル要件を表示
2. サポートされているリストから**優先AIエージェントを選択**
3. Amazon Devices Builder Tools MCPサーバーを設定するために**選択したエージェントのMCP設定を更新**
4. **コンテキストインストールディレクトリを尋ねる**（デフォルトは現在の作業ディレクトリ）
5. マージまたは更新コンテンツを提供することで**既存のコンテキストファイルを処理**
6. 選択したAIエージェントの正しい場所に**適切なコンテキストファイルを作成**

**非インタラクティブモード:**
コマンドラインオプションを使用してプロンプトをスキップし、セットアッププロセスを自動化します。

### コマンドラインオプション

```bash
init-context [options]

オプション:
  -a, --agent <type>               対象のAIエージェント（cursor、cline、kiro、claude-code-cli、
                                   github-copilot、other）
  -p, --context-document-path      コンテキストドキュメントを保存するパス
  -d, --skip-context-document      コンテキストドキュメントのインストールをスキップ（MCP設定のみ）
  -m, --skip-mcp-config            MCP設定をスキップ（コンテキストドキュメントのみ）
  -c, --clean                      インストール前に対立するアーティファクトを削除（エージェント
                                   モード: steeringを削除 / steeringモード: エージェントファイルを削除）
      --install-agent              常時有効な steering ドキュメントの代わりに、専用の Amazon Devices
                                   エージェント adbt-dev を選択したホストにインストールします
                                   （オプトイン。下記「adbt-dev」を参照）
  -f, --force                      すべての確認プロンプトをスキップして強制上書き
      --update                     --agent に既にインストールされているものだけを、プロンプトなしで
                                   更新（下記「インストール済みコンテキストの更新」を参照）
  -h, --help                       init-contextコマンドのヘルプを表示
```

### 使用例

```bash
# プロジェクトディレクトリに移動
cd my-vega-project

# インタラクティブモード（デフォルト）
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context

# 特定のエージェントで非インタラクティブ
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context --agent cursor --force
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context -a cursor -f

# steeringドキュメントの代わりに、選択したホストにadbt-devをインストール
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context --agent kiro --install-agent

# MCP設定のみ（コンテキストドキュメントをスキップ）
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context --agent cursor --skip-context-document
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context -a cursor -d

# カスタムパスでコンテキストドキュメントのみ（MCP設定をスキップ）
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context --agent kiro --context-document-path ./docs --skip-mcp-config
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context -a kiro -p ./docs -m

# ヘルプを表示
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context --help
```

### インストール済みコンテキストの更新

新しいリリースが利用可能になったとき、`--update` は `init-context` がそのエージェント用に既にインストールしたものだけを、プロンプトなしで更新します:

```bash
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context --agent kiro --update

# カスタムフォルダ内の steering ドキュメント
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context --agent cursor --update --context-document-path "./docs"
```

`--update` は、インストールされている場合に限り次を更新します:

- steering ドキュメント内の Amazon Devices ブロック（既に最新の場合は変更しません）。レガシーの `react_native_for_vega_get_started.md` は移行されます: 同じフォルダに新しい steering ドキュメントを書き込んだ後、レガシーファイルを `.bak` にバックアップします。
- ADBT スキルとそのライセンス（提供されなくなったスキルは削除されます）、および Amazon Developers led community スキル。
- adbt-dev エージェントファイル。
- MCP エントリ: レガシーの `vega-devtools-mcp` エントリを削除し、現在のエントリが存在しない場合にのみ追加します。既存の `amazon-devices-buildertools-mcp` エントリは変更されないため、カスタムランチャーや無効化の状態は保持されます。

まだ持っていない（現行版でもレガシー版でもない）steering ドキュメント、エージェントファイル、MCP エントリを新たに設定することはなく、steering モードとエージェントモードを切り替えることもなく、`.adbt-config.json` にも触れません。破損したファイルは警告を表示してスキップされ、他のアーティファクトは引き続き更新されます。コマンドはアーティファクトごとのサマリーを表示し、更新に失敗した場合にのみ 0 以外の終了コードを返します。`--update` には `--agent` が必要で、`--install-agent`、`--clean`、`--force`、`--skip-context-document`、`--skip-mcp-config` とは併用できません。

### 他のAIエージェントでの使用

AIエージェントがサポートされているリストにない場合は、**「その他/カスタムエージェント」**を選択してください。これにより以下が提供されます：

-   **完全なコンテンツを表示**: 手動コピー用の完全なコンテキストを表示
-   **手動セットアップ**: コンテンツをエージェントの設定ディレクトリにコピー

> ℹ️ 重要: エージェントのMCP設定からMCPサーバーを起動してください（まだ起動していない場合） - 現在実行中のMCPを確認して、amazon-devices-buildertools-mcpが実行中/接続済みとしてリストされていることを確認してください。

## adbt-dev（オプションのエージェント登録）

デフォルトでは、`init-context`はセッション中に常に有効な steering/コンテキストドキュメントをインストールします。その代わりに、**adbt-dev** をインストールすることもできます。これは、明示的に呼び出したときだけ Amazon Devices のガイダンスを提供する専用のオプトインエージェントで、常時有効な steering ドキュメントはありません。

エージェントのインストールは**任意の選択**です。`init-context`に`--install-agent`オプションを渡してください。指定しない場合、`init-context`は従来どおり動作します（steeringドキュメントをインストールし、エージェントは登録しません）。

```bash
# steeringドキュメントの代わりに、選択したホストにadbt-devをインストール
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context --agent kiro --install-agent
```

`--install-agent`を指定すると、`init-context`は次を実行します:

1. 選択したホストにエージェントを登録します（ホストネイティブのエージェントファイルを書き込みます）
2. steeringドキュメントのインストールをスキップします（ガイダンスはオンデマンドでエージェントから提供されます）
3. そのホストの既存のADBT steeringドキュメントを削除します（`.bak`にバックアップされます。`--clean`と併用するとハード削除されます）

### ホストごとの出力ファイル

選択したホストに応じて、エージェントファイルはホストのエージェント検出ディレクトリに書き込まれます:

| ホスト | 出力ファイル | 形式 |
|------|------------|--------|
| Kiro | `~/.kiro/agents/adbt-dev.json` | JSONエージェント仕様 |
| Claude Code | `~/.claude/agents/adbt-dev.md` | YAMLフロントマター + markdown |
| GitHub Copilot | `~/.copilot/agents/adbt-dev.md` | YAMLフロントマター + markdown |
| Cursor、Codex、OpenCode、Cline、Gemini CLI | `~/.agents/adbt-dev.md` | markdownリファレンス |

### エージェントの呼び出し方法

登録後:

- **Kiro:** `/agent adbt-dev`
- **Claude Code:** `claude --agent adbt-dev`
- **GitHub Copilot:** `copilot` → `/agent adbt-dev`
- **AGENTS.mdホスト（Cursor、Codex、OpenCode、Cline、Gemini CLI）:** プロジェクトの`AGENTS.md`から`~/.agents/adbt-dev.md`を参照

### エージェントモードとsteeringモードの切り替え

- steeringモードからエージェントモードにクリーンに切り替えるには、`--clean`を追加して既存のsteeringドキュメントをバックアップではなくハード削除します:

  ```bash
  npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context --agent kiro --force --install-agent --clean
  ```

- エージェントモードからsteeringモードに戻すには、`--install-agent`なしで`init-context`を実行し、`--clean`を追加して先にエージェントファイルを削除します:

  ```bash
  npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context --agent kiro --force --clean
  ```

- ホストの**すべての**ADBTアーティファクト（エージェント、steering、MCP設定）を削除するには、`clean-context`を使用します:

  ```bash
  npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest clean-context --agent kiro --force
  ```

## プラットフォーム設定

Amazon Devices Builder Toolsは、標準的なインジケーター（Vegaの場合は`dependencies`内の`@amazon-devices/`パッケージ、Fire OSの場合は`build.gradle`）をチェックして、プロジェクトが**Vega OS**または**Fire OS**をターゲットにしているかを自動検出します。ほとんどの場合、設定は不要です。

### 設定ファイルを作成するタイミング

以下の場合にリポジトリのルートに`.adbt-config.json`ファイルを作成してください：

- リポジトリの構造が非標準で、自動検出が正しく動作しない場合
- Vega OSとFire OSの両方のコードを含むモノレポの場合
- エージェントに開発プラットフォームを尋ねられたくない場合

### 最小限の例（単一プラットフォーム）

```json
{
  "platform": {
    "default": "vega_os"
  }
}
```

### モノレポの例（パスマッピング）

```json
{
  "platform": {
    "default": "both",
    "paths": {
      "vega-os/": "vega_os",
      "fire-os/": "fire_os",
      "shared/": "both"
    }
  }
}
```

パスマッピングにより、エージェントは作業中のファイルに基づいてドキュメントとツールの応答を自動的にスコープします。プロンプトは不要です。

### 有効な値

| フィールド | 必須 | 有効な値 | 説明 |
|-----------|------|----------|------|
| `platform` | はい | オブジェクト | プラットフォーム設定のコンテナ |
| `platform.default` | はい | `"vega_os"`、`"fire_os"`、`"both"` | リポジトリのデフォルトプラットフォーム |
| `platform.paths` | いいえ | ディレクトリプレフィックス → プラットフォーム値 | モノレポ用のディレクトリごとのオーバーライド |

> ℹ️ 最長プレフィックスマッチングやトラブルシューティングの詳細については、エージェントに「プラットフォーム設定ファイルはどのように機能しますか？」と尋ねてください。

## 使用方法

### コマンドラインオプション

```bash
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest init-context       # Amazon Devices Builder Tools for AIをインストールし、AIエージェント用のコンテキストを初期化
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest check-status       # AIエージェントのセットアップステータスを確認
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest clean-context      # ホストのAmazon Devicesコンテキストをすべて削除
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest --version          # バージョン情報を表示
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest -v                 # バージョン情報を表示（エイリアス）
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest --help             # ヘルプメッセージを表示
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest -h                 # ヘルプメッセージを表示（エイリアス）
```

### エージェントセットアップステータスの確認

MCPサーバーとコンテキストドキュメントをインストールした後、`check-status` コマンドを使用してセットアップを確認できます：

```bash
# すべてのエージェントを確認
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest check-status

# 特定のエージェントを確認
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest check-status --agent kiro
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest check-status -a cursor

# ヘルプを表示
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest check-status --help
```

**確認内容:**
- ✅ コンテキストドキュメントのインストール状態とバージョン
- ✅ MCP設定の状態
- ✅ レガシー設定の検出
- ✅ 全体的なセットアップの概要

**出力例:**

```
====================================================
🔍 Checking Agent Setup Status
====================================================

─────────────────────────────────────────────────────────────────────────────
Agent                  │ Context Document         │ MCP Configuration        
─────────────────────────────────────────────────────────────────────────────
Cursor                 │ ✅ v5.1                   │ ✅ Configured             
Kiro                   │ ✅ v5.1                   │ ✅ Configured             
─────────────────────────────────────────────────────────────────────────────

📊 Summary:
   Total agents checked: 2
   ✅ Fully configured: 2
   ⚠️  Partially configured: 0
   ❌ Not configured: 0
```

### コンテキストのクリーンアップ

特定のAIエージェントホストのAmazon Devicesコンテキストをすべて削除するには、`clean-context`コマンドを使用します：

```bash
# インタラクティブモード（エージェント選択と確認のプロンプトあり）
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest clean-context

# 特定のエージェントの非インタラクティブクリーンアップ
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest clean-context --agent kiro --force
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest clean-context -a kiro -f

# ヘルプを表示
npx -y @amazon-devices/amazon-devices-buildertools-mcp@latest clean-context --help
```

**削除されるもの:**
- 🗑️ エージェント検出ファイル（例：`~/.kiro/agents/adbt-dev.json`）
- 🗑️ ステアリング/コンテキストドキュメント（ADBTコンテンツのみ、またはADBTのみの場合はファイル全体）
- 🗑️ レガシーステアリングバリアントと`.bak`ファイル
- 🗑️ MCP設定エントリ（`amazon-devices-buildertools-mcp`）

**削除されないもの:**
- `.adbt-config.json`（プロジェクト設定）
- MCPサーバーパッケージ自体
- スキル（次回のinit-contextで再インストール可能）
- 他のエージェントの設定

### AIエージェントにAmazon Devices Builder Tools MCPがインストールされていることを確認

AIエージェントのチャットインターフェースで、以下のプロンプトを実行します

```
Amazon Devices Builder Tools MCPが提供するツールをリストしてください
```

以下のツールを含む応答が表示されるはずです：

- analyze_perfetto_traces
- get_app_hot_functions
- list_documents
- read_asset
- read_document
- search_documentation
- symbolicate_acr

## MCPツール

Amazon Devices Builder Tools for AIは、Amazon Devicesアプリ開発を支援するために以下のツールを提供します：

### 1. `analyze_perfetto_traces`

Perfettoトレースプロセッサを使用してVegaプラットフォームトレースを分析し、KPIメトリックと関連するパフォーマンスデータを抽出します。このツールは、パフォーマンスの問題を診断し、アプリの起動時間を分析するのに役立ちます。

**パラメータ:**
- `traceFilePath`（必須）: 分析するトレースファイルへのパス。通常、`iter_*_vs_trace`のような名前でVegaパフォーマンスデータ出力ディレクトリにあります
- `queryType`（オプション）: 実行するクエリのタイプ。デフォルト：`kpi_analysis`
- `kpiType`（オプション）: 分析する特定のKPIタイプ。オプション：`ttff`（Time to First Frame）、`ttfd`（Time to First Display）、`all`。デフォルト：`all`
- `customQuery`（オプション）: 実行するカスタムPerfettoSQLクエリ（提供された場合、queryTypeとkpiTypeをオーバーライド）
- `processNames`（オプション）: フィルタリングする追加のプロセス名
- `appProcessName`（オプション）: 分析するメインアプリケーションプロセス名（提供されない場合は自動検出されます）

**使用例:**
```
/path/to/iter_1_vs_traceのトレースファイルを分析してください
```

### 2. `get_app_hot_functions`

CPUトレースファイルを読み取って分析し、パフォーマンスのボトルネックに寄与するホット関数（CPU集約的な操作）を特定します。このツールは、アプリケーションのどの関数が最もCPU時間を消費しているかを特定し、ターゲットを絞ったパフォーマンス最適化を可能にします。

**パラメータ:**
- `traceDataFilePath`（必須）: Activity Monitorからのトレースデータファイルへのパス。通常、`iter_<iteration>_trace<epoch>-converted.json`のような名前でVegaパフォーマンスデータ出力ディレクトリにあります（例：`iter_2_trace1766067380670018106-converted.json`）
- `limit`（オプション）: 返すホット関数の最大数（デフォルト：10）
- `useSelfTime`（オプション）: ソートにセルフCPU時間または合計CPU時間を使用するかどうかを示すフラグ（デフォルト：false）
- `includeLibraryFunctions`（オプション）: ライブラリ関数を含めるかどうかを示すフラグ（デフォルト：false）
- `startTimeOffset`（オプション）: トレース開始からの開始時間オフセット（秒単位）（例：トレース開始から5.2秒後に分析を開始する場合は5.2）
- `endOffsetSeconds`（オプション）: トレース開始からの終了時間オフセット（秒単位）（例：トレース開始から15.8秒後に分析を終了する場合は15.8）

**使用例:**
```
/path/to/iter_2_trace1766067380670018106-converted.jsonのトレースファイルでホット関数を分析してください
```

または時間ウィンドウフィルタリングを使用：
```
/path/to/trace.jsonで5秒から15秒までのホット関数を20関数の制限で分析してください
```

### 3. `list_documents`

Amazon Devicesアプリ開発に関連する利用可能なすべてのドキュメントをリストします。`read_document`ツールを使用して取得できる利用可能なドキュメントの名前と説明を返します。

**パラメータ:**
- `documentType`（オプション）: タイプでドキュメントをフィルタリング。有効な値：`KB`（ナレッジベース）、`PROMPT`、`STEERING`、`WORKFLOW`

**使用例:**
```
利用可能なすべてのVegaドキュメントをリストしてください
```
または
```
タイプKBのドキュメントをリストしてください
```

### 4. `read_asset`

Amazon Devicesドキュメントで参照されているアセットを読み取ります。アセットは一時的な場所に保存され、パスが返されます。

**パラメータ:**
- `asset_id`（必須）: 読み取るアセットのパス（例：`assets/scripts/example.py`または`assets/images/diagram.png`）

**使用例:**
```
assets/scripts/setup.shスクリプトを読み取って実行してください
```

### 5. `read_document`

Amazon Devicesアプリ開発に関連するドキュメントを読み取ります。このツールは、アプリ開発とデバッグトピックに関する包括的なドキュメントへのアクセスを提供します。

**パラメータ:**
- `document_uri`（必須）: 読み取るドキュメントのURI。ローカルドキュメント名（例：`vega_cli_commands_reference.md`）またはdeveloper.amazon.comのURLを受け付けます。

**使用例:**
```
react_native_for_vega_architecture.mdドキュメントを読み取ってください
```

### 6. `search_documentation`

全文検索を使用してVega開発ドキュメントを検索します。クエリに一致するドキュメントURIと関連するスニペットを返します。完全なコンテンツを取得するには、返されたURIで`read_document`を使用してください。

**パラメータ:**
- `query`（必須）: 関連するドキュメントを検索するための検索クエリ文字列

**使用例:**
```
「パフォーマンス最適化」に関するドキュメントを検索してください
```

### 7. `symbolicate_acr`

ACR（Amazon Crash Report）ファイルをシンボリケートしてレポートを作成します。GDBベースのネイティブクラッシュシンボリケーションとJavaScriptスタックトレースシンボリケーションの両方をサポートします。

**パラメータ:**
- `acrFilePath`（必須）: シンボリケートするACRファイルへのパス
- `decodeMode`（必須）: ネイティブクラッシュの場合は`gdb`（`debugFsPath`または`deviceId`が必要）、JavaScriptスタックトレースの場合は`js`
- `debugFsPath`（オプション）: デバッグルートFSへのパス。`gdb`モードで使用。
- `deviceId`（オプション）: デバッグFSを取得するターゲットデバイスのシリアル番号。`gdb`モードで使用。

**使用例:**
```
/path/to/crash.acrのクラッシュファイルをJSモードでシンボリケートしてください
```

## MCPプロンプト

> AIエージェントがhttps://modelcontextprotocol.io/clientsでMCPプロンプト（`/prompts`）をサポートしているか確認してください

Amazon Devices Builder Tools MCPは、AIエージェントの`/prompts`でワンクリック実行できる一般的なワークフロー用の以下の事前定義されたプロンプトテンプレートを提供します：

**重要**: Amazon Devices Builder Tools MCPが提供するプロンプトの完全なリストを表示するには、常にAIエージェントで`/prompts`を実行してください

### 1. `apply_performance_best_practices`

**説明:** コンポーネントレンダリング、メモリ管理、ナビゲーション、ネットワーク最適化、状態管理を含むReact Nativeアプリケーションのパフォーマンスの問題を診断して最適化します。

**パラメータ:**
- `app_source_path`（必須、文字列）: 分析用のReact Nativeアプリケーションソースコードディレクトリへのパス

**使用例:**
```
> @apply_performance_best_practices /path/to/my-vega-app/src
```

### 2. `detect_component_re-renders`

**説明:** React Nativeツールを使用して、コンポーネントの再レンダリングによって引き起こされるVegaアプリケーションのUI流動性パフォーマンスの問題を診断して最適化します。

**パラメータ:**
- `vega_app_package_path`（必須、文字列）: Vegaアプリパッケージルートディレクトリへの絶対パス

**使用例:**
```
> @detect_component_re-renders /path/to/my-vega-app
```

### 3. `diagnose-slowAppLaunch`

**説明:** Vegaアプリケーションの遅いアプリ起動KPI（TTFFおよび/またはTTFD）を診断します。

**パラメータ:**
- `kpi_report_file_path`（必須、文字列）: KPIレポートファイルへの絶対パス
- `kpi_to_diagnose`（必須、文字列）: 診断するKPIレポートからのKPIの名前

**使用例:**
```
> @diagnose-slowAppLaunch /path/to/report.json ttff
```

### 4. `diagnose_crash`

**説明:** JavaScript、Native、LMK（Low Memory Killer）、ANR（Application Not Responding）クラッシュを含むVegaアプリケーションのクラッシュを診断します。ACRファイルを自動検出し、スタックトレースをシンボリケートし、適切な分析ワークフローにルーティングします。

**パラメータ:**
- `acr_file_path`（任意、文字列）: ACRファイルへのパス。指定しない場合、デバイスの一時ディレクトリからACRファイルを自動検出します。

**使用例:**
```
> @diagnose_crash /path/to/crash.acr
```

### 5. `diagnose_key_input_latency`

**説明:** JSスレッドパフォーマンス、CPUボトルネック、入力イベント処理の最適化を体系的に分析し、React Native Vegaアプリのキー入力レイテンシーの問題を診断・解決します。

**パラメータ:**
- `vega_app_package_path`（必須、文字列）: Vegaアプリパッケージのルートディレクトリへの絶対パス
- `app_process_name`（任意、文字列）: 入力レイテンシーが発生しているアプリプロセスの名前。指定しない場合、manifest.tomlから自動的に解決されます。
- `perfetto_trace_file_path`（任意、文字列）: 既存のPerfettoトレースファイルへの絶対パス（既にキャプチャ済みの場合）
- `target_component_or_button`（任意、文字列）: 調査する特定のボタンまたはコンポーネント名
- `latency_threshold_ms`（任意、数値）: 許容される最大入力レイテンシー（ミリ秒）。デフォルトは100。

**使用例:**
```
> @diagnose_key_input_latency /path/to/my-vega-app
```

### 6. `diagnose_ui_fluidity`

**説明:** コンポーネント再レンダリングとCPUパフォーマンスボトルネックの体系的な分析を通じて、React Native VegaアプリのUI流暢性KPI障害を包括的に診断します。

**パラメータ:**
- `vega_app_package_path`（必須、文字列）: Vegaアプリパッケージのルートディレクトリへの絶対パス

**使用例:**
```
> @diagnose_ui_fluidity /path/to/my-vega-app
```

### 7. `fix_hot_functions`

**説明:** CPU集約的なホット関数を分析・修正することで、VegaアプリケーションのUI流暢性の問題を診断・最適化します。

**パラメータ:**
- `vega_app_package_path`（必須、文字列）: Vegaアプリパッケージのルートディレクトリへの絶対パス

**使用例:**
```
> @fix_hot_functions /path/to/my-vega-app
```

### 8. `react_native_for_vega_add_simple_media_playback_implementation`

**説明:** 既存のReact Native for Vegaアプリケーションにシンプルなメディア再生実装を追加します。

**パラメータ:**
- `vega_app_package_path`（必須、文字列）: Vegaアプリパッケージのルートディレクトリへの絶対パス

**使用例:**
```
> @react_native_for_vega_add_simple_media_playback_implementation /path/to/my-vega-app
```

### 9. `react_native_for_vega_ai_assisted_rn_upgrade`

**説明:** AI支援による移行でReact Nativeバージョンアップグレードのための汎用ターンベースワークフローをトリガーします。

**パラメータ:**
- `vega_app_package_path`（必須、文字列）: Vegaアプリパッケージのルートディレクトリへの絶対パス

**使用例:**
```
> @react_native_for_vega_ai_assisted_rn_upgrade /path/to/my-vega-app
```

### 10. `upgrade_carousel_component`

**説明:** Vega SDKのCarouselコンポーネントの新しいバージョンへの移行を支援します。

**パラメータ:**
- `current_implementation_file_path`（必須、文字列）: CarouselのV1実装を含むファイルへの絶対パス
- `current_version`（必須、文字列）: パッケージに依存しないCarouselの現在のバージョン
- `target_version`（必須、文字列）: パッケージに依存しないCarouselのターゲットバージョン

**使用例:**
```
> @upgrade_carousel_component /path/to/HomeScreen.tsx 1.0.6 2.0.0
```

### 11. `react_native_for_vega_rn83_alpha_preview`

**説明:** バンドルされた知識ベースを使用して、アローリストされたアルファパートナーをRN 0.83プレビューの全ライフサイクルを通じてガイドします。プライベートレジストリの設定、プレビューSDKのインストール、移行、クリーンアップ/アンインストール手順をカバーします。

**パラメータ:** なし

**使用例:**
```
> @react_native_for_vega_rn83_alpha_preview
```

### 12. `upgrade_fire_tv_android_sdk`

**説明:** サードパーティー製Fire TVアプリの`targetSdkVersion`をAndroid APIレベル30から36の範囲で評価・アップグレードします。APIレベル別のガイダンスを使用し、変更前に明示的な承認を待ちます。

**パラメータ:**

- `target_api_level`（任意、文字列）: 30から36の範囲の最終Android APIレベル。省略した場合、エージェントはAPI 36を提案し、確認を求めます。
- `starting_target_sdk_version`（任意、文字列）: 現在の`targetSdkVersion`。省略した場合、エージェントはアプリのGradle設定またはマニフェストから読み取ります。

**使用例:**

```
> @upgrade_fire_tv_android_sdk target_api_level=35 starting_target_sdk_version=30
```
