> ## 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

# 最初の機能を作る

ネイティブ シェルの 1 つの変更から検証済みウィンドウまでのエンドツーエンドのウォークスルー。

## 初心者向けのウォークスルー

前提条件: 以下の 2 つの初心者ガイドを読み、Desktop ローカル セットアップを完了し、このリポジトリをルートでエディターで開きます。シェルは起動時に SUPASTACK_APP_URL をターミナル設定として読みます — 保存された .env ファイルからではありません。

簡単に説明すると、ワークスペースは 1 つのチームの個別のユーザー、データ、設定です。サーバーは信頼できるバックエンドです。プロバイダー キーがブラウザーや電話コードに含まれないようにします。移行は、テーブルを作成または更新する、バージョン管理されたデータベースの変更です。 AI モデルは答えを返すエンジンです。モデル カタログは、使用可能なモデル ID と価格のサーバーのリストです。プロバイダーは、AI、電子メール、請求サービスなどの外部サービスです。資格は、ワークスペースで機能を使用できるようにする付与です。 Webhook は、あるサービスが別のサービスの URL に送信するメッセージです。

1. `.agents/skills/add-a-desktop-capability/SKILL.md` を開く — またはコーディング エージェントに従わせる — 小さなネイティブ変更を 1 つ行います。例えば新しい表示メニュー項目や別の呼び出しショートカット。

2. `cargo check` を実行し、シェルを起動し、開いたウィンドウで変更を実際に試します。

3. 出荷予定のすべての OS で繰り返します — トレイ、ショートカット、メニューの動作はプラットフォームごとに異なります。

カスタム コードでは、動作名、影響するメニューまたはショートカット、各 OS で起きるべきことを指定します。このタスクをコーディング エージェントに渡し、`AGENTS.md`、`.ai/PROJECT_CONTEXT.md`、および変更するファイルの `.ai/` ミラーを読ませ、編集前にファイルとチェックを列挙させ、差分を見せてもらいます。サンプル値を使用し、実際のシークレットは決して貼り付けないでください。

[始める前に](https://supastack.dev/ja/docs/desktop/before-you-start.md)

【端末の基本】(/docs/desktop/terminal-basics)

[デスクトップローカルセットアップ](https://supastack.dev/ja/docs/desktop/ship-in-5-minutes.md)

[エージェント プロンプトとプロジェクト メモリ](https://supastack.dev/ja/docs/desktop/agents.md)


## まずネイティブかプロダクトかを決める

ユーザーがプロダクト UI として体験するもの — 画面、データ、設定 — は Web アプリに属し、自動的にウィンドウに届きます。OS レベルの動作のみが Rust に属します: ウィンドウ、トレイ、メニュー、グローバル ショートカット、ログイン時の起動、更新チェック。

```
apps/desktop/src-tauri/src/lib.rs
apps/desktop/src-tauri/tauri.conf.json
apps/desktop/src-tauri/capabilities/default.json
```


## webview サンドボックスを厳しく保つ

webview は `capabilities/default.json` がリストするものだけを呼び出せます。新しいプラグインが必要な変更は、`Cargo.toml` にクレートを追加し、`lib.rs` に登録し、capabilities で最小限の権限を付与します — ワイルドカードは決して使いません。

永続化されたシェル状態 — ウィンドウ位置、ズーム、更新チャンネル、ウィンドウ設定 — は、手動で管理するファイルではなく、付属のサイドカーを通じてアプリのデータ ディレクトリーにあります。


## すべてのターゲット OS で検証する

cargo test を実行し、次に Windows、macOS、Linux で実際のウィンドウを開きます: ウィンドウ状態の復元、トレイへの閉じる、単一インスタンス フォーカス、変更を有効にした状態での呼び出しショートカット。1 つの OS が通っても他の 2 つは証明されません。

[ネイティブ メニューとウィンドウ設定](https://supastack.dev/ja/docs/desktop/menus.md)

[Desktop テスト チェックリスト](https://supastack.dev/ja/docs/desktop/testing.md)


## 次へ

[コーディングエージェントで構築する](https://supastack.dev/ja/docs/desktop/agents.md)
