mcpField
I
init-tauri-app

init-tauri-app

github.com/glebis開発40149 回インストール1 日前に更新
リポジトリ

init-tauri-app について

init-tauri-app は、Tauri v2 のデスクトップアプリを作成するスキルです。公式スキャフォルダーで基盤を生成し、規約ファイルと選択したモジュールを追加します。

主な機能

  1. 01Tauri v2 プロジェクトの生成
  2. 02React、SvelteKit、Vanilla TypeScript に対応
  3. 03規約ファイルと基本設定の適用
  4. 04CLI、MCP、SQLite などの追加モジュール
  5. 05JTBD による製品情報の取り込み
  6. 06ビルドとバージョンの検証

活用シーン

  1. 01Tauri デスクトップアプリの新規作成
  2. 02CLI と MCP 機能の追加
  3. 03SQLite やシステムトレイの選択
  4. 04JTBD から製品ドキュメントを生成

MCP 対応

オプションで CLI+MCP モジュールを選択でき、生成した Tauri プロジェクトに関連ファイルを追加します。

インストール

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

$npx skills add https://github.com/glebis/claude-skills --skill init-tauri-app

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
.gitkeep
assets/core/
AGENTS.md
CLAUDE.md
CONTRIBUTING.md
gitignore
mcp.json
node-version
README.md
rust-toolchain.toml
assets/core/capabilities/
default.json
assets/core/scripts/
check-versions.sh
assets/jtbd/
agents-product-section.md.template
guardrails-check.md.template
jtbd-map.md
PRODUCT.md.template
assets/jtbd/fixtures/
malformed-jtbd.json
sample-jtbd.json
assets/modules/cli-mcp/
capability.json
cargo-deps.toml
cli.rs
INSERT.md
mcp.rs
protocol.rs
assets/modules/release-preflight/
ci.yml
INSERT.md
preflight.sh
release.sh
release.yml
assets/modules/sqlite/
cargo-deps.toml
compat_golden.rs

詳細

init-tauri-app

2 つの本番アプリ(cenno、cull)で実証された規約をあらかじめ適用した、新しい Tauri v2 プロジェクトをスキャフォールドします。バージョンに応じて更新されるボイラープレートは公式スキャフォルダーに任せたうえで、長期的に使える規約レイヤーと、ユーザーが選択したオプトインモジュールを適用します。

使用するタイミング

  • 「新しい Tauri アプリを開始する」「Tauri プロジェクトを初期化する」「Tauri デスクトップアプリをスキャフォールドする」。

前提条件(スキャフォールド前に確認)

  • node と npm が PATH 上にあること(node --version)
  • cargo と rustc が PATH 上にあること(cargo --version)
  • Swift サイドカーモジュールを選択した場合に限り、macOS と Xcode CLT が必要です

手順

1. 入力を収集する(AskUserQuestion)

次の項目をまとめて尋ねます。

  • アプリ名(kebab-case)。^[a-z][a-z0-9-]*$ に一致することを検証します。
  • 識別子(逆引き DNS 形式、デフォルトは com.glebkalinin.<name>)。
  • ターゲットディレクトリ(デフォルトは ~/ai_projects/<name>)。存在していて空でない場合は中止します。
  • フロントエンドフレームワーク: react-ts | svelte-kit | vanilla-ts。
  • モジュール(複数選択):CLI+MCP · SQLite · Tray/Updater · Release/Preflight · Swift sidecar。
  • JTBD アーティファクト(任意): jtbd.json のパス。指定されていない場合、スキルは ./jtbd.json、次に ~/jtbd/<name>/jtbd.json を自動検出します。Step 1.5 を参照してください。

Swift sidecar が選択されているものの、ホストが macOS でない、または xcrun --find swift が失敗する場合は、警告して選択を解除します。

1.5 JTBD を取り込む(任意、追加)
  1. 解決: アーティファクトを次の順に確認し、最初に見つかったものを使用します:明示的なパス → ./jtbd.json → ~/jtbd/<name>/jtbd.json。見つからない場合はこの手順全体をスキップします(製品コンテキストが空のままスキャフォールドを進めます。エラーにはなりません)。
  2. 確認: アーティファクトの hook を表示し、使用前にユーザーに確認します。拒否された場合はスキップします。
  3. 検証: アーティファクトを解析でき、name、hook、jtbd が含まれている必要があります。満たさない場合は警告して取り込みをスキップします(スキャフォールドは中止しません)。render-jtbd.sh は無効な入力に対して終了コード 3 を返します。これは「スキップ」として扱います。
  4. 事前入力: 有効な場合、アプリ名のデフォルトを name に、識別子のデフォルトを com.glebkalinin.<name> に設定します(Step 1 ですでに選択されていない場合は、引き続きユーザーに確認します)。
  5. アーティファクトは Step 3(コアレイヤー)で書き込みます。JTBD ブロックを参照してください。
