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

لمستخدمي Gemini CLI

‏GEMINI.md يخبر Gemini بقواعدك.
لا بكودك.

‏GEMINI.md يضبط سياق العمل. MCP يتيح لـGemini الوصول إلى الأدوات. Maguyva هي خادم MCP الذي يمنح Gemini خريطة قابلة للاستعلام عن مستودعك، لذا لا يكون التعديل الأول تخمينًا لبنية الملفات.

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

‏GEMINI.md هو السياق. MCP هو القناة. Maguyva هي الخريطة.

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

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

‏// السياق

GEMINI.md

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

‏// النقل

MCP

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

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

Maguyva

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

‏GEMINI.md سياق عمل. استخدمه.

التعليمات الدائمة مكانها GEMINI.md. إنه المكان الصحيح لـ:

  • أوامر البناء والاختبار والـlint التي ينبغي أن يشغِّلها Gemini.
  • ضوابط “افعل X دائمًا / لا تفعل Y أبدًا” المحدَّدة النطاق لمجلد معيَّن.
  • أعراف التسمية وتفضيلات إعادة الهيكلة.
  • إشارات إلى سجلّات القرارات المرجعية وملاحظات المعمارية.

اجعله موجزًا. حدِّد نطاقه. التزم به.

لكن GEMINI.md لم يُصمَّم قط ليكون فهرسًا قابلًا للاستعلام عن كل رمز وملف وموقع استدعاء في مستودعك.

أين ينفد GEMINI.md وحده

أربعة أنماط فشل، واحد لكل بطاقة.

‏// السياق ليس فهرسًا

إخبار Gemini كيف يعمل لا يخبره بما هو موجود. التعديل الأول على حزمة غير مألوفة هو تخمين لمسارات الملفات وأسماء الدوال. لا يمكن لـGEMINI.md سرد كل رمز، ولن ترغب في ذلك أصلًا.

‏// الوثيقة تنحرف عن الكود

قسم في GEMINI.md يصف بنية قائمة الانتظار لديك يكون صحيحًا إلى أن يُدخِل أحدهم مستهلِكًا جديدًا. الكود الآن هو مصدر الحقيقة، والوثيقة قديمة بثقة زائفة. يقرأ Gemini الوثيقة الخاطئة.

‏// إعادة التسمية مشكلة رسم بياني

«ما الذي يشير إلى هذه الفئة؟» سؤال لا يمكن الإجابة عنه من ملف markdown. إما أن يبحث Gemini بـgrep ويدعو أن ينجح عبر المستودع الأحادي، أو يطلب منك لصق مواقع الاستدعاء في المحادثة.

‏// نوافذ السياق ليست مجانية

نافذة سياق كبيرة ليست كفهرس قابل للاستعلام. تحميل GEMINI.md إلى أن “يعرف Gemini ما يكفي” ما زال يستبدل ميزانية الاستدلال بحجم سياق جامد.

كيف تتلاءم الطبقات الثلاث معًا

مستخدمو Gemini يفكِّرون بهذا الشكل بالفعل. ينبغي أن توضِّح الصفحة ذلك.

GEMINI.md

السياق

كيف يتصرَّف Gemini

MCP

القناة

كيف يصل

Maguyva

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

ما يراه

  • GEMINI.md كيف يتصرَّف Gemini في هذا المستودع.
  • MCP كيف يصل Gemini إلى الأدوات والسياق. (المواصفة)
  • Maguyva ما يراه Gemini عندما يطرح سؤالًا على قاعدة الكود. بحث دلالي وAST ورسم بياني ونصي، تُعاد نتائجه مع مسارات الملفات وأرقام الأسطر.

‏GEMINI.md يخبر Gemini كيف يعمل.

Maguyva تمنح Gemini ما يعمل انطلاقًا منه.

ثلاثة تدفقات عمل

خاص بـGemini. مؤسَّس على الرسم البياني الفعلي للاستدعاءات، لا على grep الخاصة بـGemini.

// workflow 01

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

gemini> أعد تسمية PaymentClient إلى BillingClient

graph::callers(PaymentClient)            12 references across 7 packages
graph::importers(src/payments/client.ts)  9 importers
graph::extends(PaymentClient)             2 subclasses (RetryClient, MockClient)

 يقترح Gemini عملية ترحيل من 21 تعديلًا مع قائمة الملفات مضمَّنة.
[exit 0]

يطلب Gemini من Maguyva المعتمِدين قبل أن يبدأ التحرير. تعود قائمة الترحيل مؤسَّسة على الرسم البياني الفعلي، لا على تذكُّر Gemini.

// workflow 02

إيجاد التنفيذ الحقيقي، لا البديل الاختباري

gemini> كيف تتعامل normalizePhoneNumber مع E.164؟

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← التنفيذ الحقيقي
  test/util/phone.spec.ts:14  jest.mock(...)      ← بديل اختباري
[exit 0]

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

// workflow 03

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

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

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

تظهر مواقع الاستدعاء العابرة للحزم ضمن السياق. الفرق مؤسَّس على مستوردين حقيقيين، لا على grep الخاصة بـGemini.

الإعداد في Gemini CLI

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

  1. // step 01

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

    اختر واحدًا تعرفه جيدًا، لتتمكَّن من التحقق من الإجابات.

  2. // step 02

    أضف Maguyva كخادم MCP في إعدادات Gemini CLI

    // ~/.gemini/settings.json
    {
      "mcpServers": {
        "maguyva": {
          "httpUrl": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer <your-key>"
          }
        }
      }
    }
  3. // step 03

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

    لا تبدأ بشركتك بأكملها. ابدأ بمستودع واحد وسؤال واحد يمكن التحقق منه.