تخطَّ إلى المحتوى

لمستخدمي GitHub Copilot CLI

يبدأ Copilot كل جلسة دون أي معرفة مسبقة.

تخبر التعليمات المخصصة Copilot بكيفية التصرف، لكنها لا تخبره بما يوجد في مستودعك. تفهرس Maguyva قاعدة الكود وتعيد تقديمها عبر MCP، لكي يحرّر GitHub Copilot CLI كما لو أنه قرأ الكود بالفعل.

خطة Free: 3 مستودعات, حتى 50 ألف سطر مُفهرَس من المستودع، بلا بطاقة.

استخدم التعليمات للسلوك. استخدم Maguyva لحقائق قاعدة الكود الحالية.

البنية الطبقية

أربع أفكار. لكل واحدة مهمتها.

‏// الاتفاق

copilot-instructions.md

كيف ينبغي أن يتصرَّف Copilot في هذا المستودع.

‏// النقل

MCP

كيف يصل Copilot إلى الأدوات والسياق الخارجيَّين.

‏// قاعدة الكود

Maguyva

خادم MCP الذي يُرجع حقائق مؤسَّسة عن المستودع.

التعليمات المخصصة هي اتفاقية عمل. استخدمها.

# .github/copilot-instructions.md
- فضّل حدود الوحدات الحالية.
- شغّل أمر اختبار المستودع قبل اقتراح دمج.
- لا تختلق مسارات ملفات. اسأل قبل إنشاء حزمة جديدة.

التعليمات الدائمة مكانها .github/copilot-instructions.md. إنه المكان المناسب لـ:

  • أوامر البناء والاختبار وفحص الأسلوب التي يجب أن يشغّلها Copilot.
  • قواعد “افعل X دائماً / لا تفعل Y أبداً” المحصورة بهذا المستودع.
  • اصطلاحات التسمية وتفضيلات المراجعة.
  • إشارات إلى سجل القرارات — وليس تفريغاً لكل رمز.

لم يكن ذلك الملف أبداً فهرساً قابلاً للاستعلام للمستودع. إنه يخبر Copilot كيف يعمل، لكنه لا يخبره بما هو موجود هناك.

أين تتوقف التعليمات المخصصة عن الصمود على نطاق واسع

أربعة أنماط فشل لا يستطيع Copilot إصلاحها من ملف markdown وحده.

// التعليمات ليست فهرساً

Telling Copilot how to behave does not tell it which class owns parseConfig, or which package actually implements the public API. أول تعديل على شجرة غير مألوفة هو مجرد تخمين لبنية الملفات.

// المستندات تصبح قديمة، أما الكود فلا

كتلة تعليمات تصف تدفق المصادقة للربع الماضي تصبح خاطئة بوضوح في اليوم الذي يقسّم فيه أحدهم مخزن الجلسات. Copilot will prefer the file you committed over the code that shipped.

// التبعيات ليست في ملف markdown

“ما الذي يستورد هذا؟” is a graph question. لا يمكن للتعليمات سرد كل مستدعٍ، ولن ترغب في ذلك أصلاً.

// لنوافذ السياق ميزانية محدودة

حشو المزيد من المستودع في التعليمات يستبدل رموز الاستدلال بلقطة قديمة. بعد بضعة كيلوبايتات، تدفع ثمن خريطة أسوأ.

Maguyva كطبقة إضافية

يفكر Copilot بالفعل بالتعليمات والأدوات.

copilot-instructions.md

اتفاقية

كيف يتصرف Copilot

MCP

القناة

كيف يصل

Maguyva

حقائق قاعدة الكود

ما الذي يراه

  • خريطة قابلة للاستعلام للمستودع تُقدَّم عبر MCP كخادم بث HTTP عن بُعد.
  • 11 أداة موجهة للعملاء عبر البحث الدلالي، والهيكلي (AST)، والرسم البياني، والنصي، إضافة إلى الرموز والتوابع واسترجاع الملفات.
  • نتائج مرتبة مع مسارات الملفات وأرقام الأسطر عبر أكثر من 284 لغة وتقنية نصية.
  • إعداد واحد نفس مساحة العمل تجيب في Copilot وClaude Code وCursor وCodex وأي عميل آخر متوافق مع MCP.

تخبر التعليمات المخصصة Copilot بكيفية التصرف.

يمنح Maguyva Copilot خريطة قابلة للاستعلام للكود.

ثلاثة سير عمل

اسأل الخريطة قبل أن تقبل الفرق (diff).

// workflow 01

اعثر على التنفيذ الحقيقي، وليس شاهد الاختبار

copilot> كيف تتعامل normalizePhoneNumber مع صيغة E.164؟

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← تنفيذ حقيقي
  test/util/phone.spec.ts:14  jest.mock(...)      ← شاهد

→ يفتح Copilot التنفيذ، وليس المحاكاة.
[exit 0]

الأسماء قد تكذب. المحاكاة تخفي الكود الحقيقي. يرتب Maguyva التنفيذ الحقيقي فوق محاكاة الاختبار.

// workflow 02

تحقق من نطاق التأثير قبل إعادة الهيكلة

copilot> ما الذي يستدعي QueueDispatcher.publish؟

graph::callers(QueueDispatcher.publish)
  3 في src/billing/*    1 في src/audit/*    1 في src/notifications/*

→ يستند الفرق (diff) إلى مستوردين حقيقيين.
[exit 0]

تظهر نقاط الاستدعاء عبر الحزم مباشرة ضمن السياق. يستند الفرق إلى مستوردين حقيقيين، وليس إلى بحث Copilot النصي.

// workflow 03

أعد تسمية فئة مشتركة، واعثر على كل تابع أولاً

copilot> rename PaymentClient → BillingClient

graph::callers(PaymentClient)            12 مرجعاً في 7 حزم
graph::importers(src/payments/client.ts)  9 مستوردين
graph::extends(PaymentClient)             فئتان فرعيتان (RetryClient، MockClient)

→ يقترح Copilot عملية ترحيل مع قائمة الملفات مضمّنة.
[exit 0]

يسأل Copilot Maguyva عن التوابع قبل أن يبدأ بالتعديل. تعود قائمة الترحيل مستندة إلى الرسم البياني الحقيقي، وليس إلى ذاكرة Copilot.

الإعداد في GitHub Copilot CLI

ثلاث خطوات. خطة Free: 3 مستودعات, حتى 50 ألف سطر مُفهرَس من المستودع، بلا بطاقة.

  1. // step 01

    فهرسة مستودع واحد على maguyva.ai

    اختر مستودعاً تعرفه بالفعل، حتى تتمكن من تقييم الإجابات. سجّل مجاناً، اربط GitHub، وانتظر اكتمال الفهرسة.

  2. // step 02

    أضف Maguyva كخادم MCP عن بُعد في Copilot

    copilot mcp add --transport http --header "Authorization: Bearer mgv_xxxx" maguyva https://maguyva.tools/mcp

    ~/.copilot/mcp-config.json

    {
      "mcpServers": {
        "maguyva": {
          "type": "http",
          "url": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer mgv_xxxx"
          }
        }
      }
    }
  3. // step 03

    اطرح سؤالاً واحداً تعرف إجابته بالفعل

    لا تبدأ بالشركة بأكملها. اطرح سؤالاً واحداً تعرف إجابته بالفعل، ثم افتح الملف المُشار إليه.