דלגו לתוכן

מפת נתיבים

מסגרת היישום (ControlCenterLayout) עוטפת כל נתיב בתוך סביבת עבודה דרך ShellRoute. כל יעד בתוך המסגרת מקבל קידומת של סביבת עבודה — /workspaces/:workspaceId/… — ומזהה סביבת העבודה בכתובת הוא מקור האמת היחיד לסביבת העבודה הפעילה. רק המשטחים שאינם תלויים בהקשר הם בלי קידומת: /splash, /onboarding, /signed-out ובורר /workspaces החשוף, כולם במסך מלא ומחוץ למסגרת.

שער הקליטה נחשב שלם عندما מחובר לפחות מארח קוד אחד עבור המשתמש המחובר ולפחות סביבת עבודה אחת קיימת.

פרטי התחברות חסרים והגדרה חסרה הם שני מסכים שונים, והמבחין ביניהם הוא users.onboarding_finished_at הנקרא מ־identity.me של הקורא עצמו — ולעולם לא “קיימות סביבות עבודה”, שכן הנחה זו שגויה ברגע שמישהו מוזמן לסביבת עבודה שהוא מעולם לא יצר. כשאין מארח קוד מחובר, חשבון שהשלים את הקליטה עובר ל־/signed-out כדי לאמת את זהותו מחדש; חשבון שלא השלים אותה עובר ל־/onboarding. כל עוד הדגל אינו ידוע, השומר מחזיק במסך האתחול במקום לנחש, מפני שהוא לעולם אינו מפנה חזרה החוצה מהקליטה.

נתיב מסך
/splash מסך האתחול שקובע את שער הקליטה
/onboarding חיבור מארח קוד, יצירה או הצטרפות לסביבת עבודה, ארגז חול, מתאם ברירת מחדל ואז קול. שלב סביבת העבודה מדולג כשהחשבון כבר שייך לאחת
/signed-out אימות מחדש: אותה כרטיסיית חיבורי מארחי קוד שההגדרות מציגות, בלי סרגל שלבים ובלי כפתור המשך — הנתב יוצא ממנה מעצמו ברגע שמארח קוד מדווח
/workspaces רשימת סביבות עבודה ובורר
/workspaces/:workspaceId מפנה אל /workspaces/:workspaceId/inbox

הנתיבים שלהלן משמיטים את הקידומת /workspaces/:workspaceId.

נתיב פרמטרי שאילתה מסך
/inbox — דואר נכנס מאוחד: בקשות משיכה מסווגות לפי מחזור חיי הסקירה, וגם עבודה שאינה בקשת משיכה וחוסמת את המפעיל. נתיב הנחיתה שאחרי השומר; /workspaces/:workspaceId חשוף מפנה לכאן
/spaces — משטח מרחבים, בלי מרחב נבחר
/spaces/:spaceId ?m=<messageId>, ?tab=<key> מרחב אחד; m יוצר קישור ישיר להודעה והוא נצרך פעם אחת עם הפתיחה
/tickets — לוח כרטיסים
/tickets/:ticketId — כרטיס במתכונת אב־פרטים
/projects/:projectId — סקירת פרויקט
/pull-requests ?repo=<owner/name> רשימת בקשות משיכה; repo בוחר את המאגר הזה בסרגל השמאלי
/pull-requests/compose ?space=<spaceId> כתיבת בקשת משיכה חדשה; space מציין את המרחב שעץ העבודה המבודד שלו מספק את הענף
/pull-requests/:owner/:repo/:prNumber ?tab=<key>, ?comment=<id> פרטי בקשת משיכה עם מציג הבדלים; comment הוא מזהה ה-REST המספרי של תגובה אחת
/pipelines — רשימת הרצות פייפליין
/pipelines/run ?templateId=<id> משגר להפעלה ידנית
/pipelines/:runId — פרטי הרצת פייפליין (ציר זמן של שלבים)
/plans — מרכז Plan Studio: תוכניות פעילות, מסמכי תוכנית ופלייבוקים
/plans/:kind/:id — Plan Studio לתוכנית אחת; kind הוא orchestration או document
/meetings — רשימת פגישות
/meetings/record — מסך הקלטת פגישה בזמן אמת
/meetings/:meetingId — פרטי פגישה: הערות, תמלול, משימות לביצוע והחלטות
/calendar — לוח שנה: תצוגות חודש, שבוע וסדר יום
/calendar/:eventId — פרטי אירוע בלוח השנה (נתיב אחים; חולק את מפתח העמוד של לוח השנה)
/newsfeed — רשימת עדכוני חדשות
/newsfeed/article/:articleId — קורא מאמרים
/observability — מרכז הניטור: לשוניות שימוש, תובנות, בזמן אמת ואיכות מעל זרם יומני ההרצה של סביבת העבודה. ברירת המחדל היא לשונית השימוש
/users/:login — פרופיל משתמש ב-GitHub
/teams/:organization/:slug — פרופיל צוות בארגון GitHub
/api-keys — ניהול מפתחות API. אין נקודת כניסה בניווט — נגיש רק דרך כתובת URL
/settings/… — מסכי הגדרות (להלן)

