Configure Everything Claude Code
現在のハーネス内で対話型ウィザードを実行します。まずインベントリを取得し、サポートされている選択肢のみを収集し、プレビュー表示後、一度確認を求め、非インタラクティブに適用し、検証し、成功後にのみウェルカムを表示します。ECCを一時ディレクトリにクローンしたり、プラグインコンポーネントを手動でコピーしたりしないでください。
人間が操作するターミナルの場合、正規のエントリポイントは ecc setup と npx ecc-universal setup です。ハーネス内では、代わりに以下の明示的な非インタラクティブコマンドを使用してください。
現在のハーネスでルーティング
- Claude Codeでは、以下の完全なスコープ・フックウィザードを使用します。
- Codexでは、Codexのネイティブプラグインライフサイクルを使用します。Claudeのスコープを提供したり、ECCの4つのClaudeフックプロファイルをCodexにマッピングしたりしないでください。
- Kimiでは、
./.kimi-code配下にプロジェクトサーフェスをインストールします。KimiはECCのClaudeライフサイクルフックプロファイルを提供しません。 - ハーネスが不明な場合は、検出された証拠を述べ、変更を加えるコマンドを実行する前にどのハーネスを設定するかを尋ねてください。
このスキルはインストール後の再構成パスです。プロバイダの組み込み初回インストールUIを横取りしたり置き換えたりすることはできません。
Claude Code: 完全な対話型ウィザードを実行
1. 何も変更せずにインベントリを取得
両方のコマンドを実行し、インストールされているECCのスコープ、有効状態、マーケットプレイスソースを要約します:
claude plugin list --json
claude plugin marketplace list --json
単一の既存 ecc@ecc インストールを再構成として扱います。Claudeのプロバイダ所有の「ホームページを開く」コントロールをインストールの証拠として解釈しないでください。複数のECCスコープ、レガシー/手動インストール、不正な設定、またはマーケットプレイスの競合があった場合は、セットアップが返すリカバリを報告して停止します。どの状態を削除すべきか推測しないでください。
2. 正確に2つの選択肢を収集
スコープの質問を1つだけ行い、1つの値を必須とします:
user | project | localuserはこのユーザーのグローバル設定です。projectはリポジトリ設定を通じて共有されます。localは現在のプロジェクトに限定されます。
選択されたスコープのみを視覚的に選択済みまたはインストール中としてマークします。ユーザーが単一の既存インストールから異なるスコープを選択した場合は、スコープ移行として説明し、以下のコマンドに --move-scope を含めます。
フックモードの質問を1つだけ行い、1つの値を必須とします:
off | minimal | standard | strictoffはスキルとコマンドを維持しますが、ECCフックの自動化を無効にします。minimalは最も軽量なライフサイクルと安全自動化を有効にします。standardは品質と安全自動化のバランスを取ります。strictは最も強力なチェックとリマインダーを有効にします。
フックの選択は個人のClaudeプラグイン設定であり、選択されたインストールスコープには従いません。
3. プレビューして一度確認
プラグインにバンドルされたセットアップスクリプトを推奨します。2つの選択値を代入し、スコープ移行の場合のみ --move-scope を含めます:
node "$CLAUDE_PLUGIN_ROOT/scripts/setup.js" --mode claude-plugin \
--scope <scope> --hooks <hooks> [--move-scope] --dry-run --json
$CLAUDE_PLUGIN_ROOT が利用できない場合は、公開されたnpmパッケージを使用します:
npx --yes --package ecc-universal ecc setup --mode claude-plugin \
--scope <scope> --hooks <hooks> [--move-scope] --dry-run --json
計画されたアクション、1つのスコープ、1つのフックモード、マーケットプレイスアクション、およびソースからデスティネーションへの移行を含む1つの確認サマリーを表示します。1つのはい/いいえの質問をします。ハーネスシェルツールを通じて裸の対話型 ecc setup を実行しないでください。そのシェルは通常非TTYです。
4. 明示的な選択を適用
確認後、--dry-run なしで同じルートを再実行します。すべての選択を明示的に保持し、JSONを要求して成功を決定論的に確認できるようにします:
node "$CLAUDE_PLUGIN_ROOT/scripts/setup.js" --mode claude-plugin \
--scope <scope> --hooks <hooks> [--move-scope] --yes --json
フォールバック:
npx --yes --package ecc-universal ecc setup --mode claude-plugin \
--scope <scope> --hooks <hooks> [--move-scope] --yes --json
5. 検証してからウェルカムを表示
終了ステータスが0であり、セットアップ結果の scope と hooks が選択された値と一致することを必須とします。その後、独立して以下を実行します:
claude plugin list --json
選択されたスコープに有効な ecc@ecc エントリが1つだけ存在する場合にのみ続行します。$CLAUDE_PLUGIN_ROOT が利用可能な場合、成功したセットアップの action(installed、updated、migrated、resumed、または already-migrated)をバンドルされたレンダラーに渡します:
呼び出す前に、プロバイダが報告したバージョンが scripts/lib/terminal-welcome.js の ECC_VERSION_PATTERN と一致することを必須とします。予期しないバージョンテキストをシェルコマンドに展開する代わりに、拒否します。
node -e 'const { renderTerminalWelcome } = require(process.env.CLAUDE_PLUGIN_ROOT + "/scripts/lib/terminal-welcome"); process.stdout.write(renderTerminalWelcome({ action: process.argv[1], version: process.argv[2], color: process.stdout.isTTY }));' "<action>" "<installed-version>"
ウェルカムは正確に1回だけ表示します。失敗、ドライラン、キャンセル、スコープまたはフックの不一致、または検証不可能な状態の場合は、表示せず、エラーとリカバリを報告します。確認された変更後、ユーザーに /reload-plugins の実行またはClaude Codeの再起動を伝えます。
Codex: ネイティブプラグインライフサイクルを使用
codex plugin marketplace list --json と codex plugin list --available --json でインベントリを取得します。CodexのネイティブプラグインコマンドにはClaudeスタイルの user | project | local セレクタはありません。Codexネイティブプラグインはプロバイダ固有のフックをサポートしますが、Codexはそれらに明示的な信頼を要求します。Codexにその信頼判断を任せます。Claudeの4プロファイルフック質問をしたり、それらのプロファイルがCodexにマッピングされると主張したりしないでください。
ECCマーケットプレイスがない場合は追加します。それ以外の場合はスナップショットを更新します:
codex plugin marketplace add affaan-m/ECC
codex plugin marketplace upgrade ecc --json
1回の確認を求め、インストールするか、インストール済みキャッシュをべき等更新して検証します:
codex plugin add ecc@ecc --json
codex plugin list --json
JSONがECCのインストールを報告し、installedPath を提供する場合にのみ続行します。次に、検証されたバンドルのウェルカムを表示します:
Codex JSONが返す正確な絶対 installedPath のみを使用します。制御文字を拒否し、インストールされたバージョンが ECC_VERSION_PATTERN と一致することを必須とします。この引数配列で node を直接呼び出します。これはツールAPI呼び出しであり、シェルコマンドではありません:
["<installedPath>/scripts/welcome.js", "--action", "configured", "--version", "<installed-version>"]
現在のハーネスが個別の引数配列で実行可能ファイルを呼び出せない場合は、ウェルカムをスキップします。Codex JSON値からシェルコマンドを決して構築しないでください。
Claudeの off | minimal | standard | strict プロファイルがCodexに適用されたと決して主張しないでください。
Kimi: プロジェクトサーフェスをインストール
確認前に機能サマリーを表示:デスティネーション ./.kimi-code;ECCライフサイクルフックについては hooks=unsupported。Claudeのスコープやフックモードの質問はしないでください。まずプレビュー:
npx --yes --package ecc-universal ecc install --profile core --target kimi --dry-run
そのプロジェクトデスティネーションに対する1回の確認を表示し、--dry-run なしで同一コマンドを適用します。以下で検証:
npx --yes --package ecc-universal ecc doctor --target kimi
doctorが成功し、インストールされた指示とスキルが ./.kimi-code 内に残っている場合のみ、以下を表示:
npx --yes --package ecc-universal ecc welcome --action configured
KimiがECCライフサイクルフックをインストールまたは設定したと決して主張しないでください。