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

# Execute e configure o shell

Inicie o shell de desenvolvimento Tauri e conecte-o ao seu app web.

## Passo a passo para iniciantes

Pré-requisitos: Leia os dois guias para iniciantes abaixo e conclua a configuração local do Desktop, incluindo Rust e pré-requisitos do sistema operacional. O bloco de código inicia o aplicativo da web e Tauri no monorepo; em uma finalização de compra somente para desktop, use seu comando filtrado somente após iniciar um back-end da web acessível separadamente. Tauri carrega esse backend.

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. Abra `apps/desktop/src-tauri/src/lib.rs`; peça ao seu agente para alterar apenas o comportamento nomeado da janela/bandeja/tecla de atalho e manter a IU do produto no aplicativo da web.

2. Execute o shell e teste próximo à bandeja, Sair e `CmdOrCtrl+Shift+Space`; teste `supastack:///settings/appearance?preview=1#main`.

3. Deve focar a janela existente e preservar o caminho/consulta/fragmento. Se abrir a página errada, compare a origem configurada e a rota exata.

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 do desktop](https://supastack.dev/pt/docs/desktop/ship-in-5-minutes.md)

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

```
# Monorepo: start the web app and desktop shell together
corepack pnpm dev:desktop

# Desktop-only checkout: start Tauri after a web backend is already reachable
corepack pnpm --filter @supastack/desktop dev
```


## Mantenha o comportamento do shell em Rust

`src-tauri/src/lib.rs` cria a janela principal de visualização da web de 1200×800. Fechar esconde-o na bandeja; Saia das saídas. Os menus nativos fornecem Início/Voltar/Avançar/Recarregar, zoom/tela cheia e ações de janela. A restauração do estado da janela preserva o tamanho/posição.


## Lidar com links e convocar

O shell aceita rotas `supastack://` e as resolve em relação à origem exata do aplicativo HTTP(S) configurada. Por exemplo, `supastack:///settings/appearance?preview=1#main` torna-se `/workspace/settings?tab=billing#plans`; `supastack:///auth/callback?code=...` mapeia para `/auth/callback?code=...`. As strings de consulta e os fragmentos são preservados.

Os links de inicialização são aplicados antes da primeira janela ser mostrada. os links de tempo de execução do macOS usam Tauri do `on_open_url`; Os argumentos de segunda instância do Windows e do Linux usam o retorno de chamada de instância única com seu recurso `deep-link` habilitado. Links válidos focam e navegam na janela existente.

Somente links HTTP(S) sem credencial com o esquema exato configurado, host e porta efetiva permanecem no shell. Os links HTTP(S), `mailto:` e `tel:` sem credenciais podem ser abertos externamente; links malformados, credenciais, esquemas não suportados, portas em links personalizados e tentativas de passagem são rejeitados. O back-end configurado URL também rejeita credenciais e retorna para a próxima origem válida/padrão.

```
SUPASTACK_APP_URL=https://your-app.example
SUPASTACK_DESKTOP_HOTKEY=CmdOrCtrl+Shift+Space

supastack:///settings/appearance?preview=1#main
# Opens https://your-app.example/workspace/settings?tab=billing#plans
```


## Verifique o comportamento específico da plataforma

A sobreposição offline injetada oferece Repetir, oculta-se online e recarrega o aplicativo da web. Teste o foco, os atalhos, o zoom do menu, a bandeja e a invocação de links diretos em todos os sistemas operacionais de destino; As verificações da unidade URL por si só não comprovam essas interações nativas.

[Aceitação em computadores](https://supastack.dev/pt/docs/desktop/release.md)


## Instalação e configuração

Instale as dependências do espaço de trabalho e o conjunto de ferramentas Rust, além dos pré-requisitos por sistema operacional do Tauri (WebView2 é fornecido com o Windows; macOS e Linux precisam de seus pacotes documentados). corepack pnpm --filter @supastack/desktop dev executa tauri dev: ele constrói o núcleo Rust, mostra a interface do usuário do espaço reservado e carrega o aplicativo resolvido URL.

SUPASTACK_APP_URL é lida primeiro em tempo de execução e depois usa o valor incluído no build. Somente URLs HTTP(S) sem credenciais são aceitas; caso contrário, tenta-se o próximo valor. SUPASTACK_DESKTOP_HOTKEY substitui o atalho padrão CmdOrCtrl+Shift+Space. Um valor inválido volta ao atalho padrão em vez de impedir a inicialização.

```
corepack pnpm --filter @supastack/desktop dev
corepack pnpm --filter @supastack/desktop typecheck

SUPASTACK_APP_URL=https://app.example.com \
SUPASTACK_DESKTOP_HOTKEY=CmdOrCtrl+Shift+Space \
corepack pnpm --filter @supastack/desktop dev
```


## Fluxo de implementação

A janela principal permanece na origem exata configurada, incluindo protocolo e porta. Links HTTP(S) sem credenciais, mailto e tel podem abrir no navegador do sistema; protocolos não permitidos são cancelados.

Links supastack:// registrados mapeiam caminho, consulta e fragmento para a origem configurada do app. A inicialização, eventos de abertura de URL da plataforma e callbacks de segunda instância usam a mesma validação, impedindo que um link profundo redirecione o shell para outro host.

O ícone da bandeja e o atalho global mostram e focam a única janela principal. Se o atalho não for registrado, outro app provavelmente está usando a combinação; escolha outro SUPASTACK_DESKTOP_HOTKEY.


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

Depois de alterar src-tauri, execute cargo check e cargo test pelos scripts do pacote. Em seguida, verifique a navegação para a origem exata, a abertura de links externos permitidos, uma rota supastack:// na origem configurada do app, bandeja e atalho, e a persistência do login após reiniciar.


Para continuar a configuração, leia [Criar as contas de lançamento de desktop](https://supastack.dev/pt/docs/desktop/external-accounts.md).


## Seguinte

[Criar as contas de lançamento de desktop](https://supastack.dev/pt/docs/desktop/external-accounts.md)
