sdk-install について
プロジェクトの技術スタックを検出し、SDK を選び、順に導入する LaunchDarkly のオンボーディングスキルです。環境設定とコード変更を案内し、その後、親フローで最初のフラグを作成します。
主な機能
- 01言語、パッケージマネージャー、エントリーポイントの検出
- 02プロジェクト種別に応じた SDK 選定
- 03依存関係、コード、環境変数の変更計画
- 04SDK のインストールと初期化
- 052 種類の SDK を使う導入への対応
活用シーン
- 01新規プロジェクトへの LaunchDarkly 導入
- 02monorepo の対象サブプロジェクトへの統合
- 03サーバー側とクライアント側 SDK の同時設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ launchdarkly/ ai-tooling --skill sdk-installインストール後、Claude Code で/sdk-installを入力して読み込まれたか確認します。
詳細
LaunchDarkly SDK のインストール(オンボーディング)
3 つのネストされたスキルを順番に実行して、ユーザーのプロジェクトに適した LaunchDarkly SDK をインストールし、初期化します。ここでフィーチャーフラグに進まないでください。親の LaunchDarkly オンボーディング は ステップ 4: 最初のフラグ へと続きます。
前提条件
- 親の ステップ 1: プロジェクトを調査する で得たプロジェクトコンテキスト(再利用してください。不明な点がある場合にのみ、詳細検出を再実行してください)
- SDK キー / クライアントサイド ID / モバイルキー: コード変更を適用する(環境変数の設定)に到達したときに必要になります。このスキルを開いたというだけの理由で、検出や計画の段階でユーザーにこれらを尋ねないでください。親のオンボーディングに従ってください。アカウントの状態は、MCP がすでに設定されている場合は MCP OAuth を通じて推測され、そうでない場合は適用の D7 で明らかになります。キーの素材は適用時に収集されます(親の 前提条件 を参照)。
キーの種類(概要)
| SDK の種類 | 変数(論理名) | LaunchDarkly での取得元 |
|---|---|---|
| サーバーサイド | LAUNCHDARKLY_SDK_KEY | Environments → SDK key |
| クライアントサイド | クライアントサイド ID(バンドラーが接頭辞を付ける環境変数名) | Environments → Client-side ID |
| モバイル | LAUNCHDARKLY_MOBILE_KEY | Environments → Mobile key |
キーをハードコードしないでください。 環境変数の完全なルール、同意、バンドラーの表については、コード変更を適用する のステップ 2 を参照してください。
ワークフロー — これらのネストされたスキルを順番に実行する
検出のデシジョンツリー がショートカットする場合(例: 適用のみにスキップする場合)を除き、3 つすべてを実行してください。各ネストされたスキルにはデシジョンポイントが含まれることがあります。一部は ブロッキング(D<N> -- BLOCKING とマークされ、続行する前に構造化質問ツールを呼び出してユーザーの応答を待つ必要があります)で、一部は 非ブロッキング(情報を提示し、ユーザーが異議を唱えない限り続行します)です。ブロッキングの境界をまたいでツール呼び出しをまとめて行わないでください。
| 順序 | ネストされたスキル | 役割 |
|---|---|---|
| 1 | リポジトリスタックを検出する | 言語、パッケージマネージャー、モノレポの対象、エントリーポイント、既存の LD の使用状況 |
| 2 | 統合計画を生成する | SDK の選択、変更するファイル、環境変数の計画 -- ユーザーに提示されます(非ブロッキング。plan の SKILL.md の D6 を参照) |
| 3 | コード変更を適用する | パッケージのインストール、同意を得たうえでの .env / シークレット、初期化コード、コンパイルチェック(デュアル SDK の計画 の場合は 両方 のトラック) |
すべてのステップで共有される参照: SDK レシピ、SDK スニペット。
ステップ 3 の完了後
親スキルを続けてください:
- ステップ 4: 最初のフラグ
ユーザーが明示的に使い捨ての確認を必要としない限り、このスキルで独立した「サンプルフラグ」の評価を追加しないでください。親のフローが最初のフラグを順番に作成します。
ガイドライン
- インポート、設定、スタイルについては、既存のコードベースの規約に合わせてください。
- TypeScript プロジェクトでは TypeScript を優先してください。
- プロジェクトが共有設定レイヤーを使用している場合は、そこで LaunchDarkly を初期化してください。
- プロジェクトが dotenv を使用している場合は、
.env.exampleのエントリを追加してください。 - 依存関係のスコープ: ユーザーが他のパッケージのアップグレードや追加を 明示的に承認 しない限り、レシピにある LaunchDarkly SDK パッケージのみを追加してください(適用 — 他の依存関係を変更する前の許可)。
エッジケース
- 複数の環境(例: Next.js サーバー + クライアント)、またはユーザーがフロントエンド + バックエンドを求めた場合: デュアル SDK のプランを使用し、適用では両方のパッケージと両方の init を実行してください。2 つ目の SDK を、ロックファイルとエントリポイントの証拠なしに完了扱いにしてはいけません。
- モノレポ: 親のオンボーディングでユーザーが選択したパッケージを統合し、そのサブツリー内にとどまってください。
- SDK がすでにインストールされ、初期化済み: 親はこの引き継ぎをスキップできます。親のエッジケースと検出の決定木を参照してください。
- サポートされていない、または一般的でないスタック: SDK レシピとSDK カタログ全体を使用してください。