コンテンツにスキップ

コマンドリファレンス

コマンドは mise のタスクとして定義されており、mise が管理するツール (Node / pnpm / Rust / Java / Perl など) が自動で PATH に入ります。

dev / build / tauri タスクは Infisical の infisical run を経由して実行されます。Infisical が管理しているのはリリース署名用の秘密鍵 (TAURI_SIGNING_PRIVATE_KEY、Android keystore など) のみで、通常の開発では必須ではありません。未ログインの場合は 代替コマンド を利用してください。

目的別に読む節をまとめています。Windows 版と Android 版は各節内で見出し分けしています。

やりたいこと Windows Android 詳細
開発起動する mise run dev mise tauri android dev 開発する
リリースビルドする mise run build mise tauri android build --apk -t aarch64 ビルドする
静的解析・テストする mise run lint / test / android-test (共通) — 検証する
その他 (ライセンス / ドキュメント / プレビュー / tauri 汎用) mise run generate-licenses / docs-dev / docs-build / pnpm preview (共通) mise tauri info 等 その他

引数の渡し方・未ログイン時の代替・CI との対応は 補足 にまとめています。

Windows — デスクトップ版の開発 (mise run dev)

Section titled “Windows — デスクトップ版の開発 (mise run dev)”

実体: infisical run -- pnpm tauri dev

Terminal window
mise run dev # 通常起動 (hot-reload 有効)
mise run dev -- --release # リリースモードで実行
mise run dev -- --no-watch # ファイル監視を無効化

tauri dev の主要引数:

引数 説明
--release リリースモードで実行
-t, --target <triple> ターゲット triple を指定
-f, --features <feat> cargo の features を有効化
--no-watch ファイル監視を無効化
--no-dev-server 組み込み dev server を無効化
--port <port> 静的ファイル用 dev server のポート (既定 1430)
-c, --config <path> 追加設定ファイルをマージ
-- [runnerArgs] -- [appArgs] -- で区切ってアプリに引数を渡す

Android — 実機・エミュレータでの開発 (tauri android dev)

Section titled “Android — 実機・エミュレータでの開発 (tauri android dev)”
Terminal window
mise tauri android dev # 接続中のデバイス/エミュレータで実行
mise tauri android dev -- -o # Android Studio を開く
mise tauri android dev -- --host # 実機向けに公開アドレスを使う
mise tauri android dev <device-id> # デバイスを指定
mise tauri android dev -- --release # リリースモード

Windows — デスクトップ版のリリースビルド (mise run build)

Section titled “Windows — デスクトップ版のリリースビルド (mise run build)”

実体: infisical run -- pnpm generate-licenses && infisical run -- pnpm tauri build

Terminal window
mise run build # 既定バンドルを生成 (Windows では MSI + NSIS)
mise run build -- --bundles msi # MSI のみ (リリースと同じ)
mise run build -- --no-bundle # バンドルなし (バイナリのみ)
mise run build -- -d # デバッグビルド
mise run build -- -t aarch64-pc-windows-msvc # クロスコンパイル

tauri build の主要引数:

引数 説明
-b, --bundles <msi|nsis> 生成するバンドルの種類
--no-bundle バンドル生成をスキップ
-d, --debug デバッグフラグ付きでビルド
-t, --target <triple> ターゲット triple を指定
-f, --features <feat> cargo の features を有効化
--no-sign コード署名をスキップ
-c, --config <path> 追加設定ファイルをマージ
--ci プロンプトを出さず実行

Android — APK / AAB のビルド (tauri android build)

Section titled “Android — APK / AAB のビルド (tauri android build)”
Terminal window
mise tauri android build --apk # APK を生成 (全 ABI)
mise tauri android build --apk -t aarch64 # aarch64 のみ (リリースで使用)
mise tauri android build --aab # AAB を生成
mise tauri android build --split-per-abi # ABI ごとに分割
mise tauri android build -- -o # 完了後 Android Studio を開く
引数 説明
--apk / --aab 生成形式 (既定は両方)
-t, --target <aarch64|armv7|i686|x86_64> 対象 ABI (既定は全部)
--split-per-abi ABI ごとの APK/AAB 分割
-d, --debug デバッグビルド
-o, --open ビルド後に Android Studio を開く
--ci プロンプトを出さず実行

実体: pnpm lint (oxlint)

Terminal window
mise run lint # 通常実行
mise run lint -- --fix # 自動修正
mise run lint -- --quiet # warning を非表示
mise run lint -- -D correctness # カテゴリ単位で指定 (-A 許可 / -W 警告 / -D エラー)
mise run lint -- -f json # 出力形式 (default / json / junit / github など)
mise run lint -- --max-warnings 10
mise run lint -- src/components/foo.tsx # ファイル/パスを指定

実体: cargo test (src-tauri 内)