2. ベースをスキャフォールドする
cd <parent-of-target>
npm create tauri-app@latest <name> -- --template <framework> --manager npm --yes

次に、cd <target> && npm install を実行します。

既知の上流の修正(現行の rustc + Tauri 2.11.x): 素のスキャフォールドでは、最初の cargo check が cookie/time に関する error[E0119] で失敗することがあります(間接依存の cookie 0.18.1 と time 0.3.48 に起因)。これはスキルの不具合ではなく、新規の create-tauri-app であればどれでも発生します。発生した場合は、src-tauri/ 内で一度だけ cargo update -p time --precise 0.3.47 を実行してから、再度チェックしてください。

3. コアレイヤーを適用する

assets/core/ のすべてのファイルをプロジェクトにコピーし、以下の表に従って名前を変更したうえで、 ベースラインゲートを実行します。AGENTS.md と README 内の <name>(およびトークンがある場合は <identifier>)を置き換えます。

アセットコピー先
core/AGENTS.mdAGENTS.md
core/CLAUDE.md.claude/CLAUDE.md
core/gitignore.gitignore(マージ:まだ存在しない共通行のみを追加します。コメント見出しを含め、すでに存在する行はスキップします)
core/rust-toolchain.tomlsrc-tauri/rust-toolchain.toml
core/node-version.node-version
core/mcp.json.mcp.json
core/capabilities/default.jsonsrc-tauri/capabilities/default.json(上書き)
core/scripts/check-versions.shscripts/check-versions.sh(実行権限を付与)
core/README.mdREADME.md
core/CONTRIBUTING.mdCONTRIBUTING.md

Step 1.5 で JTBD アーティファクトが確認された場合は、さらに以下を実行します:

  • scripts/render-jtbd.sh <artifact> assets/jtbd/PRODUCT.md.template <artifact-path> で assets/jtbd/PRODUCT.md.template を docs/PRODUCT.md にレンダリングします。
  • assets/jtbd/guardrails-check.md.template を docs/internal/guardrails-check.md にレンダリングします。
  • assets/jtbd/agents-product-section.md.template をレンダリングし、最初の見出しの直後に AGENTS.md へ挿入します(ファイルの先頭に製品コンテキストを配置します)。
  • アーティファクトをそのままプロジェクトルートの jtbd.json にコピーします(ソースは変更しないでください)。
  • フィールドとコピー先の詳細:assets/jtbd/jtbd-map.md。

空の追跡対象ディレクトリ docs/internal/.gitkeep と docs/.gitkeep を作成します。 tsconfig.json で strict、noUnusedLocals、noUnusedParameters が true になるようにし、TS strict を有効にします。

ゲート: cd src-tauri && cargo check と cd .. && npm run build を実行します。どちらもモジュールの適用前に成功する必要があります。

4. 選択したモジュールを組み込む

選択した各モジュールについて、次の順序で作業します(cli-mcp、sqlite、tray-updater、swift-sidecar、 release-preflight)。assets/modules/<m>/INSERT.md を開き、記載された手順に正確に従います。そこにはコピーするファイル、src-tauri/Cargo.toml [dependencies] にマージする Cargo 依存関係、および src-tauri/src/lib.rs(tauri::generate_handler![...])と src-tauri/src/main.rs の挿入箇所が記載されています。

各モジュールの適用後: cd src-tauri && cargo check を実行します。失敗した場合は、次に進む前に、適用したばかりのマージを修正します(失敗箇所は現在のモジュールに絞り込まれます)。フロントエンドまたはスクリプト部分を含むモジュールでは、該当する INSERT.md に記載されたチェックも実行します。

5. 最終確認と引き継ぎ
  • cd src-tauri && cargo check → 成功する必要があります
  • npm run build → 成功する必要があります
  • bash scripts/check-versions.sh → 成功する必要があります
  • git init && git add -A && git commit -m "chore: scaffold via init-tauri-app" を提案します。
  • 概要を出力します:フレームワーク、適用したモジュール、スキップしたモジュール(理由を含む)、次に実行するコマンド(npm run tauri dev)。

コメント