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 /ko/docs/web/organizations.md (or send Accept: text/markdown).
조직 및 초대
데모 조직 사이클 제공: 생성, 전환, 초대, 역할, 나가기, 위험 구역 삭제.
설치 및 설정
어떤 단계를 시작하기 전에 시작하기 전에 및 터미널 기본 사항을 읽어보세요. 이 지침에서는 VS Code에서 전체 supastack 단일 저장소를 열었다고 가정합니다. 해당 루트 package.json은 저장소 루트를 표시합니다. pnpm 명령에서 작업 영역 패키지는 앱 또는 공유 코드 폴더입니다. 제품에서 작업공간은 팀의 데이터 컨테이너이자 보안 경계입니다. corepack pnpm --filter ... 명령이 해당 루트에서 실행되는 동안 monorepo에서 하나의 패키지를 선택합니다. 동기화된 모바일 또는 데스크톱 폴더만 열었다면 웹 백엔드, Docker 설정 또는 루트 스크립트가 포함되지 않습니다. 이 모노 저장소 또는 연결 가능한 호스팅 서버에서 백엔드를 실행하고 플랫폼 폴더의 자체 스크립트를 사용하세요. 환경 변수는 로컬 .env 파일이나 호스팅 대시보드에 저장된 명명된 설정입니다. 관련 앱을 변경한 후 다시 시작하고, NEXT_PUBLIC_ 및 EXPO_PUBLIC_ 값에서 서버 비밀을 유지하세요.
1. corepack pnpm --filter @supastack/web dev를 사용하여 리포지토리 루트에서 웹 앱을 시작하고 테스트 계정을 만듭니다.
2. 조직 설정 화면을 열고 테스트 워크스페이스를 생성한 후 설정 → 구성원에서 두 번째 테스트 이메일을 초대합니다. 작업 영역은 구성원과 레코드를 소유하는 팀 경계입니다.
3. 동일한 이메일로 로그인한 상태에서 초대를 수락합니다. 예상: 두 번째 계정은 할당된 역할을 사용하여 초대된 작업 영역에 들어갈 수 있지만 소유자 전용 작업을 관리할 수는 없습니다.
조직 워크스페이스는 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복사 명령
설명을 따라 명령이 실행되는 폴더를 확인하세요. 두 개의 터미널에 레이블이 지정되어 있으면 두 개의 터미널 창을 열고 두 번째 명령을 사용하는 동안 첫 번째 명령을 계속 실행하세요.
corepack pnpm --filter @supastack/web dev구현 워크플로
활성 워크스페이스를 쿠키 → 사용자 선호도 → 멤버십에서 해석한 다음 모든 쓰기에서 멤버십을 확인하세요. 소유자와 관리자가 초대/역할을 관리합니다. 유일한 소유자는 나가거나 자신을 강등할 수 없습니다.
멤버십을 변경하기 전에 @supastack/db의 evaluateLeaveOrganization과 evaluateMemberRoleUpdate를 선호하세요. inAppProduct가 활성화되면 성공적인 변경 후 member.left / member.role_changed 인앱 알림을 발행하세요.
플랫폼 관리는 별도의 경계로 제공됩니다. 플랫폼 관리자만 사용자, 금지 및 사칭을 관리할 수 있습니다. 워크스페이스 소유자/관리자 역할은 플랫폼 액세스 권한을 부여하지 않습니다. 문서화된 조직 역할은 소유자, 관리자 및 구성원입니다.
검증 및 문제 해결
초대 링크에 이메일이 일치하지 않는다고 표시되면 해당 이메일을 받은 정확한 주소를 사용하여 로그인하세요. 초대 이메일이 누락된 경우 다시 보내기 전에 로컬 이메일 결과를 확인하세요. 구성원이 조직을 볼 수 없는 경우 올바른 워크스페이스로 전환하고 멤버십을 확인하세요. 브라우저에서 다른 workspaceId를 전달하여 이 문제를 해결하지 마십시오.
집중 Vitest: 워크스페이스 나가기/역할 헬퍼, 초대 수락, 조직 온보딩 게이트. 수동: 조직 생성 → 초대 → 두 번째 계정으로 수락 → 역할 변경 → 비소유자로 나가기 → 입력 확인으로 소유자가 삭제.