capacitor-platforms について
Capacitor アプリに Capawesome の Electron または Tauri でデスクトップ対応を追加するスキルです。macOS、Windows、Linux 向けの選定、互換性確認、設定、パッケージ化を案内します。
主な機能
- 01Electron と Tauri の選定ガイド
- 02プラグイン互換性の確認
- 03Capacitor の追加と同期手順
- 04デスクトップ設定とディープリンク
- 05アプリのパッケージ化手順
活用シーン
- 01Capacitor アプリのデスクトップ基盤選定
- 02Tauri 採用前のプラグイン確認
- 03デスクトップアプリのビルドと配布準備
MCP 対応
このスキルでは、Capawesome MCP server と Capacitor MCP server の2つのホスト型ドキュメント MCP サーバーを紹介します。各サーバーの `search_docs` と `get_doc_page` ツールで、担当領域の最新ドキュメントを参照できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ capawesome-team/ skills --skill capacitor-platformsインストール後、Claude Code で/capacitor-platformsを入力して読み込まれたか確認します。
同梱ファイルreferences/electron.mdreferences/tauri.md
詳細
Capacitor プラットフォーム(デスクトップ)
Capawesome のデスクトッププラットフォーム @capawesome/capacitor-electron と @capawesome/capacitor-tauri を使って、Capacitor アプリを macOS、Windows、Linux に対応させましょう。どちらも標準の Capacitor ワークフロー(cap add / cap sync / cap run)を使用し、Capacitor.isNativePlatform() は true を返します。また、標準の @capacitor/app イベントを通じてディープリンクを配信します。
前提条件
| 要件 | Electron | Tauri |
|---|---|---|
| Node.js | LTS(18+) | LTS(18+) |
| Capacitor | 6+ | 8+ |
| Electron | >= 28(スキャフォールドによってインストール) | — |
| Rust ツールチェーン + システム依存関係 | — | 必須 — Tauri の前提条件ガイドを参照してください |
Capacitor 6 および 7 では、Capacitor CLI はプラットフォームフックの終了コードを無視するため、npx cap sync が失敗しても成功と報告されます。ログ出力に [capacitor-electron] のエラーがないか確認してください。Capacitor 8 ではコマンドが適切に失敗します。
エージェントの動作
- 質問する前に自動検出します。
package.jsonと Capacitor の設定を読み取り、ユーザーに尋ねる前にインストール済みのプラットフォームとプラグインを特定してください。 - まずプラットフォーム選びを支援します。 ユーザーが Electron または Tauri をまだ選んでいない場合は、ステップ 1 を適用してください。通常、プラグイン要件によって選択肢が決まります。
- Capacitor CLI コマンドでは、必ず完全なパッケージ名を使用します(例:
npx cap sync @capawesome/capacitor-electron)。npx cap sync electronやnpx cap sync tauriのようにパッケージ名を省略すると、何も実行されず、通知もありません。 - プラグインの互換性を早い段階で確認します。 Tauri では、アプリの Capacitor プラグインを列挙し、推奨する前に各プラグインがウェブ実装または厳選されたシムで対応されていることを確認してください(
references/tauri.mdを参照)。
MCP サーバー
現在のドキュメントを提供するホスト型 MCP サーバーが 2 つあり、どちらもこのスキルに同梱されたガイダンスより常に最新です。
- Capawesome MCP サーバー — Capawesome のプラグイン、Capawesome CLI、Capawesome Cloud。
- Capacitor MCP サーバー(非公式)— Capacitor 自体:CLI、
capacitor.configファイル、ネイティブ Android および iOS プロジェクト、公式プラグイン API。
どちらも search_docs と get_doc_page を提供しているため、どちらかを呼び出す前にトピックに応じてサーバーを選んでください。
- MCP ツールを利用できる場合は、 トピックを担当するサーバーで
search_docsを呼び出し、該当ページをget_doc_pageで読んでから、以下のガイダンスを適用してください。両者の内容が異なる場合は、ドキュメントに従ってください。 - 利用できない場合は、 以下のコマンドでサーバーを追加できることを一度だけ伝えてから、このスキルに従って作業を続けてください。サーバーが使えるようになるまで作業を止めてはいけません。
claude mcp add --transport http capawesome "https://mcp.capawesome.io/mcp"
claude mcp add --transport http capacitor "https://capacitor-mcp.capawesome.io/mcp"
ドキュメントの利用にアカウントやトークンは必要ありません。Capawesome Cloud ツールを含む完全なセットアップについては、capawesome-mcp および capacitor-mcp スキルを参照してください。
手順
ステップ 1:プラットフォームを選ぶ
| アプリに必要なもの… | 選択肢 |
|---|---|
| ネイティブ(Node)デスクトップ実装を備えた Capacitor プラグインの再利用 | Electron |
| ウェブバンドルの OTA アップデート | Electron(@capawesome/capacitor-live-update >= 8.5.0 を介した Capawesome Cloud Live Updates。Capacitor 8 が必要 — references/electron.md を参照。Tauri はウェブアセットをバイナリにコンパイルするため、署名済みバイナリ全体のアップデートのみ) |
| すべての OS で単一の予測可能な Chromium を使用 | Electron |
| 最小のバイナリ(約 3~10 MB 対 約 85~120 MB)と最小のメモリ使用量 | Tauri |
| デフォルト拒否のセキュリティモデルと Rust コア | Tauri |
| 開発環境/CI に Rust ツールチェーンがない | Electron |
Tauri のトレードオフは仕様であり、バグではありません。Node ランタイムがない(そのため任意の Capacitor プラグインを再利用できない)、OS ごとに 3 種類の異なるシステム WebView がある(WKWebView/WebView2/WebKitGTK)、ウェブバンドルの OTA がない、Rust ツールチェーンが必須、といった制約があります。判断に迷う場合は、Tauri プラットフォームの README の「正直な制限事項」セクションをお読みください。
ステップ 2:プラットフォームをインストールして追加する
Electron:
npm install @capawesome/capacitor-electron
npx cap add @capawesome/capacitor-electron
cd electron && npm install && cd ..
次に、アプリのルートにある package.json に postinstall スクリプトを追加し、Electron の依存関係がメインアプリの依存関係と常にまとめてインストールされるようにします。
{
"scripts": {
"postinstall": "cd electron && npm ci && cd .."
}
}
Tauri(まず rustc --version が動作することを確認してください。動作しない場合は中止し、ユーザーにTauri の前提条件を案内してください):
npm install @capawesome/capacitor-tauri
npx cap add @capawesome/capacitor-tauri
どちらのスキャフォールドにも、ユーザーが管理するファイル(設定、アイコン、数行のエントリーポイント)のみが含まれます。実行時ロジックはすべてバージョン管理されたパッケージ/クレートにあり、npm update/cargo update で更新されます。
ステップ 3:同期して実行する
npx cap sync @capawesome/capacitor-electron # or @capawesome/capacitor-tauri
npx cap run @capawesome/capacitor-electron # or @capawesome/capacitor-tauri
Electron の同期では、ウェブアセットをコピーし、プラグインマニフェストを再生成します。Tauri の同期ではさらに、アプリの Capacitor プラグイン依存関係をスキャンし、デフォルトですべてを拒否するケイパビリティファイル、厳選された tauri-plugin-* クレート依存関係、Rust のプラグイン登録を生成します。
どちらのプラットフォームでもライブリロードを行うには、Capacitor の設定で server.url をローカルの開発サーバーに設定してから、プラットフォームを実行してください。詳細はプラットフォームのリファレンスを参照してください。
ステップ 4:設定する
- Electron:
electron/capacitor.electron.config.tsの型付きオプション(ウィンドウ、CSP、ディープリンク、フック)。references/electron.mdを参照してください。 - Tauri:
src-tauri/tauri.conf.json(ウィンドウ、CSP、plugins.deep-link.desktop.schemesによるディープリンク、バンドル)。references/tauri.mdを参照してください。
ステップ 5:配布用にパッケージ化する
- Electron:
cd electron && npm run pack(electron-builder。ランタイムとプラグイン実装を自動的にバンドルします)。references/electron.mdを参照してください。 - Tauri:
npx cap sync @capawesome/capacitor-tauri && npx tauri build(OS ごとのネイティブインストーラー)。references/tauri.mdを参照してください。
リファレンス
references/electron.md— スキャフォールドの構成、設定、ライブリロード、ディープリンク、プラグインのサポートとプラグイン開発の契約、パッケージ化とバンドル、アプリの更新(バイナリ更新とライブアップデート)、@capacitor-community/electronからの移行。references/tauri.md— Rust の前提条件、スキャフォールドの構成、同期時のコード生成、プラグインのティアモデル(組み込み/厳選/ウェブフォールバック)、設定、ライブリロード、ディープリンク、パッケージ化、制限事項についての正確な説明。
関連スキル
capacitor-app-creation— デスクトッププラットフォームを追加する前に、新しい Capacitor アプリを作成します。capacitor-app-development— Capacitor の一般的な開発トピック、設定、トラブルシューティング。capacitor-plugins— デスクトッププラットフォームのサポート状況の確認を含め、Capacitor プラグインをインストールして設定します。capawesome-cloud— Electron プラットフォーム向けに Capawesome Cloud ライブアップデートを設定します(Android/iOS と同じアプリおよび設定を使用します)。capawesome-mcp— MCP クライアントをホストされた Capawesome MCP サーバーに接続し、常に最新のドキュメントを参照したり、Capawesome Cloud を管理したりします。