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