This skill should be used when the user wants to build a Tauri v2 application, set up a new Tauri project, implement IPC communication with invoke/events/channels, configure tauri.conf.json, set up capabilities/permissions, develop for mobile (iOS/Android), integrate frontend frameworks (React/Vue/Svelte), use official Tauri plugins, or build and deploy a Tauri app. Covers the full Tauri v2 application development lifecycle.
From tauri-app-devnpx claudepluginhub utakatakyosui/c2lab --plugin tauri-app-devThis skill uses the workspace's default tool permissions.
references/build-deploy.mdreferences/frontend-integration.mdreferences/ipc-patterns.mdreferences/mobile-development.mdreferences/official-plugins.mdreferences/project-structure.mdreferences/security-capabilities.mdGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Reviews prose for communication issues impeding comprehension, outputs minimal fixes in a three-column table per Microsoft Writing Style Guide. Useful for 'review prose' or 'improve prose' requests.
Tauri v2 はマルチプロセスアーキテクチャを採用したクロスプラットフォームアプリフレームワーク。
対応プラットフォーム: Windows, macOS, Linux, iOS, Android
npm create tauri-app@latest
# または
cargo install create-tauri-app && create-tauri-app
プロンプトでフロントエンドフレームワークを選択(React / Vue / Svelte / Vanilla など)。
cd my-frontend-project
npm install --save-dev @tauri-apps/cli
npx tauri init
my-app/
├── src/ # フロントエンドソース
├── src-tauri/
│ ├── src/
│ │ ├── lib.rs # アプリエントリポイント
│ │ └── main.rs # バイナリエントリ
│ ├── capabilities/
│ │ └── default.json # 権限設定
│ ├── icons/ # アプリアイコン
│ ├── Cargo.toml
│ └── tauri.conf.json # Tauri 設定
├── package.json
└── ...
詳細: references/project-structure.md
Rust 側(src-tauri/src/lib.rs):
use tauri::command;
#[command]
async fn greet(name: String) -> String {
format!("Hello, {}!", name)
}
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![greet])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
TypeScript 側:
import { invoke } from '@tauri-apps/api/core';
const message = await invoke<string>('greet', { name: 'World' });
// フロントエンドでイベントをリッスン
import { listen } from '@tauri-apps/api/event';
const unlisten = await listen<string>('my-event', (event) => {
console.log(event.payload);
});
// クリーンアップ
unlisten();
// Rust 側からイベントを発火
use tauri::Emitter;
app.emit("my-event", "payload data").unwrap();
詳細: references/ipc-patterns.md
Tauri v2 は capabilities による明示的な権限管理を採用。
{
"$schema": "../gen/schemas/desktop-schema.json",
"identifier": "default",
"description": "Default capabilities",
"windows": ["main"],
"permissions": [
"core:default",
"shell:allow-open",
"fs:allow-read-text-file"
]
}
identifier: capabilities の一意な識別子(必須)windows: どのウィンドウに適用するかpermissions: 許可する権限のリスト詳細: references/security-capabilities.md
{
"build": {
"beforeDevCommand": "npm run dev",
"beforeBuildCommand": "npm run build",
"devUrl": "http://localhost:5173",
"frontendDist": "../dist"
}
}
フレームワーク別の設定: references/frontend-integration.md
# 開発サーバー起動(ホットリロード有効)
npm run tauri dev
# または
cargo tauri dev
# プロダクションビルド
npm run tauri build
# または
cargo tauri build
Tauri v2 には 40 以上の公式プラグインがある。
# Rust 依存関係
cargo add tauri-plugin-fs
# npm パッケージ
npm install @tauri-apps/plugin-fs
// src-tauri/src/lib.rs に登録
tauri::Builder::default()
.plugin(tauri_plugin_fs::init())
// ...
// フロントエンドで使用
import { readTextFile, BaseDirectory } from '@tauri-apps/plugin-fs';
const content = await readTextFile('config.json', {
baseDir: BaseDirectory.AppConfig,
});
主要プラグイン一覧: references/official-plugins.md
# iOS(macOS が必要)
npm run tauri ios init
npm run tauri ios dev
# Android
npm run tauri android init
npm run tauri android dev
{
"bundle": {
"iOS": {
"developmentTeam": "YOUR_TEAM_ID"
},
"android": {
"minSdkVersion": 24
}
}
}
詳細: references/mobile-development.md
# デスクトップビルド(インストーラー生成)
npm run tauri build
# 出力先
# src-tauri/target/release/bundle/
重要: Cargo.lock はコミットすること(再現性のため)。
詳細: references/build-deploy.md
references/project-structure.md - プロジェクト構成・tauri.conf.json 全設定項目references/ipc-patterns.md - invoke/events/channels の実装例(Rust + TypeScript)references/security-capabilities.md - capabilities JSON・CSP 設定・権限一覧references/mobile-development.md - iOS/Android 開発・TAURI_DEV_HOST 設定references/frontend-integration.md - React/Vue/Svelte 統合・beforeDevCommandreferences/official-plugins.md - 公式プラグイン 40+ 一覧・インストール方法references/build-deploy.md - ビルド・クロスコンパイル・デプロイ