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 /pt/docs/web/organizations.md (or send Accept: text/markdown).
Organizações e convites
Entrega o ciclo de org de demonstração: criar, mudar, convidar, papéis, sair e eliminação em zona de perigo.
Instalação e configuração
Antes de qualquer etapa, leia Antes de começar e Noções básicas sobre terminal. Estas instruções presumem que você abriu o monorepo supastack completo no VS Code; sua raiz package.json marca a raiz do repositório. Nos comandos pnpm, um pacote de espaço de trabalho é um aplicativo ou uma pasta de código compartilhado; no produto, um espaço de trabalho é o contêiner de dados e o limite de segurança de uma equipe. corepack pnpm --filter ... seleciona um pacote do monorepo enquanto os comandos são executados a partir de sua raiz. Se você abriu apenas uma pasta móvel ou desktop sincronizada, ela não contém o back-end da Web, a configuração do Docker ou os scripts raiz: execute o back-end deste monorepo ou de um servidor hospedado acessível e use os próprios scripts da pasta da plataforma. Uma variável de ambiente é uma configuração nomeada armazenada em um arquivo .env local ou no painel de hospedagem; reinicie o aplicativo relevante após alterá-lo e mantenha os segredos do servidor fora dos valores NEXT_PUBLIC_ e EXPO_PUBLIC_.
1. Inicie o aplicativo Web a partir da raiz do repositório com corepack pnpm --filter @supastack/web dev e crie uma conta de teste.
2. Abra a tela de configuração da organização, crie um espaço de trabalho de teste e convide um segundo e-mail de teste em Configurações → Membros. Um espaço de trabalho é o limite da equipe que possui membros e registros.
3. Aceite o convite enquanto estiver conectado com o mesmo e-mail. Esperado: a segunda conta pode entrar no espaço de trabalho convidado com a função atribuída, mas não pode gerenciar ações exclusivas do proprietário.
Os workspaces de organização são distintos dos pessoais em packages/db. Após o registo, as portas de onboarding (/onboarding, /new-organization, /select-organization, /choose-plan) empurram o utilizador para uma org ativa antes da faturação e definições do produto.
Os convites criam uma linha workspace_invitation pendente e enviam um email transacional com um URL de aceitação /invite/[token]. Aceitar exige um email de sessão correspondente. A lista de membros, papéis e saída vivem em /settings/members; renomear/eliminar e sair também aparecem em /organization/settings.
Routes
/new-organization
/select-organization
/invite/[token]
/settings/members
/organization/settings
Server actions
createOrganizationAction
createWorkspaceInviteAction
acceptWorkspaceInviteAction
updateMemberRoleAction
leaveOrganizationAction
renameOrganizationAction
deleteOrganizationActionComandos para copiar
Siga os comentários para ver em qual pasta um comando é executado. Se dois terminais estiverem rotulados, abra duas janelas de terminal e mantenha o primeiro comando em execução enquanto usa o segundo.
corepack pnpm --filter @supastack/web devFluxo de implementação
Resolve o workspace ativo a partir de cookie → preferência de utilizador → adesão, depois verifica a adesão em cada escrita. Owners e admins gerem convites/papéis; um owner único não pode sair nem despromover-se.
Prefere evaluateLeaveOrganization e evaluateMemberRoleUpdate de @supastack/db antes de mutar adesões. Emite notificações in-app member.left / member.role_changed após mutações bem-sucedidas quando inAppProduct estiver ativado.
A administração da plataforma é um limite separado: apenas os administradores da plataforma podem gerenciar usuários, banimentos e falsificação de identidade. Uma função de proprietário/administrador do espaço de trabalho não concede acesso à plataforma. As funções documentadas da organização são proprietário, administrador e membro.
Verificação e resolução de problemas
Se um link de convite disser que o e-mail não corresponde, faça login usando o endereço exato que o recebeu. Se o e-mail de convite estiver faltando, verifique o resultado do e-mail local antes de reenviar. Se um membro não conseguir ver uma organização, mude para o espaço de trabalho correto e verifique a associação; nunca corrija isso passando outro workspaceId do navegador.
Vitest focado: helpers de saída/papel de workspace, aceitação de convite, portas de onboarding de org. Manual: criar uma org → convidar → aceitar numa segunda conta → mudar papel → sair como não-owner → eliminar como owner com confirmação escrita.