לשיחות ולשרשורים אין נתיב משלהם — שרשור הוא שיחה בתוך /spaces/:spaceId, שנפתחת כלשונית עורך ולא ממוענת דרך כתובת URL.

אין נתיב /dashboard ואין מסך לוח בקרה. משטח הניתוח הוא /observability, שאליו מגיעים מתחתית סרגל הצד.

אין פריט “תוכניות” בסרגל הצד. Plan Studio נפתח כלשונית עורך משורת התוכנית שבשיחה שיצרה אותה; /plans ו־/plans/:kind/:id הם קישורים ישירים.

ל־/observability ול־/pull-requests/compose אין רשומה במרשם כותרות הנתיבים או במרשם נתיבי הניווט, ולכן שניהם מציגים את שם האפליקציה בלבד בכותרת החלון ובלי נתיב ניווט.

/settings מפנה אל /settings/you/appearance. כפתור ההגדרות בסרגל הצד וגם Cmd/Ctrl + , מובילים שניהם אל /settings/you/appearance.

נתיבי ההגדרות מסווגים לפי היקף — you/, workspace/, server/ — מפני שהמקטע מציין על מי משפיע השינוי. שני נתיבים קדמו לסיווג הזה ואינם מסווגים בכתובת: /settings/memory ו־/settings/pipelines.

נתיב מסך
/settings/you/appearance ערכת נושא, שפה, טיפוגרפיה וערכת נושא לעורך (דף הנחיתה של ההגדרות)
/settings/you/notifications מתגים לפי אירוע ושעות שקט
/settings/you/keybindings עיון בקיצורי מקלדת (לקריאה בלבד)
/settings/you/audio מיקרופון, הכתבה, זיהוי פגישות ופלט הנוף הצלילי
/settings/you/devices טלפונים משויכים ושליטה מרחוק
/settings/you/newsfeed ניהול הפיד: מקורות, רענון ומצב קריאה
נתיב מסך
/settings/workspace/profile פרופיל וזהות בסביבת עבודה זו: שם, מחבר git, אחסון קוד ולוח שנה
/settings/workspace/general שם, לוגו, דפוסי סודות, מקביליות סקירות, שמות ענפים, תקינות הסנכרון, גשרי צ’אט ואזור מסוכן
/settings/workspace/meetings תבניות הערות לפגישות ופרופילי קול שמורים
/settings/workspace/members רשימת חברים, הזמנות ויומן ביקורת. יומן הביקורת נחלק לעמודים עם ?cursor= אופציונלי
/settings/workspace/repositories מאגרים הרשומים בסביבת עבודה זו
/settings/workspace/agents זהויות סוכנים רשומות
/settings/workspace/skills הגדרת מיומנויות
/settings/memory זיכרון סביבת העבודה: עובדות, כללי מדיניות וגרף ידע
/settings/workspace/permissions הרשאות סוכנים: מטריצת מעקות בטיחות ובדיקת מה־אם
/settings/pipelines תבניות פייפליין
/settings/pipelines/:templateId עורך תבניות פייפליין (משטח גרירה ושחרור)
נתיב מסך
/settings/server/connection חיבור וסטטוס
/settings/server/sso כניסה מאוחדת (SAML, OIDC, הקצאת משתמשים עם SCIM)
/settings/server/providers ספקי מודלים ומתאמים
/settings/server/mcp שרתי MCP מובנים וחיצוניים
/settings/server/voice מודלי קול ופגישות (ASR, הפרדת דוברים)
/settings/server/rigs תחנות: מה המארח הזה יכול להפעיל, תמונות בסיס, תמונות מותאמות אישית ומכונות שרצות
/settings/server/sandbox ארגז חול: הרשאות הפעלה — תוכניות שסוכנים רשאים להריץ מעותק העבודה שלהם של המאגרים שלכם
/settings/server/diagnostics אבחון ופרטיות: ארגז חול, הטמעות, רישום לוגים ודיווחי קריסות
/settings/server/backup גיבוי ושחזור: תמונות מצב של ההתקנה, ייצוא לכל סביבת עבודה, ייבוא ומחיקה
/settings/server/about אודות ועדכונים

kSettingsNav ב־lib/features/settings/settings_nav.dart הוא מקור האמת היחיד לרשימה הזו. settings_nav_test.dart מקבע מזהים ייחודיים, נתיבים ייחודיים, סדר J/K שטוח ואת שלושת ההיקפים. הוא אינו עובר על כל GoRoute רשום.

נושא קובץ
נתב lib/router/app_router.dart
בוני נתיבים lib/router/routes.dart
שומרי אימות lib/router/guards.dart
שער הקליטה lib/features/auth/providers/onboarding_providers.dart
ניווט ההגדרות lib/features/settings/settings_nav.dart