Terminal window
mise run test # ユニットテスト (パーサーなど)
mise run test -- -- --ignored # WSA 実機が必要な結合テスト
mise run test -- parser # テスト名でフィルタ
mise run test -- -- --nocapture # println 出力を表示
  • 1 つ目の -- は mise が取り除いてタスクへ渡します。cargo test のテストバイナリへの引数 (--ignored など) は cargo 自身の -- も必要なので -- -- と 2 重になります。
  • --ignored のテストは src-tauri/tests/adb_test.rs で、WSA が開発者モードで起動し ADB サーバー (127.0.0.1:58526) が応答する環境が必要です。

mise run android-test — Android ユニットテスト

Section titled “mise run android-test — Android ユニットテスト”

実体: ./gradlew test / gradlew.bat test (src-tauri/gen/android 内、OS により切替)

Terminal window
mise run android-test # 全テスト
mise run android-test -- --tests "クラス名" # テストを絞り込み
  • src-tauri/gen/android で gradlew test を実行します (Windows では gradlew.bat、Robolectric)。
  • fresh checkout では事前に mise run pipeline:codegen が必要です (gen/android の生成 Kotlin コード・gradle 設定・libs/rustls-platform-verifier.aar が git 管理外のため。gen/android 本体は管理済みなので android init は不要。詳細は Pipeline)。

mise run tauri ... — tauri CLI パススルー

Section titled “mise run tauri ... — tauri CLI パススルー”

実体: infisical run -- pnpm tauri

Terminal window
mise tauri info # 環境情報 (Rust / Node / 設定) の確認
mise tauri android init # Android プロジェクトを初期化 (作り直す場合のみ。通常は pipeline:codegen を使う)
mise tauri icon <png> # アイコン生成
mise tauri signer generate # アップデーター用署名キー生成

mise run generate-licenses — ライセンス生成

Section titled “mise run generate-licenses — ライセンス生成”

実体: pnpm generate-licenses

Terminal window
mise run generate-licenses
  • scripts/generate-licenses.ts が JS と Rust (cargo-about) の依存を収集し、アプリ内ライセンスタブのデータを再生成します。tauri dev / tauri build の beforeDevCommand / beforeBuildCommand でも自動実行されます。

mise run docs-dev / docs-build — ドキュメントサイト

Section titled “mise run docs-dev / docs-build — ドキュメントサイト”
Terminal window
mise run docs-dev # 開発サーバー (http://localhost:4321)
mise run docs-build # 静的サイトをビルド + リンク検証 (site/dist)
  • site/ は Astro Starlight で構築されています。
  • デプロイ時は BASE_PATH=/WSA_RPC_Bridge/docs/ を設定してビルドします (GitHub Pages のサブパス配下で配信するため)。docs-build タスクは既定でこの値を使い、環境変数で上書きできます。

実体: vite preview

Terminal window
pnpm preview # dist をローカルサーバーで配信
pnpm preview -- --port 8080 # ポート指定
pnpm preview -- --open # ブラウザで自動オープン

mise run <task> -- <args> の形式ではありません。pnpm を直接実行してください。

mise run <task> -- <args> の形式で引数を渡せます (-- 以降がタスクのコマンドにそのまま渡ります)。mise run tauri ... は mise tauri ... と略記できます。

Infisical 未ログイン時の代替コマンド

Section titled “Infisical 未ログイン時の代替コマンド”

dev / build / tauri は infisical run を挟むため、ログインしていないと失敗します。その場合は pnpm を直接実行してください。pnpm tauri ... は -- 不要で引数がそのまま tauri CLI に渡ります。

mise タスク 代替コマンド
mise run dev [引数] pnpm tauri dev [引数]
mise run build [引数] pnpm tauri build [引数]
mise tauri <サブコマンド> [引数] pnpm tauri <サブコマンド> [引数]
Terminal window
pnpm tauri dev # 通常起動
pnpm tauri dev --release # リリースモード
pnpm tauri build --bundles msi # MSI のみビルド
pnpm tauri android build --apk -t aarch64 # Android APK (aarch64)
  • runner (cargo など) へ引数を渡す場合のみ -- が必要: pnpm tauri dev -- -- [runnerArgs]
  • deps / lint / test / android-test / generate-licenses は infisical を使わないため、ログイン状態に関係なく mise run で実行できます
  • 注意: 未ログインビルドには署名用秘密鍵が注入されないため、署名済みの成果物 (署名付き APK / アップデーター署名) は生成されません。開発用の dev 実行には影響しません。リリース署名が必要な場合はログインして mise run build を使ってください。

依存インストール (mise run deps / 実体 pnpm install) も infisical を使わないため、そのまま実行できます。

ローカルで CI 相当の検証を行う場合、ci.yml は以下を順に実行しています:

  1. mise run deps
  2. mise run generate-licenses
  3. mise run docs-deps (type-aware lint が site/ の tsconfig も解決するため)
  4. mise run lint
  5. pnpm tauri build (署名鍵あり)
  6. mise run test
  7. mise run android-test (別ジョブで mise run pipeline:codegen を経由)

リリース (release.yml / リリース) で使われるビルドコマンド:

Terminal window
pnpm tauri android build --apk --target aarch64 # Android APK (aarch64)
pnpm tauri build --bundles msi # Windows MSI