Hoppa till innehåll

Routkarta

Appskalet (ControlCenterLayout) omsluter varje rutt i arbetsytan via en ShellRoute. Varje destination innanför skalet har arbetsyteprefix — /workspaces/:workspaceId/… — och arbetsytans id i URL:en är den enda källan till sanning för den aktiva arbetsytan. Bara ytorna före kontexten saknar prefix: /splash, /onboarding, /signed-out och den prefixlösa /workspaces-väljaren, alla i fullskärm och utanför skalet.

Grinden är uppfylld när minst en kodvärd är ansluten för den inloggade användaren och minst en arbetsyta finns.

En saknad inloggningsuppgift och en saknad konfiguration är olika skärmar, och det som skiljer dem är users.onboarding_finished_at, hämtat från anroparens egen identity.me — aldrig ”det finns arbetsytor”, vilket är fel i samma stund någon bjuds in till en arbetsyta de aldrig själva skapade. Om ingen kodvärd är ansluten går ett konto som har slutfört introduktionen till /signed-out för att autentisera sig på nytt; ett konto som inte har gjort det går till /onboarding. Så länge flaggan är okänd håller vakten kvar startskärmen i stället för att gissa, eftersom den aldrig omdirigerar tillbaka ut ur introduktionen.

Sökväg Skärm
/splash Startskärmen vid uppstart som löser upp introduktionsgrinden
/onboarding Anslut en kodvärd, skapa eller gå med i en arbetsyta, sandlåda, standardadapter och till sist röst. Arbetsytesteget hoppas över när kontot redan tillhör en arbetsyta
/signed-out Autentisera på nytt: samma kort för kodvärdsanslutningar som Inställningar visar, utan stegindikator och utan fortsättningsknapp — routern lämnar av sig själv så snart en kodvärd svarar
/workspaces Arbetsytelista och väljare
/workspaces/:workspaceId Omdirigerar till /workspaces/:workspaceId/inbox

Sökvägarna nedan utelämnar prefixet /workspaces/:workspaceId.

Sökväg Query-parametrar Skärm
/inbox — Enhetlig inkorg: PR:er klassificerade efter granskningslivscykeln plus arbete utanför PR:er som blockerar operatören. Landningsrutten efter vakten; en /workspaces/:workspaceId utan underliggande sökväg omdirigerar hit
/spaces — Ytan, ingen yta vald
/spaces/:spaceId ?m=<messageId>, ?tab=<key> En yta; m djuplänkar till ett meddelande och förbrukas när det öppnas
/tickets — Ärendetavla
/tickets/:ticketId — Ärende i huvud-detaljvy
/projects/:projectId — Projektöversikt
/pull-requests ?repo=<owner/name> PR-lista; repo väljer det repot i vänsterpanelen
/pull-requests/compose ?space=<spaceId> Skapa en ny pull request; space anger den yta vars isolerade worktree levererar grenen
/pull-requests/:owner/:repo/:prNumber ?tab=<key>, ?comment=<id> PR-detalj med diffvisare; comment är det numeriska REST-id:t för en kommentar
/pipelines — Lista över pipelinekörningar
/pipelines/run ?templateId=<id> Startare för manuell körning
/pipelines/:runId — Pipelinedetaljer för en körning (stegtidslinje)
/plans — Navet för Plan Studio: aktiva planer, plandokument, playbooks
/plans/:kind/:id — Plan Studio för en enskild plan; kind är orchestration eller document
/meetings — Lista över möten
/meetings/record — Skärmen för liveinspelning av möten
/meetings/:meetingId — Mötesdetalj: anteckningar, utskrift, åtgärdspunkter, beslut
/calendar — Kalender: månads-, vecko- och agendavy
/calendar/:eventId — Kalenderhändelse i detalj (syskonrutt; delar kalendersidans nyckel)
/newsfeed — Lista över nyhetsflödet
/newsfeed/article/:articleId — Artikelläsare
/observability — Navet för Observability: flikarna Användning, Insikter, Live och Kvalitet över arbetsytans körningsloggflöde. Standard är fliken Användning
/users/:login — GitHub-användarprofil
/teams/:organization/:slug — Teamprofil för en GitHub-organisation
/api-keys — Hantering av API-nycklar. Ingen navigationspost i gränssnittet — nås bara via URL
/settings/… — Inställningsskärmar (nedan)

