Amplitude ウィザード CLI
Amplitude Wizard CLI(npx @amplitude/wizard)は、1つのターミナルコマンドからAmplitude Analyticsを既存のコードベースにインストールします。フレームワークを検出し、実際のコードに基づいてイベントを追跡することを提案し、すべてのステップであなたの承認を得て、1つのセッションでSDK連携を記述します。
1つのセッションでAIエージェントにコードベースを読み取らせ、イベントを計測させたい場合に、このウィザードを使用します。イベントを手作業で選択して自分でSDK呼び出しを記述したい場合は、代わりにAmplitudeクイックスタートに従ってください。
npx @amplitude/wizard
このウィザードはターミナルで実行されます。 Amplitudeは、Claude Code Desktop、Cursor Desktopなどを開発中で、ターミナルでClaude Codeをテストしています。サブコマンドやオプションに関する情報は、npx @amplitude/wizard --helpを実行して確認してください。
Amplitude Wizard CLI には Node.js 20 以降が必要です。
Amplitude Wizard CLIを実行するときに実行される機能
- 認証:ウィザードによってサインイン(または既存のセッションを選択)し、組織、プロジェクト、およびデータ領域を選択できます。
- フレームワークを検出:ウィザードはプロジェクトを検査し、適切な連携パスを選択します。自動検出は、Next.js、Vue、React Router、Django、Flask、FastAPI、Swift、React Native、Android、Flutter、Go、Java、Unreal、Unityに対応しています。また、JavaScript(web)、Python、JavaScript(Node)の言語レベルのフォールバック機能も備えています。一致するものが何もない場合は、手動で選択するか、汎用フォールバックを使用できます。 Webプロジェクトでは、Browser SDK 2 または Browser Unified SDK を使用します。
- イベントの提案と計測:Amplitude AIエージェントはコードベースを読み取り、アプリの動作に基づいてイベントの追跡を提案し、コードを書く前にユーザーの承認を待機します。ご自身のエージェントライセンスは必要ありません。
- MCP連携の設定:ウィザードはAmplitude MCPサーバーをエディターにインストールすることを提案しています。これにより、平易な英語でアナリティクスデータをクエリできるようになります。
- 検証:ウィザードは、イベントの到着を検出するまでAmplitude APIをポーリングします。アプリを実行していくつかのアクションをトリガーすると、ウィザードにはイベントが流入する様子が表示されます。
- チャートとダッシュボードを作成する:エージェントがAmplitude内で最初のダッシュボードを作成するため、データの流入が始まったその瞬間から、すぐに役立つダッシュボードを利用できます。
ウィザードをCtrl+Cで停止した場合、クラッシュした場合、またはターミナルを閉じた場合、ウィザードはチェックポイントを保存します。同じディレクトリで再度実行すると、処理を再開できます。
すでに使用しているツールからAmplitudeデータにアクセスできます
ターミナルまたはIDE:Amplitude MCPサーバーを使用して、Claude、Cursor、またはMCP互換のAIツールからデータに関する質問を簡単な英語で送信できます。エージェントは
--agentモードを使用してCLIを実行できます。Claude Codeプラグイン: Claude Code用のAmplitudeプラグインをインストールしてください。このプラグインは、同じMCPツールと組み込みのスラッシュコマンドを提供しており、簡単にアクセスできます。
Claude Codeセッション内:
bash/plugin install amplitudeまたは端末から:
bashclaude plugin install amplitudeインストール後はClaude Codeで
/mcpを実行し、ブラウザのプロンプトに従ってAmplitudeにログインしてください。 このプラグインには/amplitude:create-chart、/amplitude:create-dashboard、/amplitude:instrument-events、/amplitude:replay-ux-audit、/amplitude:weekly-brief、などのスラッシュコマンドが含まれています。SlackまたはTeamsアプリ:Amplitudeをチームのメッセージングツールに接続することで、普段の業務の中でインサイトを取得したり、チャートを作成したりできます。
AIエージェントからAmplitudeウィザードCLIを実行する
--agent``v:1AIコーディングエージェントはウィザードをエンドツーエンドで駆動できます。モードはNDJSONライフサイクルイベントをstdoutにストリーミングします(1行あたり1つのJSONオブジェクト、それぞれにエンベロープがあります)。そのため、オーケストレーターは進行状況、ファイル差分、プロンプトをリアルタイムでレンダリングできます。ウィザードのプロンプトが自動的に承認されます。
人間をスキップする正しい方法は、ユーザーがすでにAmplitudeアカウントを持っているかどうかによって異なります。
Amplitudeの新しいアカウントです。 --auth-onboarding create-accountとユーザーの詳細情報を渡すことで、ウィザードがユーザーのために組織、プロジェクト、およびアプリのプロビジョニングを行います。 --api-keyを完全にスキップしてください。 ウィザードはアカウント作成の一環として 1 つをミントします。 --email、--full-name、--accept-tos、および --region はすべて、create-account を --agent と組み合わせる際に必要です。これは、ウィザードにこれらを要求する TTY がないためです。
npx @amplitude/wizard --agent \
--auth-onboarding create-account \
--email <new-account-email> \
--full-name "<Full Name>" \
--accept-tos \
--region <us|eu> \
--app-name "<app name>" \
-y
--agentにはすでに--auto-approveが含まれています。内部エージェントに書き込み権限を付与するには、依然として-yが必要です。
**--accept-tosおよび--regionには、人間の明確な同意が必要です。**AIコーディングエージェントおよびオーケストレーターは、ユーザーの同意なしに、これらのフラグをユーザーに代わって渡してはなりません:
--accept-tosプログラムによってAmplitudeのサービス利用規約に同意します。 この承諾は、エージェントではなく、ウィザードがアカウントを作成したユーザーに対して法的拘束力があります。 これをクリックスルー型の「同意します」チェックボックスのように扱ってください:最初に確認し、ユーザーが同意した後にのみフラグを渡します。--region(usまたはeu) は新規アカウントのデータセンターを選択するものであり、データのレジデンシーに影響があります。 規制要件、社内のデータ処理ポリシー、または他のAmplitudeデータがすでに存在する場所に基づいて、どの地域が自分に適用されるかをユーザーに尋ねてください。 次に、選択した値をそのまま渡します。
--agentモードでいずれかのフラグを省略することは重大なエラーであり、これは意図された保護策です。
**既存のAmplitudeアカウント、完全自動。**AmplitudeプロジェクトのAPIキーをインラインで渡すことで、ウィザードがOAuthをスキップできるようになります。 --app-id <id>を追加して、実行を特定のAmplitudeアプリに紐付けます。 エージェントに必要なスコープフラグはこれだけです。ウィザードは組織、プロジェクト、および環境を自動的に導出するからです:
npx @amplitude/wizard --agent --install-dir . --api-key <key> --app-id <id>
既存のAmplitudeアカウント、同じマシンでの事前ログイン。 npx @amplitude/wizard loginを1回指定すれば、その後は--api-keyを省略でき、ウィザードは保存済みのOAuthトークンを再利用します。
--agent の出力を head、tail、または grep にパイプで渡さないでください。SIGPIPEは実行中に内部セットアップエージェントを終了します。> wizard.log 2>&1でファイルにリダイレクトし、別途tailを実行します。実行が中断された場合は、npx @amplitude/wizard --agent --resume -y を使用して再開してください。
重要なフラグ
| フラグ | 目的 |
|---|---|
--api-key <key> | 既存アカウント用のAmplitudeプロジェクトAPIキー。 OAuthをスキップして、ウィザードを無人で実行できます。または、AMPLITUDE_WIZARD_API_KEYを設定します。 |
--install-dir <path> | インストール先のディレクトリ。 --agentに必須です。 |
--yes / -y | すべての確認プロンプトをスキップし、内部エージェントにファイルの書き込みを任せてください。 applyサブコマンドおよびcreate-accountの実行に必要です。 |
--auto-approve | needs_inputのプロンプトで推奨される選択肢を自動的に選択します。 これだけでは書き込み権限は付与されません。書き込み権限を付与するには、--yesと組み合わせて使用してください。--agentにはすでに--auto-approveが含まれています。 |
--auth-onboarding <path> | OAuth パス:既存のアカウントの場合はsign-in(デフォルト)を、CLIからまったく新しいAmplitudeアカウントをプロビジョニングする場合はcreate-accountを使用してください。 |
--email <email> | 新規アカウント作成用のメールアドレス。 --agentの--auth-onboarding create-accountと組み合わせる必要があります。 |
--full-name "<name>" | 新規アカウント作成時のフルネーム。 値にスペースが含まれている場合は、値を引用符で囲みます。--agentの--auth-onboarding create-accountと組み合わせる必要があります。 |
--accept-tos | ユーザーに代わって、プログラムによってAmplitudeの利用規約に同意します。 create-account``--agentのと組み合わせる必要があります。 ユーザーの明示的な同意なしにパスしないでください。 この承諾は人間に対して法的拘束力を持ち、エージェントに対しては法的拘束力を持ちません。 |
--region <us|eu> | 新規アカウントのデータセンター地域(usまたはeu)。 データのレジデンシーに影響があります。 create-accountの--agentと組み合わせる必要があります。 ユーザーに代わってデフォルト設定を行うのではなく、どの地域が適用されるかを確認してください。 --zoneとしても受け入れられます。 |
--app-name "<name>" | 新しいAmplitudeアプリの名前です。 アプリが存在しない場合、または--agentで指定された場合は、アプリを1つ作成します。 |
--app-id <id> | 既存のアプリのAmplitudeアプリIDの数値です。 エージェントに必要なスコープフラグはこれだけです。ウィザードは組織、プロジェクト、および環境を自動的に導出します。 |
--project-id <id> | AmplitudeプロジェクトIDの数値。 特定のアプリではなくプロジェクトにスコープを絞り込む場合に使用します。 |
--resume | 保存されたチェックポイントをロードし、すでに完了したステップをスキップします。 SIGPIPE が発生した場合や実行が中断された場合に役立ちます。 |
--json | --agentの自動承認に伴う副作用のない、機械可読なJSON出力。 |
npx @amplitude/wizard manifestを実行すると、機械可読なCLIの全機能(フラグ、環境変数、終了コード、用語集)がJSON形式で出力されます。
計画、適用、検証
人間が diff のループに参加することを望むエージェントの場合、実行を 3 つのフェーズに分割します。plan ディスクverifyに触れないでください:
npx @amplitude/wizard plan --json
npx @amplitude/wizard apply --plan-id <id> --yes
npx @amplitude/wizard verify --json
plan --jsonは、検出されたフレームワーク、SDKの選択、および意図されたファイルの変更を含むWizardPlanを生成し、24時間有効なplanIdを返します。出力には、すぐに実行可能なresumeFlagsアレイも含まれています。 それをapplyに直接供給します。apply --plan-id <id> --yesはプランを実行し、書き込みが行われるたびにNDJSONfile_changeイベントをストリーミングします。--forceを追加すると、データを上書きして消去できるようになります。verify --jsonは、SDK、APIキー、フレームワーク連携がすべて適切に設定されていることを確認するための、ネットワークを使用しない低コストなチェックを実行します。失敗した場合は 0 以外の終了コードで終了します。
その他、エージェント対応のサブコマンドとしては、detect --json、status --json、auth status --json、auth tokenなどがあり、これらは他のスクリプトから保存されたOAuthトークンを読み取るために使用されます。
MCPサーバーモード
npx @amplitude/wizard mcp serveは、ウィザードの読み取り専用操作を、標準入出力経由の Model Context Protocol ツールとして公開します。 AIエージェントは、CLIを起動して出力を解析する代わりに、これらを型付きツールとして呼び出します。このスニペットを MCP クライアントの設定に追加してください。
{
"mcpServers": {
"amplitude-wizard": {
"command": "npx",
"args": ["-y", "@amplitude/wizard", "mcp", "serve"]
}
}
}
サーバーは、detect_framework、get_project_status、plan_setup、verify_setup、get_auth_status、および get_auth_tokenを公開します。applyをplan_setup CLIサブコマンドと組み合わせて使用すると、生成されたプランを実行できます。
環境変数
ウィザードは--agent実行時に次の変数を読み取ります。
| 変数 | 効果 |
|---|---|
AMPLITUDE_WIZARD_AGENT=1 | エージェントモードを強制(NDJSON出力、プロンプトの自動承認)。 |
AMPLITUDE_WIZARD_API_KEY | AmplitudeプロジェクトAPIキー。 --api-keyに相当します。 |
AMPLITUDE_WIZARD_INSTALL_DIR | インストール先のディレクトリ。 --install-dirに相当します。 |
AMPLITUDE_WIZARD_PROJECT_ID | AmplitudeプロジェクトID。 --project-idに相当します。 |
AMPLITUDE_WIZARD_YES | すべての承認プロンプトをスキップします。 --yesに相当します。 |
AMPLITUDE_TOKEN | OAuthアクセストークンを上書きします。トークンをミントするには、事前にnpx @amplitude/wizard loginが必要です。 |
AMPLITUDE_WIZARD_TOKEN | AMPLITUDE_TOKENのエイリアス。 |
AMPLITUDE_WIZARD_MAX_TURNS | 内部エージェントの実行ごとのターン上限を上書きします(デフォルトは200、最大は10,000)。 |
終了コード
オーケストレーターはウィザードの終了コードに基づいて分岐できます:
| コード | 意味 |
|---|---|
0 | 成功です。 |
1 | 一般エラーです。 |
2 | 無効な引数です。 |
3 | 認証が必要です。 |
4 | ネットワークエラーです。 |
10 | 内部エージェントが失敗しました。 |
130 | ユーザーがキャンセルしました(Ctrl+C)。 |
終了コード3(AUTH_REQUIRED)はオーケストレーターにとって重要なシグナルです。 ウィザードは、有効な認証情報なしで--agentの実行が開始された際に、このシグナルを発生させます。同時に、構造化されたlifecycle NDJSONイベントも発行され、そのdata.loginCommandおよび data.resumeCommandアレイがオーケストレーターに対して、ユーザーにログインして再実行するように促す具体的な方法を正確に伝えます。理由の値には、no_stored_credentials、token_expired、refresh_failedおよび env_selection_failed が含まれます。
{
"v": 1,
"type": "lifecycle",
"level": "error",
"data": {
"event": "auth_required",
"reason": "no_stored_credentials",
"loginCommand": ["npx", "@amplitude/wizard", "login"],
"resumeCommand": ["npx", "@amplitude/wizard", "--agent"]
}
}
no_stored_credentialsでは、loginCommandを表面化させる代わりに、新規アカウントフラグ(--auth-onboarding create-accountに加えて--email、--full-name、--accept-tos、--region、--app-name)を指定して再呼び出しを行い、その場で新しいアカウントを作成することも可能です。 このパスでは、--accept-tosと--regionについては依然としてユーザーによる明示的な入力が必要であるため、プロンプトが一切表示されないわけではありませんが、ブラウザベースのOAuthハンドシェイクは省略されます。
データが流れた後に試すべきこと
- 最初のセッションリプレイを視聴する:ユーザーがアプリでどのような体験をしているかを正確に確認できます。
- Webテストを開始:ビジュアルエディターを使用すれば、追加のコードを一切書かずに機能のA/Bテストを実施できます。
- ガイドまたはアンケートを作成する:製品内でのフィードバックや特定のユーザーセグメントへのメッセージを収集します。
フィードバック
このウィザードはオープンソースです。GitHubから、ソースの表示、問題のレポート、開発への貢献ができます。
ご意見やご要望をぜひお寄せください:wizard@amplitude.com。
これは役に立ちましたか?