mcpField
C
cli-reference

cli-reference

github.com/even-realities開発79139 回インストール2 週間前に更新
リポジトリ

cli-reference について

cli-referenceは、Even Hub CLIとアプリマニフェストを解説するエージェントスキルです。ログイン、初期化、QRコードでのテスト、パッケージ化、シェル補完、検証方法を扱います。

主な機能

  1. 01アカウントへのログイン
  2. 02app.jsonの生成
  3. 03QRコードによるローカルテスト
  4. 04アプリのパッケージ化
  5. 05シェル補完
  6. 06マニフェスト検証のガイダンス

活用シーン

  1. 01初期マニフェストの生成
  2. 02ローカルアプリのメガネへの読み込み
  3. 03配布用アプリのパッケージ化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/even-realities/everything-evenhub --skill cli-reference

インストール後、Claude Code で/cli-referenceを入力して読み込まれたか確認します。

詳細

Even Hub CLI リファレンス

インストール

# Install as dev dependency (recommended)
npm install -D @evenrealities/evenhub-cli

# Install globally
npm install -g @evenrealities/evenhub-cli

# Or run without installing via npx
npx @evenrealities/evenhub-cli <command>

現在のバージョン:v0.1.11

開発用依存関係としてインストールした場合は、npx evenhub <command> を使用して実行します。グローバルにインストールした場合は、evenhub <command> を直接実行します。


evenhub login

Even Hub アカウントで認証します。認証情報は今後も使用できるよう、ローカルに保存されます。

evenhub login
evenhub login -e [email protected]
オプション説明
-e, --email <email>アカウントのメールアドレス

evenhub init

スターター用の app.json マニフェストファイルを生成します。

evenhub init
evenhub init -d ./my-project
evenhub init -o ./config/app.json
オプション説明
-d, --directory <dir>ファイルを作成するディレクトリ(デフォルト:./)
-o, --output <path>出力ファイルのパス(--directory を上書きします)

evenhub qr

開発の主なコマンドです。ローカルの開発サーバーを指す QR コードを生成します。ローカル IP を自動検出し、以降の実行では前回の設定を記憶します。

スマートフォンで Even Realities App を使って QR コードをスキャンすると、アプリがグラス上でホットリロードに対応して読み込まれます。

evenhub qr
evenhub qr --url "http://192.168.1.100:5173"
evenhub qr -i 192.168.1.100 -p 5173 --path /my-app
evenhub qr --url "http://192.168.1.100:5173" -e
オプション説明
-u, --url <url>完全な URL(その他の URL オプションを無視します)
-i, --ip <ip>IP アドレスまたはホスト名
-p, --port [port]ポート番号
--path <path>URL パス
--httpsHTTP の代わりに HTTPS を使用します
--httpHTTP を使用します(デフォルト)
-e, --externalQR コードをターミナルではなく外部プログラムで開きます
-s, --scale <n>ファイル出力時の拡大率(デフォルト:4)
--clearキャッシュされたスキーム、IP、ポート、パスをクリアします

evenhub pack

Even Hub で配布するために、アプリをパッケージ化します。

evenhub pack app.json dist -o myapp.ehpk
evenhub pack app.json ./build --check
引数/オプション説明
<json>app.json マニフェストのパス
<project>ビルド済み出力フォルダーのパス
-o, --output <file>出力ファイル名(デフォルト:out.ehpk)
--no-ignore隠しファイル(ドットファイル)を含めます
-c, --checkpackage_id が Even Hub で利用可能か確認します

シェル補完

evenhub --completion-bash
evenhub --completion-zsh
evenhub --completion-fish

app.json マニフェストリファレンス

フィールド一覧
フィールド型必須ルール
package_idstringはいリバースドメイン形式、小文字、ハイフンなし、セグメントは 2 個以上、各セグメントは小文字で始まること
editionstringはい"202601" であること
namestringはい最大 20 文字
versionstringはいSemver x.y.z
min_app_versionstringはいEven Realities App の最小バージョン(例:"2.0.0")
min_sdk_versionstringはいSDK の最小バージョン(例:"0.0.12")
entrypointstringはいビルドフォルダーを基準とした HTML エントリーポイントのパス
permissionsarrayはい権限オブジェクトの配列。[] も指定できます
supported_languagesarrayはい有効な値:en、de、fr、es、it、zh、ja、ko
テンプレート
{
  "package_id": "com.example.myapp",
  "edition": "202601",
  "name": "My App",
  "version": "0.1.0",
  "min_app_version": "2.0.0",
  "min_sdk_version": "0.0.12",
  "entrypoint": "index.html",
  "permissions": [],
  "supported_languages": ["en"]
}

権限の形式

permissions はオブジェクトの配列です。各オブジェクトには次の項目が必要です。

  • name(string、必須)— 権限識別子
  • desc(string、必須)— 説明、1~300 文字
  • whitelist(string[])— network 権限でのみ有効

有効な権限名: network、location、g2-microphone、phone-microphone、album、camera

よくある間違い: permissions はオブジェクトの配列である必要があります。キーと値のマップではありません。

// Correct
"permissions": [
  { "name": "network", "desc": "Access the internet", "whitelist": ["https://api.example.com"] },
  { "name": "location", "desc": "Access device location" }
]

// Wrong — do NOT use a map/object
"permissions": {
  "network": "Access the internet"
}

トラブルシューティング(evenhub pack)

エラー解決方法
Invalid package id小文字のリバースドメイン形式にし、セグメントを 2 個以上にします。ハイフン、大文字、先頭の数字は使用できません
name: must be 20 characters or fewerアプリ名を短くします
version: must be in x.y.z format3 つの部分からなる Semver を使用します
min_app_version/min_sdk_version: expected string, received undefined両方のフィールドが必須です。app.json に追加してください
permissions: each permission must be an objectname と desc フィールドを含むオブジェクトの配列を使用します
supported_languages: invalid languageサポート対象の ISO コードを小文字で使用します
Entrypoint file not foundファイルがビルドフォルダー内に存在することを確認します
Project folder not foundまず npm run build を実行します

タスク

$ARGUMENTS

コメント