Samtal och trådar har ingen egen rutt — en tråd är ett samtal inuti /spaces/:spaceId, som öppnas som en redigerarflik i stället för att adresseras via URL.

Det finns ingen /dashboard-rutt och ingen instrumentpanelsvy. Analysytan är /observability, som nås från sidofältets fot.

Det finns ingen sidofältspost med namnet ”Planer”. Plan Studio öppnas som en redigerarflik från planens rad i samtalet som skapade den; /plans och /plans/:kind/:id är djuplänkar.

/observability och /pull-requests/compose finns inte med i registren för ruttnamn eller brödsmulor, så båda visar bara appnamnet i fönsterrubriken och ingen brödsmulsnavigering.

/settings omdirigerar till /settings/you/appearance. Sidofältets inställningsknapp och Cmd/Ctrl + , går båda till /settings/you/appearance.

Inställningssökvägarna är namnrymdsindelade efter omfång — you/, workspace/, server/ — eftersom segmentet talar om vem en ändring gäller. Två sökvägar är äldre än namnrymderna och saknar omfång i URL:en: /settings/memory och /settings/pipelines.

Sökväg Skärm
/settings/you/appearance Tema, språk, typografi, redigerartema (inställningarnas landningssida)
/settings/you/notifications Reglage per händelse, tysta timmar
/settings/you/keybindings Referens över tangentbordsgenvägar (skrivskyddad)
/settings/you/audio Mikrofon, diktering, mötesupptäckt och ljudlandskapsutgång
/settings/you/devices Parkopplade telefoner och fjärrstyrning
/settings/you/newsfeed Flödeshantering: källor, uppdatering, lässtatus
Sökväg Skärm
/settings/workspace/profile Profil och identitet i den här arbetsytan: namn, git-författare, kodvärd, kalender
/settings/workspace/general Namn, logotyp, globmönster för hemligheter, granskningsutspridning, grennamngivning, synkhälsa, chattbryggor, farozon
/settings/workspace/meetings Mallar för mötesanteckningar och sparade röstprofiler
/settings/workspace/members Medlemslista, inbjudningar, granskningskedja. Granskningskedjan pagineras med valfri ?cursor=
/settings/workspace/repositories Arkiv registrerade i den här arbetsytan
/settings/workspace/agents Registrerade agentidentiteter
/settings/workspace/skills Konfiguration av skills
/settings/memory Arbetsytans minne: fakta, policyer, kunskapsgraf
/settings/workspace/permissions Agentbehörigheter: räcksmatris och Tänk om-probe
/settings/pipelines Pipelinemallar
/settings/pipelines/:templateId Redigerare för pipelinemallar (dra-och-släpp-duk)
Sökväg Skärm
/settings/server/connection Anslutning och status
/settings/server/sso Enkel inloggning (SAML, OIDC, SCIM-provisionering)
/settings/server/providers Modellleverantörer och adaptrar
/settings/server/mcp Inbyggda och externa MCP-servrar
/settings/server/voice Röst- och mötesmodeller (ASR, diarisering)
/settings/server/rigs Stationer: vad den här värden kan starta, basavbildningar, egna avbildningar, maskiner som körs
/settings/server/sandbox Exekveringsbeviljanden i sandlådan: program agenter får köra från sin arbetskopia av dina arkiv
/settings/server/diagnostics Diagnostik och integritet: sandlådeisolering, inbäddning, loggning, kraschrapportering
/settings/server/backup Säkerhetskopiering och återställning: installationsögonblicksbilder, export per arbetsyta, import och borttagning
/settings/server/about Om och uppdateringar

kSettingsNav i lib/features/settings/settings_nav.dart är den enda källan till sanning för den här listan. settings_nav_test.dart låser unika id:n, unika rutter, den tillplattade J/K-ordningen och de tre omfången. Den går inte igenom varje registrerad GoRoute.

Område Fil
Routern lib/router/app_router.dart
Ruttbyggare lib/router/routes.dart
Autentiseringsvakter lib/router/guards.dart
Introduktionsgrind lib/features/auth/providers/onboarding_providers.dart
Inställningsnavigering lib/features/settings/settings_nav.dart