Mapa de rotas
Shell da aplicação
Secção intitulada “Shell da aplicação”O shell da aplicação (ControlCenterLayout) envolve todas as rotas dentro de um espaço de trabalho através de um ShellRoute. Todos os destinos dentro do shell têm o prefixo do espaço de trabalho — /workspaces/:workspaceId/… — e o id do espaço de trabalho no URL é a única fonte de verdade do espaço de trabalho ativo. Só as superfícies anteriores ao contexto é que não têm prefixo: /splash, /onboarding, /signed-out e o seletor /workspaces simples, todos em ecrã inteiro e fora do shell.
O portão está concluído quando está ligada pelo menos uma forge para o utilizador com sessão iniciada e existe pelo menos um espaço de trabalho.
Uma credencial em falta e uma configuração em falta são ecrãs diferentes, e o critério de distinção é users.onboarding_finished_at, lido a partir do próprio identity.me de quem chama — nunca “existem espaços de trabalho”, que está errado no momento em que alguém é convidado para um espaço de trabalho que nunca criou. Sem nenhuma forge ligada, uma conta que já concluiu o onboarding vai para /signed-out para se autenticar de novo; uma que ainda não concluiu vai para /onboarding. Enquanto a flag ainda é desconhecida, a guarda retém o ecrã de arranque em vez de adivinhar, porque nunca redireciona de volta para fora do onboarding.
Rotas sem prefixo
Secção intitulada “Rotas sem prefixo”| Caminho | Ecrã |
|---|---|
/splash |
Ecrã de arranque que resolve o portão de onboarding |
/onboarding |
Ligar uma forge, criar ou entrar num espaço de trabalho, sandbox, adaptador predefinido e, por fim, voz. O passo do espaço de trabalho é omitido quando a conta já pertence a um |
/signed-out |
Autenticar de novo: o mesmo cartão de ligações a forges que as Definições apresentam, sem barra de passos e sem botão de continuar — o router sai por si assim que uma forge reporta |
/workspaces |
Lista e seletor de espaços de trabalho |
/workspaces/:workspaceId |
Redireciona para /workspaces/:workspaceId/inbox |
Rotas de espaço de trabalho
Secção intitulada “Rotas de espaço de trabalho”Os caminhos abaixo omitem o prefixo /workspaces/:workspaceId.
| Caminho | Parâmetros de consulta | Ecrã |
|---|---|---|
/inbox |
— | Caixa de entrada unificada: PRs classificadas pelo ciclo de vida de revisão, mais trabalho que não é PR e que bloqueia o operador. A rota de destino depois da guarda; um /workspaces/:workspaceId simples redireciona para aqui |
/spaces |
— | Superfície de espaços, sem espaço selecionado |
/spaces/:spaceId |
?m=<messageId>, ?tab=<key> |
Um espaço; m faz uma ligação direta a uma mensagem e é consumido uma vez na abertura |
/tickets |
— | Quadro de tickets |
/tickets/:ticketId |
— | Detalhe de ticket em formato mestre-detalhe |
/projects/:projectId |
— | Vista geral do projeto |
/pull-requests |
?repo=<owner/name> |
Lista de PRs; repo seleciona esse repositório na barra lateral esquerda |
/pull-requests/compose |
?space=<spaceId> |
Compor uma nova pull request; space indica o espaço cujo worktree isolado fornece o branch |
/pull-requests/:owner/:repo/:prNumber |
?tab=<key>, ?comment=<id> |
Detalhe da PR com visualizador de diffs; comment é o id REST numérico de um comentário |
/pipelines |
— | Lista de execuções de pipeline |
/pipelines/run |
?templateId=<id> |
Lançador de execuções manuais |
/pipelines/:runId |
— | Detalhe da execução de pipeline (cronologia de passos) |
/plans |
— | Hub do Plan Studio: planos ativos, documentos de plano, playbooks |
/plans/:kind/:id |
— | Plan Studio para um plano; kind é orchestration ou document |
/meetings |
— | Lista de reuniões |
/meetings/record |
— | Ecrã de gravação de reunião em direto |
/meetings/:meetingId |
— | Detalhe da reunião: notas, transcrição, itens de ação, decisões |
/calendar |
— | Calendário: vistas de mês, semana e agenda |
/calendar/:eventId |
— | Detalhe do evento de calendário (rota irmã; partilha a chave da página de calendário) |
/newsfeed |
— | Lista de notícias |
/newsfeed/article/:articleId |
— | Leitor de artigos |
/observability |
— | Hub de observabilidade: separadores Uso, Resumo, Ao vivo e Qualidade sobre o feed de registos de execução do espaço de trabalho. Assume o separador Uso por predefinição |
/users/:login |
— | Perfil de utilizador do GitHub |
/teams/:organization/:slug |
— | Perfil de equipa de uma organização do GitHub |
/api-keys |
— | Gestão de chaves de API. Sem ponto de entrada na navegação — só acessível por URL |
/settings/… |
— | Ecrãs de definições (abaixo) |
As conversas e os threads não têm rota própria — um thread é uma conversa dentro de /spaces/:spaceId, aberto como separador do editor em vez de ser endereçado por URL.
Não existe rota /dashboard nem ecrã de dashboard. A superfície de análise é /observability, alcançada a partir do rodapé da barra lateral.
Não existe item “Planos” na barra lateral. O Plan Studio abre como separador do editor a partir da linha do plano na conversa que o produziu; /plans e /plans/:kind/:id são ligações diretas.
/observability e /pull-requests/compose não têm entrada nos registos de títulos de rota nem de navegação estrutural, pelo que ambos mostram apenas o nome da aplicação no título da janela e nenhum rasto de navegação estrutural.
Rotas de definições
Secção intitulada “Rotas de definições”/settings redireciona para /settings/you/appearance. O botão de definições da barra lateral e Cmd/Ctrl + , vão ambos para /settings/you/appearance.
Os caminhos das definições estão organizados por âmbito — you/, workspace/, server/ — porque o segmento indica quem a alteração afeta. Dois caminhos são anteriores a esta organização e não têm âmbito no URL: /settings/memory e /settings/pipelines.
| Caminho | Ecrã |
|---|---|
/settings/you/appearance |
Tema, idioma, tipografia, tema do editor (a página inicial das definições) |
/settings/you/notifications |
Interruptores por evento, horas de silêncio |
/settings/you/keybindings |
Referência de atalhos de teclado (só de leitura) |
/settings/you/audio |
Microfone, ditado, deteção de reuniões e saída de paisagens sonoras |
/settings/you/devices |
Telemóveis emparelhados e controlo remoto |
/settings/you/newsfeed |
Gestão do feed: fontes, atualização, estado de leitura |
Espaço de trabalho
Secção intitulada “Espaço de trabalho”| Caminho | Ecrã |
|---|---|
/settings/workspace/profile |
Perfil e identidade neste espaço de trabalho: nome, autor do git, hospedagem de código, calendário |
/settings/workspace/general |
Nome, logótipo, globs de segredos, concorrência de revisões, nomenclatura de branches, estado da sincronização, pontes de chat, zona de perigo |
/settings/workspace/meetings |
Modelos de notas de reunião e perfis de voz guardados |
/settings/workspace/members |
Lista de membros, convites, registo de auditoria. O registo de auditoria tem paginação com ?cursor= opcional |
/settings/workspace/repositories |
Repositórios registados neste espaço de trabalho |
/settings/workspace/agents |
Identidades de agente registadas |
/settings/workspace/skills |
Configuração de skills |
/settings/memory |
Memória do espaço de trabalho: factos, políticas, grafo de conhecimento |
/settings/workspace/permissions |
Permissões dos agentes: matriz de guardrails e sonda «E se?» |
/settings/pipelines |
Modelos de pipeline |
/settings/pipelines/:templateId |
Editor de modelos de pipeline (canvas de arrastar e largar) |
Servidor
Secção intitulada “Servidor”| Caminho | Ecrã |
|---|---|
/settings/server/connection |
Ligação e status |
/settings/server/sso |
Início de sessão único (SAML, OIDC, provisionamento SCIM) |
/settings/server/providers |
Fornecedores de modelos e adaptadores |
/settings/server/mcp |
Servidores MCP integrados e externos |
/settings/server/voice |
Modelos de voz e de reuniões (ASR, diarização) |
/settings/server/rigs |
Rigs: o que este anfitrião pode arrancar, imagens base, imagens personalizadas, máquinas em execução |
/settings/server/sandbox |
Concessões de execução em sandbox: programas que os agentes podem executar a partir da sua cópia de trabalho dos seus repositórios |
/settings/server/diagnostics |
Diagnóstico e privacidade: sandbox, embeddings, registo, relatórios de falhas |
/settings/server/backup |
Cópia de segurança e restauro: instantâneos da instalação, exportação por espaço de trabalho, importação e eliminação |
/settings/server/about |
Sobre e atualizações |
kSettingsNav em lib/features/settings/settings_nav.dart é a única fonte de verdade para esta lista. settings_nav_test.dart fixa ids únicos, rotas únicas, a ordem achatada J/K e os três âmbitos. Não percorre todas as GoRoute registadas.
Configuração de rotas
Secção intitulada “Configuração de rotas”| Aspeto | Ficheiro |
|---|---|
| Router | lib/router/app_router.dart |
| Construtores de rotas | lib/router/routes.dart |
| Guardas de autenticação | lib/router/guards.dart |
| Portão de onboarding | lib/features/auth/providers/onboarding_providers.dart |
| Navegação das definições | lib/features/settings/settings_nav.dart |