خريطة المسارات
غلاف التطبيق
قسم بعنوان “غلاف التطبيق”يغلّف غلاف التطبيق (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. لا مدخل تنقّل — لا يُبلَغ إلا بالعنوان |
/settings/… |
— | شاشات الإعدادات (أدناه) |
لا مسار خاص بالمحادثات والخيوط. الخيط محادثة داخل /spaces/:spaceId، يُفتح لسان محرّر ولا يُعنون بمسار.
لا مسار /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 |