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

# 組織と招待

デモ組織サイクルを提供：作成、切り替え、招待、ロール、退出、危険ゾーン削除。

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

手順の前に、[始める前に](https://supastack.dev/ja/docs/web/before-you-start.md) と [ターミナルの基本](https://supastack.dev/ja/docs/web/terminal-basics.md) をお読みください。これらの手順では、VS Code で完全な supastack モノリポジトリを開いたことが前提となっています。そのルート package.json はリポジトリのルートをマークします。 pnpm コマンドでは、ワークスペース パッケージはアプリまたは共有コード フォルダーです。この製品では、ワークスペースはチームのデータ コンテナであり、セキュリティ境界です。 corepack pnpm --filter ... コマンドがルートから実行されている間にモノリポジトリから 1 つのパッケージを選択します。同期されたモバイル フォルダーまたはデスクトップ フォルダーのみを開いた場合、そのフォルダーには Web バックエンド、Docker セットアップ、またはルート スクリプトが含まれていません。このモノリポジトリまたはアクセス可能なホスト サーバーからバックエンドを実行し、プラットフォーム フォルダー独自のスクリプトを使用します。環境変数は、ローカルの .env ファイルまたはホスティング ダッシュボードに保存される名前付き設定です。変更後に関連するアプリを再起動し、NEXT_PUBLIC_ および EXPO_PUBLIC_ 値にサーバー シークレットが含まれないようにします。

1. corepack pnpm --filter @supastack/web dev を使用してリポジトリ ルートから Web アプリを起動し、テスト アカウントを作成します。

2. 組織の設定画面を開き、テスト ワークスペースを作成し、[設定] → [メンバー] から 2 番目のテスト電子メールを招待します。ワークスペースは、メンバーとレコードを所有するチームの境界です。

3. 同じ電子メールでサインインした状態で招待を受け入れます。予期: 2 番目のアカウントは、割り当てられたロールで招待されたワークスペースに入ることができますが、所有者のみのアクションを管理することはできません。

組織ワークスペースは packages/db で個人ワークスペースと区別されます。サインアップ後、オンボーディングゲート（/onboarding、/new-organization、/select-organization、/choose-plan）は課金と製品設定の前にユーザーをアクティブな組織へ押し込みます。

招待は保留中の workspace_invitation 行を作成し、/invite/[token] 受け入れ URL 付きのトランザクションメールを送信します。受け入れには一致するセッションメールが必要です。メンバーリスト、ロール、退出は /settings/members にあり、名前変更/削除と退出は /organization/settings にも現れます。

```
Routes
  /new-organization
  /select-organization
  /invite/[token]
  /settings/members
  /organization/settings

Server actions
  createOrganizationAction
  createWorkspaceInviteAction
  acceptWorkspaceInviteAction
  updateMemberRoleAction
  leaveOrganizationAction
  renameOrganizationAction
  deleteOrganizationAction
```


## コピーするコマンド

コメントに従って、コマンドがどのフォルダーで実行されるかを確認します。 2 つのターミナルにラベルが付いている場合は、2 つのターミナル ウィンドウを開き、2 番目のコマンドを使用している間、最初のコマンドを実行し続けます。

```
corepack pnpm --filter @supastack/web dev
```


## 実装ワークフロー

アクティブなワークスペースを Cookie → ユーザー設定 → メンバーシップから解決し、すべての書き込みでメンバーシップを検証します。オーナーと管理者が招待/ロールを管理します。唯一のオーナーは退出も自己降格もできません。

メンバーシップを変更する前に @supastack/db の evaluateLeaveOrganization と evaluateMemberRoleUpdate を優先してください。inAppProduct が有効なとき、成功した変更後に member.left / member.role_changed のアプリ内通知を発行します。

プラットフォーム管理は個別に出荷される境界です。プラットフォーム管理者のみがユーザー、禁止、偽装を管理できます。ワークスペースの所有者/管理者の役割では、プラットフォームへのアクセスは許可されません。文書化された組織の役割は、所有者、管理者、およびメンバーです。


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

招待リンクにメールが一致しないと表示されている場合は、メールを受信した正確なアドレスを使用してサインインしてください。招待メールが見つからない場合は、再送信する前にローカルメールの結果を確認してください。メンバーが組織を表示できない場合は、正しいワークスペースに切り替えてメンバーシップを確認してください。ブラウザから別の workspaceId を渡してこれを修正しないでください。

対象 Vitest：ワークスペース退出/ロールヘルパー、招待受け入れ、組織オンボーディングゲート。手動：組織作成 → 招待 → 2 番目のアカウントで受け入れ → ロール変更 → 非オーナーとして退出 → 入力確認でオーナーとして削除。


## 次へ

[オンボーディングフロー](https://supastack.dev/ja/docs/web/onboarding.md)
