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

# Feature flags e anúncios

Lança às escuras, limita por workspace e difunde aos membros.

## Passo a passo para iniciantes

Pré-requisitos: Leia os dois guias para iniciantes abaixo, conclua a configuração local da Web e abra este monorepo na raiz do seu editor. As configurações da Web pertencem a `apps/web/.env.local`; Next.js não lê a raiz `.env`. `/dashboard` no modo falso padrão é uma demonstração sem banco de dados; `/auth` precisa de um banco de dados migrado.

Termos rápidos: um espaço de trabalho consiste em usuários, dados e configurações separados de uma equipe. O servidor é o back-end confiável; mantenha as chaves do provedor fora do navegador e do código do telefone. Uma migração é uma alteração de versão do banco de dados que cria ou atualiza tabelas. Um modelo de IA é o mecanismo que responde; o catálogo de modelos é a lista do servidor de IDs e preços de modelos disponíveis. Um provedor é um serviço externo, como IA, e-mail ou serviço de cobrança. Um direito é uma concessão que permite que um espaço de trabalho use um recurso. Um webhook é uma mensagem que um serviço envia para o URL de outro serviço.

1. Faça login como administrador da plataforma e abra `/admin/flags`; crie ou selecione um sinalizador de teste e defina-o explicitamente como ativado e, em seguida, desativado.

2. Atualize a superfície do produto que contém a bandeira e confirme suas alterações de apresentação.

3. As funções e os direitos ainda devem proteger as ações do servidor quando um sinalizador estiver ativado. Se o API permanecer acessível enquanto estiver desabilitado, adicione uma verificação de sinalizador do lado do servidor onde pretendido.

Para código personalizado, comece com o `prompts/README.md` fornecido e copie o prompt mais próximo: `prompts/new-app-screen.md` para uma tela de aplicativo ou `prompts/new-landing-page.md` para uma página pública. Para trabalho de servidor, banco de dados ou provedor, dê ao seu agente de codificação a tarefa deste guia e peça-lhe para ler `AGENTS.md`, `.ai/PROJECT_CONTEXT.md` e espelhos `.ai/` correspondentes; inspecione os arquivos de origem exatos nomeados aqui; listar arquivos e verificações antes de editar; preservar a propriedade do espaço de trabalho e os segredos apenas do servidor; e mostrar a diferença. Informe o comportamento desejado, campos de entrada e saída, funções permitidas, sucessos e erros esperados e a conta de teste, provedor ou dispositivo. Use valores de amostra; nunca cole um segredo real.

[Antes de começar](https://supastack.dev/pt/docs/web/before-you-start.md)

[Noções básicas sobre terminais](https://supastack.dev/pt/docs/web/terminal-basics.md)

[Configuração local da Web](https://supastack.dev/pt/docs/web/ship-in-5-minutes.md)

[Avisos do agente e memória do projeto](https://supastack.dev/pt/docs/web/agents.md)


## Configurar sinalizadores no Admin

`/admin/flags` e `feature-flags.ts` fornecem o caminho de gerenciamento/avaliação de sinalizadores do kit. A configuração do sinalizador pertence ao administrador da plataforma; uma UI de produto pode reagir a um recurso permitido sem obter autoridade para alterar o sinalizador.


## Mantenha a autorização separada

Um sinalizador permite o comportamento do produto, enquanto funções e direitos autorizam um chamador. Verifique ambos quando necessário. Um link de navegação desabilitado não impede uma chamada direta API.


## Verifique o comportamento ativado e desativado

Padrões de teste, sinalizadores ausentes, atualizações, negação de função e ações de servidor controladas por sinalizadores. Preservar verificações de acesso ao espaço de trabalho ao adicionar lógica de implementação.

[Funções da plataforma](https://supastack.dev/pt/docs/web/admin.md)

[Acesso pago](https://supastack.dev/pt/docs/web/setup-payments.md)


## Instalação e configuração

feature-flag-runtime resolve flags para um contexto de chamador: flags não configuradas ficam off por defeito, e overrides por flag visam workspaces ou utilizadores específicos. Uma flag em falta nunca pode ativar uma superfície silenciosamente.

Os anúncios da plataforma (announcement-actions) difundem avisos in-app pela mesma superfície de notificações que os membros já leem — listActiveAnnouncements alimenta o banner, dismissAnnouncementAction regista a dispensa.

```
await isFeatureEnabled(flag, { workspaceId })
await resolveFeatureFlags(context)

listActiveAnnouncements()
dismissAnnouncementAction(formData)
```


## Fluxo de implementação

Lança código às escuras: faz merge atrás de uma flag, ativa-a no teu próprio workspace e depois alarga. Remove a flag quando a superfície for permanente — uma flag velha é uma segunda fonte de verdade.

Verifica a flag na fronteira do servidor E na navegação: um link escondido com uma rota aberta não é uma funcionalidade gated. Mantém os anúncios fora do caminho de email transacional — são notícias de produto, não recibos.


## Verificação e resolução de problemas

Verifica que uma flag desativada esconde nav, rota e ação de ponta a ponta; que um override resolve apenas para o seu alvo; e que uma flag limpa volta ao defeito. Testa que a entrega de anúncios chega aos workspaces pretendidos e que a dispensa persiste.


## Seguinte

[Segurança e privacidade](https://supastack.dev/pt/docs/web/security.md)
