> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Desktop テクノロジー スタック

Tauri シェル内部のテクノロジーとそれぞれの役割。

## 始める前に

Desktop アプリは意図的に薄く作られています: Rust コアがネイティブ ウィンドウを所有し、webview が Web アプリを読み込みます。以下のすべてはすでにチェックアウトに固定されています — このページは、後のガイドが理解できるよう各部分の役割を説明します。

プロダクト UI、認証、課金、AI はすべてウィンドウが読み込む Web コードベースにあります。Desktop 専用チェックアウトにはシェルだけが含まれます — このスタックが意図的に小さいのはそのためです。


## Tauri 2 + システム webview

Tauri 2 は OS 固有の webview — Windows の WebView2、macOS の WebKit、Linux の WebKitGTK — でアプリをレンダリングするため、シェルは小さく保たれ、バンドルされたブラウザー ランタイムを持ちません。`frontendDist` は `apps/desktop/ui` (Web アプリの読み込み中に表示されるブート ページ) を指すため、コールド スタートでも空白のウィンドウがレンダリングされません。

- [Tauri](https://tauri.app)


## Rust + TypeScript

シェルの動作は Rust — `src-tauri/src`、エディション 2021、最低 Rust 1.90 — で、cargo がビルドします。TypeScript で書かれた小さな Node スクリプトがリリース プレフライトとアップデーター マニフェストを処理します。

- [Rust](https://www.rust-lang.org)


## プラグインによるネイティブ機能

ウィンドウ状態、単一インスタンス、ディープリンク、グローバル ショートカット、トレイ、ログイン時の起動、アップデーター、外部リンクを開く、ダイアログ、プロセス制御はすべて `tauri-plugin-*` クレートから来ます — シェルは独自の IPC コマンドを追加しません。ネイティブ機能の追加とは、別のプラグインを登録するか、すでにあるものを配線することを意味します。


## tauri.conf.json + capabilities

バンドル識別子 `com.supastack.desktop`、ウィンドウ リスト、プラグイン オプション、アップデーター エンドポイントは `src-tauri/tauri.conf.json` にあります。webview の権限は `src-tauri/capabilities/default.json` にあります — 現在は `core:default` にシステム ブラウザー リンク用の `opener:allow-open-url` を加えたもの — で、ネイティブ機能が必要とするときのみ拡大されます。


## 検証ツール

cargo test は Rust ロジック — URL 解決、ナビゲーション ゲート、ディープリンク マッピング、アップデーター チャンネル、ズーム、ウィンドウ設定 — をカバーし、`node --check` はブート ページを検証し、`check:release-config` はリリース ビルドをゲートします。CI は 3 つすべての OS をビルドします。

```
corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop typecheck
corepack pnpm --filter @supastack/desktop check:release-config
```


## 次へ

[shellの起動と設定](https://supastack.dev/ja/docs/desktop/run.md)
