// السياق
GEMINI.md
كيف ينبغي أن يتصرَّف Gemini في هذا المستودع.
لمستخدمي Gemini CLI
GEMINI.md يضبط سياق العمل. MCP يتيح لـGemini الوصول إلى الأدوات. Maguyva هو خادم MCP الذي يمنح Gemini خريطة قابلة للاستعلام عن مستودعك، لذا لا يكون التعديل الأول تخمينًا لبنية الملفات.
خطة Free: 3 مستودعات, حتى 50 ألف سطر مُفهرَس من المستودع، بلا بطاقة.
GEMINI.md هو السياق. MCP هو القناة. Maguyva هو الخريطة. أربع أفكار. لكل واحدة مهمتها.
// السياق
كيف ينبغي أن يتصرَّف Gemini في هذا المستودع.
// النقل
كيف يصل Gemini إلى الأدوات والسياق الخارجيَّين.
// قاعدة الكود
خادم MCP الذي يُرجع حقائق مؤسَّسة عن المستودع.
// من يدفع
الوكلاء لا يدفعون مقابل مقاعد. اطّلع على الأسعار
التعليمات الدائمة مكانها GEMINI.md. إنه المكان الصحيح لـ:
اجعله موجزًا. حدِّد نطاقه. أودعه في Git.
لكن GEMINI.md لم يُصمَّم قط ليكون فهرسًا قابلًا للاستعلام عن كل رمز وملف وموقع استدعاء في مستودعك.
أربعة أنماط فشل، واحد لكل بطاقة.
إخبار Gemini كيف يعمل لا يخبره بما هو موجود. التعديل الأول على حزمة غير مألوفة هو تخمين لمسارات الملفات وأسماء الدوال. لا يمكن لـGEMINI.md سرد كل رمز، ولن ترغب في ذلك أصلًا.
قسم في GEMINI.md يصف بنية قائمة الانتظار لديك يكون صحيحًا إلى أن يُدخِل أحدهم مستهلِكًا جديدًا. الكود الآن هو مصدر الحقيقة، والوثيقة قديمة بثقة زائفة. يقرأ Gemini الوثيقة الخاطئة.
«ما الذي يشير إلى هذه الفئة؟» سؤال لا يمكن الإجابة عنه من ملف markdown. إما أن يبحث Gemini بـgrep ويدعو أن ينجح عبر المستودع الموحّد، أو يطلب منك لصق مواقع الاستدعاء في المحادثة.
نافذة سياق كبيرة ليست كفهرس قابل للاستعلام. تحميل GEMINI.md إلى أن “يعرف Gemini ما يكفي” ما زال يستبدل ميزانية الاستدلال بحجم سياق جامد.
مستخدمو Gemini يفكِّرون بهذا الشكل بالفعل. ينبغي أن توضِّح الصفحة ذلك.
GEMINI.md
السياق
كيف يتصرَّف Gemini
MCP
القناة
كيف يصل
Maguyva
حقائق قاعدة الكود
ما يراه
GEMINI.md يخبر Gemini كيف يعمل.
Maguyva يمنح Gemini ما يعمل انطلاقًا منه.
خاص بـGemini. مؤسَّس على الرسم البياني الفعلي للاستدعاءات، لا على grep الخاصة بـGemini.
// workflow 01
gemini> أعد تسمية PaymentClient → BillingClient graph::callers(PaymentClient) 12 مرجعًا عبر 7 حزم graph::importers(src/payments/client.ts) 9 جهات استيراد graph::extends(PaymentClient) 2 من الأصناف الفرعية (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.
ثلاث خطوات. خطة Free: 3 مستودعات, حتى 50 ألف سطر مُفهرَس من المستودع، بلا بطاقة.
// step 01
اختر واحدًا تعرفه جيدًا، لتتمكَّن من التحقق من الإجابات.
// step 02
~/.gemini/settings.json
{
"mcpServers": {
"maguyva": {
"httpUrl": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer ${MAGUYVA_API_KEY}"
}
}
}
} // step 03
لا تبدأ بشركتك بأكملها. ابدأ بمستودع واحد وسؤال واحد يمكن التحقق منه.