Mapa de rutas
Shell de la aplicación
Sección titulada «Shell de la aplicación»El shell de la aplicación (ControlCenterLayout) envuelve cada ruta dentro del espacio de trabajo mediante un ShellRoute. Todo destino dentro del shell lleva el prefijo del espacio de trabajo — /workspaces/:workspaceId/… — y el id del espacio de trabajo en la URL es la única fuente de verdad del espacio de trabajo activo. Solo las superficies previas al contexto no llevan prefijo: /splash, /onboarding, /signed-out y el selector /workspaces sin más, todas a pantalla completa y fuera del shell.
La puerta está completa cuando hay al menos un host de código conectado para el usuario que inició sesión y existe al menos un espacio de trabajo.
Una credencial ausente y una configuración ausente son pantallas distintas, y el discriminante es users.onboarding_finished_at, leído del propio identity.me de quien llama — nunca «existen espacios de trabajo», que es falso en cuanto invitan a alguien a un espacio de trabajo que nunca creó. Sin ningún host de código conectado, una cuenta que ya pasó por el onboarding va a /signed-out para volver a autenticarse; una que no, va a /onboarding. Mientras el indicador siga siendo desconocido, la guardia retiene la pantalla de inicio en lugar de suponer, porque nunca redirige de vuelta fuera del onboarding.
Rutas sin prefijo
Sección titulada «Rutas sin prefijo»| Ruta | Pantalla |
|---|---|
/splash |
Pantalla de inicio de arranque que resuelve la puerta de onboarding |
/onboarding |
Conectar un host de código, crear un espacio de trabajo o unirse a uno, sandbox, adaptador predeterminado y, por último, voz. El paso del espacio de trabajo se omite cuando la cuenta ya pertenece a uno |
/signed-out |
Volver a autenticarse: la misma tarjeta de conexiones de host de código que muestra Ajustes, sin barra de pasos ni botón de continuar — el enrutador sale por su cuenta en cuanto un host de código se reporta |
/workspaces |
Lista y selector de espacios de trabajo |
/workspaces/:workspaceId |
Redirige a /workspaces/:workspaceId/inbox |
Rutas del espacio de trabajo
Sección titulada «Rutas del espacio de trabajo»Las rutas siguientes omiten el prefijo /workspaces/:workspaceId.
| Ruta | Parámetros de consulta | Pantalla |
|---|---|---|
/inbox |
— | Bandeja de entrada unificada: las PR clasificadas por ciclo de vida de revisión más el trabajo que no es de PR y que bloquea al operador. La ruta de aterrizaje tras la guardia; un /workspaces/:workspaceId sin más redirige aquí |
/spaces |
— | Superficie de espacios, sin ningún espacio seleccionado |
/spaces/:spaceId |
?m=<messageId>, ?tab=<key> |
Un espacio; m apunta a un mensaje mediante un enlace profundo y se consume una vez al abrirlo |
/tickets |
— | Tablero de tickets |
/tickets/:ticketId |
— | Maestro-detalle de tickets |
/projects/:projectId |
— | Resumen del proyecto |
/pull-requests |
?repo=<owner/name> |
Lista de PR; repo selecciona ese repositorio en la barra lateral izquierda |
/pull-requests/compose |
?space=<spaceId> |
Redactar una nueva pull request; space nombra el espacio cuyo worktree aislado aporta la rama |
/pull-requests/:owner/:repo/:prNumber |
?tab=<key>, ?comment=<id> |
Detalle de la PR con visor de diferencias; comment es el id numérico de la API REST de un comentario |
/pipelines |
— | Lista de ejecuciones de pipeline |
/pipelines/run |
?templateId=<id> |
Lanzador de ejecución manual |
/pipelines/:runId |
— | Detalle de la ejecución de pipeline (línea de tiempo de pasos) |
/plans |
— | Centro de Plan Studio: planes activos, documentos de plan, playbooks |
/plans/:kind/:id |
— | Plan Studio para un plan; kind es orchestration o document |
/meetings |
— | Lista de reuniones |
/meetings/record |
— | Pantalla de grabación de reuniones en vivo |
/meetings/:meetingId |
— | Detalle de la reunión: notas, transcripción, tareas, decisiones |
/calendar |
— | Calendario: vistas de mes, semana y agenda |
/calendar/:eventId |
— | Detalle del evento del calendario (ruta hermana; comparte la clave de página del calendario) |
/newsfeed |
— | Lista del feed de noticias |
/newsfeed/article/:articleId |
— | Lector de artículos |
/observability |
— | Centro de observabilidad: pestañas Uso, Resumen, En vivo y Calidad sobre el feed de registros de ejecución del espacio de trabajo. Se abre en la pestaña Uso de forma predeterminada |
/users/:login |
— | Perfil de usuario de GitHub |
/teams/:organization/:slug |
— | Perfil de equipo de una organización de GitHub |
/api-keys |
— | Administración de claves de API. Sin punto de entrada en la navegación — solo accesible por URL |
/settings/… |
— | Pantallas de ajustes (más abajo) |
Las conversaciones y los hilos no tienen ruta propia — un hilo es una conversación dentro de /spaces/:spaceId, que se abre como pestaña del editor en lugar de direccionarse por URL.
No hay ninguna ruta /dashboard ni ninguna pantalla de panel. La superficie de analítica es /observability, a la que se llega desde el pie de la barra lateral.
No hay ningún elemento «Planes» en la barra lateral. Plan Studio se abre como pestaña del editor desde la fila del plan en la conversación que lo produjo; /plans y /plans/:kind/:id son enlaces profundos.
/observability y /pull-requests/compose no tienen entrada en los registros de títulos de ruta ni de rutas de navegación, así que ambas muestran solo el nombre de la aplicación en el título de la ventana y ninguna ruta de navegación.
Rutas de ajustes
Sección titulada «Rutas de ajustes»/settings redirige a /settings/you/appearance. Tanto el botón de ajustes de la barra lateral como Cmd/Ctrl + , llevan a /settings/you/appearance.
Las rutas de ajustes se dividen por ámbito — you/, workspace/, server/ — porque el segmento indica a quién afecta un cambio. Dos rutas son anteriores a esa división y no llevan ámbito en la URL: /settings/memory y /settings/pipelines.
| Ruta | Pantalla |
|---|---|
/settings/you/appearance |
Tema, idioma, tipografía, tema del editor (la pantalla de inicio de los ajustes) |
/settings/you/notifications |
Interruptores por evento, horas de silencio |
/settings/you/keybindings |
Referencia de atajos de teclado (solo lectura) |
/settings/you/audio |
Micrófono, dictado, detección de reuniones y salida de paisajes sonoros |
/settings/you/devices |
Teléfonos emparejados y control remoto |
/settings/you/newsfeed |
Administración del feed: fuentes, actualización, estado de lectura |
Espacio de trabajo
Sección titulada «Espacio de trabajo»| Ruta | Pantalla |
|---|---|
/settings/workspace/profile |
Perfil e identidad en este espacio de trabajo: nombre, autor de git, host de código, calendario |
/settings/workspace/general |
Nombre, logotipo, globs de rutas secretas, revisores en paralelo, nomenclatura de ramas, estado de sincronización, puentes de chat, zona de peligro |
/settings/workspace/meetings |
Plantillas de notas de reunión y perfiles de voz guardados |
/settings/workspace/members |
Lista de miembros, invitaciones, registro de auditoría. El registro de auditoría pagina con el ?cursor= opcional |
/settings/workspace/repositories |
Repositorios registrados en este espacio de trabajo |
/settings/workspace/agents |
Identidades de agente registradas |
/settings/workspace/skills |
Configuración de skills |
/settings/memory |
Memoria del espacio de trabajo: hechos, políticas, grafo de conocimiento |
/settings/workspace/permissions |
Permisos de agentes: matriz de barandillas y sonda de «¿qué pasaría si?» |
/settings/pipelines |
Plantillas de pipeline |
/settings/pipelines/:templateId |
Editor de plantillas de pipeline (lienzo de arrastrar y soltar) |
Servidor
Sección titulada «Servidor»| Ruta | Pantalla |
|---|---|
/settings/server/connection |
Conexión y estado |
/settings/server/sso |
Inicio de sesión único (SAML, OIDC, aprovisionamiento SCIM) |
/settings/server/providers |
Proveedores y adaptadores de modelos |
/settings/server/mcp |
Servidores MCP integrados y externos |
/settings/server/voice |
Modelos de voz y reuniones (ASR, diarización) |
/settings/server/rigs |
Rigs: qué puede arrancar este host, imágenes base, imágenes personalizadas, máquinas en ejecución |
/settings/server/sandbox |
Permisos de ejecución en el sandbox: programas que los agentes pueden ejecutar desde su copia de trabajo de tus repositorios |
/settings/server/diagnostics |
Diagnóstico y privacidad: sandbox, indexación, registro, informes de fallas |
/settings/server/backup |
Copia de seguridad y restauración: instantáneas de la instalación, exportación por espacio de trabajo, importación y eliminación |
/settings/server/about |
Acerca de y actualizaciones |
kSettingsNav, en lib/features/settings/settings_nav.dart, es la única fuente de verdad de esta lista. settings_nav_test.dart fija ids únicos, rutas únicas, el orden J/K aplanado y los tres ámbitos. No recorre todas las GoRoute registradas.
Configuración de rutas
Sección titulada «Configuración de rutas»| Aspecto | Archivo |
|---|---|
| Enrutador | lib/router/app_router.dart |
| Constructores de rutas | lib/router/routes.dart |
| Guardias de autenticación | lib/router/guards.dart |
| Puerta de onboarding | lib/features/auth/providers/onboarding_providers.dart |
| Navegación de ajustes | lib/features/settings/settings_nav.dart |