Routekaart
App-shell
Sectie getiteld “App-shell”De app-shell (ControlCenterLayout) omvat elke route binnen een werkruimte via een ShellRoute. Elke bestemming binnen de shell heeft een werkruimteprefix — /workspaces/:workspaceId/… — en het werkruimte-id in de URL is de enige bron van waarheid voor de actieve werkruimte. Alleen de oppervlakken vóór de context hebben geen prefix: /splash, /onboarding, /signed-out en de kale /workspaces-kiezer, allemaal schermvullend en buiten de shell.
De poort is compleet wanneer minstens één forge is gekoppeld voor de aangemelde gebruiker en er minstens één werkruimte bestaat.
Ontbrekende inloggegevens en een ontbrekende configuratie zijn verschillende schermen, en het onderscheidende criterium is users.onboarding_finished_at, uitgelezen uit de eigen identity.me van de aanroeper — nooit “er bestaan werkruimtes”, wat fout is op het moment dat iemand wordt uitgenodigd in een werkruimte die hij nooit heeft gemaakt. Zonder gekoppelde forge gaat een account dat de onboarding heeft afgerond naar /signed-out om opnieuw te authenticeren; een account dat dat niet heeft gedaan gaat naar /onboarding. Zolang de vlag nog onbekend is, houdt de guard het splashscherm vast in plaats van te gokken, want hij verwijst nooit terug weg uit de onboarding.
Routes zonder prefix
Sectie getiteld “Routes zonder prefix”| Pad | Scherm |
|---|---|
/splash |
Opstartsplash die de onboardingpoort bepaalt |
/onboarding |
Een forge koppelen, een werkruimte maken of erbij komen, sandbox, standaardadapter en dan spraak. De werkruimtestap vervalt wanneer het account al bij een werkruimte hoort |
/signed-out |
Opnieuw authenticeren: dezelfde kaart met forge-verbindingen die Instellingen toont, zonder stappenbalk en zonder knop Doorgaan — de router vertrekt vanzelf zodra een forge zich meldt |
/workspaces |
Werkruimtelijst en -kiezer |
/workspaces/:workspaceId |
Verwijst door naar /workspaces/:workspaceId/inbox |
Werkruimteroutes
Sectie getiteld “Werkruimteroutes”De paden hieronder laten de prefix /workspaces/:workspaceId weg.
| Pad | Queryparameters | Scherm |
|---|---|---|
/inbox |
— | Verzameld postvak in: PR’s ingedeeld naar reviewlevenscyclus plus niet-PR-werk dat de operator blokkeert. De landingsroute na de guard; een kale /workspaces/:workspaceId verwijst hierheen |
/spaces |
— | Ruimteoppervlak, geen ruimte geselecteerd |
/spaces/:spaceId |
?m=<messageId>, ?tab=<key> |
Eén ruimte; m verwijst diep naar een bericht en wordt bij het openen eenmalig verbruikt |
/tickets |
— | Ticketbord |
/tickets/:ticketId |
— | Ticket master-detail |
/projects/:projectId |
— | Projectoverzicht |
/pull-requests |
?repo=<owner/name> |
PR-lijst; repo selecteert die repository in de linkerbalk |
/pull-requests/compose |
?space=<spaceId> |
Een nieuwe pull request opstellen; space noemt de ruimte waarvan de geïsoleerde worktree de branch levert |
/pull-requests/:owner/:repo/:prNumber |
?tab=<key>, ?comment=<id> |
PR-detail met diff-viewer; comment is het numerieke REST-id van één reactie |
/pipelines |
— | Lijst met pipelineruns |
/pipelines/run |
?templateId=<id> |
Startscherm voor handmatige runs |
/pipelines/:runId |
— | Detail van een pipelinerun (tijdlijn van stappen) |
/plans |
— | Plan Studio-hub: actieve plannen, plandocumenten, playbooks |
/plans/:kind/:id |
— | Plan Studio voor één plan; kind is orchestration of document |
/meetings |
— | Lijst met vergaderingen |
/meetings/record |
— | Scherm voor live vergaderopname |
/meetings/:meetingId |
— | Vergaderdetail: notities, transcriptie, actiepunten, besluiten |
/calendar |
— | Agenda: weergaven Maand, Week en Agenda |
/calendar/:eventId |
— | Detail van een agenda-afspraak (zusterrroute; deelt de pagina-key van de agenda) |
/newsfeed |
— | Lijst van de nieuwsfeed |
/newsfeed/article/:articleId |
— | Artikellezer |
/observability |
— | Hub voor observeerbaarheid: tabbladen Gebruik, Overzicht, Live en Kwaliteit boven de run-logfeed van de werkruimte. Staat standaard op het tabblad Gebruik |
/users/:login |
— | GitHub-gebruikersprofiel |
/teams/:organization/:slug |
— | Teampagina van een GitHub-organisatie |
/api-keys |
— | Beheer van API-sleutels. Geen ingang in de navigatie — alleen via de URL te bereiken |
/settings/… |
— | Instellingenschermen (hieronder) |
Gesprekken en threads hebben geen eigen route — een thread is een gesprek binnen /spaces/:spaceId, geopend als een tabblad in de editor in plaats van aangesproken via de URL.
Er is geen /dashboard-route en geen dashboardscherm. Het analyseoppervlak is /observability, bereikbaar onderaan de zijbalk.
Er is geen zijbalkitem “Plannen”. Plan Studio opent als een tabblad in de editor vanaf de rij van het plan in het gesprek dat het heeft voortgebracht; /plans en /plans/:kind/:id zijn deeplinks.
/observability en /pull-requests/compose hebben geen vermelding in de registers voor routetitels of broodkruimels, dus beide tonen alleen de kale app-naam in de venstertitel en geen broodkruimelpad.
Instellingenroutes
Sectie getiteld “Instellingenroutes”/settings verwijst door naar /settings/you/appearance. De instellingenknop in de zijbalk en Cmd/Ctrl + , gaan beide naar /settings/you/appearance.
Instellingenpaden zijn genamespaced per bereik — you/, workspace/, server/ — omdat het segment aangeeft wie een wijziging raakt. Twee paden dateren van vóór de namespacing en hebben geen bereik in de URL: /settings/memory en /settings/pipelines.
| Pad | Scherm |
|---|---|
/settings/you/appearance |
Thema, taal, typografie, editorthema (de landingspagina van de instellingen) |
/settings/you/notifications |
Schakelaars per gebeurtenis, stille uren |
/settings/you/keybindings |
Naslagwerk voor sneltoetsen (alleen-lezen) |
/settings/you/audio |
Microfoon, dicteren, vergaderingsdetectie en klanklandschap-uitvoer |
/settings/you/devices |
Gekoppelde telefoons en afstandsbediening |
/settings/you/newsfeed |
Feedbeheer: bronnen, verversen, leesstatus |
Werkruimte
Sectie getiteld “Werkruimte”| Pad | Scherm |
|---|---|
/settings/workspace/profile |
Profiel en identiteit in deze werkruimte: naam, git-auteur, codehosting, agenda |
/settings/workspace/general |
Naam, logo, patronen voor geheimen, reviewconcurrentie, branchnaamgeving, synchronisatiestatus, chatbruggen, gevarenzone |
/settings/workspace/meetings |
Sjablonen voor vergadernotities en opgeslagen stemprofielen |
/settings/workspace/members |
Ledenlijst, uitnodigingen, auditlogboek. Het auditlogboek pagineert met optionele ?cursor= |
/settings/workspace/repositories |
Repository’s die in deze werkruimte zijn geregistreerd |
/settings/workspace/agents |
Geregistreerde agentidentiteiten |
/settings/workspace/skills |
Configuratie van skills |
/settings/memory |
Werkruimtegeheugen: feiten, beleid, kennisgraaf |
/settings/workspace/permissions |
Agentmachtigingen: matrix van beveiligingen en wat-als-probe |
/settings/pipelines |
Pipelinesjablonen |
/settings/pipelines/:templateId |
Editor voor pipelinesjablonen (drag-and-drop-canvas) |
Server
Sectie getiteld “Server”| Pad | Scherm |
|---|---|
/settings/server/connection |
Verbinding en status |
/settings/server/sso |
Single sign-on (SAML, OIDC, SCIM-provisioning) |
/settings/server/providers |
Modelaanbieders en adapters |
/settings/server/mcp |
Ingebouwde en externe MCP-servers |
/settings/server/voice |
Spraak- en vergadermodellen (ASR, diarisatie) |
/settings/server/rigs |
Rigs: wat deze host kan starten, basis-images, aangepaste images, draaiende machines |
/settings/server/sandbox |
Sandbox-uitvoeringsrechten: programma’s die agents mogen uitvoeren vanuit hun werkkopie van je repository’s |
/settings/server/diagnostics |
Diagnose en privacy: sandboxing, embedding, logging, crashrapportage |
/settings/server/backup |
Back-up en herstel: momentopnamen van de installatie, export per werkruimte, importeren en verwijderen |
/settings/server/about |
Over en updates |
kSettingsNav in lib/features/settings/settings_nav.dart is de enige bron van waarheid voor deze lijst. settings_nav_test.dart legt unieke id’s, unieke routes, de afgevlakte J/K-volgorde en de drie bereiken vast. De test loopt niet elke geregistreerde GoRoute af.
Routeconfiguratie
Sectie getiteld “Routeconfiguratie”| Aandachtspunt | Bestand |
|---|---|
| Router | lib/router/app_router.dart |
| Routebuilders | lib/router/routes.dart |
| Auth-guards | lib/router/guards.dart |
| Onboardingpoort | lib/features/auth/providers/onboarding_providers.dart |
| Instellingennavigatie | lib/features/settings/settings_nav.dart |