コンテンツへスキップ
supastack
ドキュメントを閲覧
デスクトップTauri

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /ja/docs/desktop/project-structure.md (or send Accept: text/markdown).

プロジェクト構造

Rust シェル、ブート ページ、リリース スクリプト、Web アプリとの境界を見つけます。

このガイドについて質問
開くアプリ

インストールとセットアップ

すべてのステップの前に、開始する前にとターミナルの基本を読みます。package.json を含むフォルダーであるルートで supastack フォルダーを開きます。Desktop チェックアウトには apps/desktop とそのリリース スクリプトが含まれ、All Platforms モノレポには Web バックエンドとモバイル アプリも追加されます。環境変数とは、ローカルの .env ファイルまたはホスティング ダッシュボードに保存された名前付き設定です。シェルは SUPASTACK_APP_URL をファイルからではなくターミナル設定として読みます。

1. apps/desktop/src-tauri/src/lib.rs を開きます — すべてのネイティブ動作はこの 1 つのファイルにあります。

2. apps/desktop/src-tauri/ を閲覧します — 構成、capabilities、アイコン。

3. リポジトリ ルートから corepack pnpm --filter @supastack/desktop dev を到達可能なバックエンドで実行します。

チェックアウトには Tauri シェルのみが含まれます: Rust ソース、その構成、ブート ページ、リリース スクリプト。プロダクト画面はウィンドウが読み込む Web アプリにあります — Desktop 専用チェックアウトには独自のアプリ画面がありません。動作を変更する前に AGENTS.md と .ai/PROJECT_CONTEXT.md を読んでください。.ai/ ミラー ドキュメントは、ファイルだけからは見えない決定を記録しています。

apps/desktop/src-tauri/src/    Rust — window, tray, menus, deep links, updater
apps/desktop/src-tauri/        tauri.conf.json, capabilities/, Cargo.toml, icons
apps/desktop/ui/               Boot page (index.html + boot.js) shown while loading
apps/desktop/scripts/          Release preflight + update manifest
docs/                          Runbooks incl. desktop updates
.agents/skills/                Task guides for coding agents

変更が属する場所

編集前に、どちら側が変更を所有するか決めます: ユーザーがプロダクト UI として見るものは Web アプリに属し、OS レベルの動作のみが Rust に属します。

  • ウィンドウ、トレイ、メニュー、ショートカット、単一インスタンスの動作 → apps/desktop/src-tauri/src/lib.rs。
  • 新しい webview 権限 → apps/desktop/src-tauri/capabilities/default.json — ネイティブ機能が必要とするときのみ拡大します。
  • バンドル識別子、バージョン、アップデーター エンドポイント、プラグイン オプション → apps/desktop/src-tauri/tauri.conf.json。
  • プレースホルダー製品アイコン → placeholder-icon.png を置き換えてアイコン スクリプトを実行します。
  • ブート、読み込み、オフライン オーバーレイの動作 → apps/desktop/ui/。
  • プロダクト画面、設定、データはすべて → Web アプリ リポジトリ — シェルはプロダクト UI をフォークしません。

実装ワークフロー

ネイティブな変更では、lib.rs を編集し、cargo check と Rust テストを実行し、各ターゲット OS でウィンドウを実際に操作します — トレイ、ショートカット、ディープリンクの動作はプラットフォームごとに異なります。.agents/skills/ の add-a-desktop-capability スキルが同じ順序をたどります。

検証とトラブルシューティング

cargo check はコンパイル エラーを捕捉し、cargo test は純粋なロジックをカバーします。真の検証は Windows、macOS、Linux で実行されるウィンドウです — トレイ、ショートカット、ディープリンクはテストだけでは証明できません。

corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop typecheck