# ‏Goose يعمل بالامتدادات. أضف امتدادًا يعرف مستودعك.

Canonical source: https://maguyva.ai/ar/for-goose

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

ينجز Goose عمله عبر الامتدادات، وكل امتداد هو خادم MCP. Maguyva هي الامتداد الذي يفهرس قاعدة الكود لديك، فيسأل Goose عن أماكن الأشياء بدل سرد المجلدات.

> استخدم ‎.goosehints لطريقة العمل، وMaguyva لما يقوله الكود الآن.

## ما يجب معرفته عن Goose

أربع حقائق خاصة بـGoose.

### config.yaml

توضع الامتدادات تحت `extensions` في `~/.config/goose/config.yaml`. الأمر `goose configure` → Add Extension يكتب لك إدخالًا من النوع نفسه.

### امتداد بعيد

Maguyva امتداد من نوع `streamable_http`، لذا يتصل Goose بنقطة النهاية بنفسه: لا عملية محلية ولا Node.js. يوضع الرابط في `uri` لا في `url`.

### headers

يرسل Goose خريطة `headers` مع كل طلب، لذا يوضع المفتاح في ترويسة `Authorization`. ويمكن لـGoose أيضًا ملؤها من متغير بيئة مذكور تحت `env_keys`.

### available_tools

يستطيع الامتداد كشف جزء من أدواته فقط: اسرد ما تريده تحت `available_tools`، أو اتركه فارغًا لكشفها جميعًا.

## تلميحات Goose اتفاق عمل. استخدمها.

```text
# .goosehints
- استخدم pnpm، لا npm.
- شغّل اختبارات التكامل قبل أن تعدّ التغيير منتهيًا.
```

يحمّل Goose افتراضيًا `AGENTS.md` و`.goosehints`: التلميحات العامة من `~/.config/goose/.goosehints`، وتلميحات المشروع من المستودع، والملفات المتداخلة أثناء العمل في المجلدات الفرعية. تحتاج التلميحات إلى امتداد Developer. إنها المكان الصحيح لـ:

- خيارات الأدوات والأوامر.
- الأعراف التي ينبغي أن يتبعها Goose.
- أماكن التوثيق.

التلميحات تصف المشروع. لكنها لا تجيب عن “ما الذي يعتمد على هذا؟”

## حين لا تكفي التلميحات والصدفة

ثلاث فجوات يملؤها Goose بأوامر الصدفة، ملفًا بعد ملف.

### ‏// القائمة ليست خريطة

في مستودع غير مألوف، يتوجّه Goose بقوائم المجلدات وقراءة الملفات. وكل منها يستهلك سياقًا قبل أن تبدأ المهمة.

### ‏// grep يجد السلاسل لا المستدعين

لا يستطيع البحث النصي التمييز بين استدعاء حقيقي وتعليق، أو mock، أو دالة بالاسم نفسه.

### ‏// التلميحات تنحرف

ملف تلميحات كُتب في الربع الماضي يصف بنية الربع الماضي. ويتبعه Goose على أي حال.

## Maguyva كامتداد لـGoose

إدخال واحد في extensions يمنح Goose:

- **11 أداة على مستودعك المفهرس**: بحث دلالي وهيكلي (AST) وبالرسم البياني ونصي، إضافة إلى البحث عن الرموز والعناصر المعتمدة واسترجاع الملفات.
- **إجابات مع مسارات الملفات وأرقام الأسطر**: عبر أكثر من 285 لغة.
- **أدوات للقراءة فقط**: تستعلم أدوات Maguyva من الفهرس. لا تعدّل أيٌّ منها ملفاتك.

> التلميحات تخبر Goose *كيف يعمل*.
> Maguyva تمنح Goose *خريطة للكود*.

## سيرا عمل

الخريطة أولًا، ثم دع Goose يعمل.

### 01. تتبّع خللًا حتى مصدره

```text
goose> لماذا تنتهي بعض عمليات التصدير بصفر صفوف؟

semantic_search("export job empty result")
  src/export/runner.ts:118   flushBatch()
  src/export/filters.ts:40   applyTenantFilter()

→ يقرأ Goose ملفين، لا حزمة export كاملة.
[exit 0]
```

تضيّق النتائج المرتّبة نطاق البحث قبل أن يفتح Goose الصدفة.

### 02. افحص العناصر المعتمدة قبل إعادة الهيكلة

```text
goose> قسّم الفئة Notifier إلى بريد إلكتروني وSMS

dependency_search("Notifier", dependents)
  11 مرجعًا عبر 5 حزم

→ تغطي الخطة المراجع الأحد عشر كلها قبل التعديل الأول.
[exit 0]
```

يحصل Goose على قائمة العناصر المعتمدة كاملة في استدعاء واحد بدل سلسلة من أوامر grep.

## الإعداد في Goose

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

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

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

### 02. أضف Maguyva إلى extensions في config.yaml

`~/.config/goose/config.yaml`

```yaml
extensions:
  maguyva:
    name: maguyva
    type: streamable_http
    uri: https://maguyva.tools/mcp
    enabled: true
    headers:
      Authorization: Bearer mgv_xxxx
    timeout: 300

```

### 03. استبدل العنصر النائب وابدأ جلسة

استبدل `mgv_xxxx` بمفتاح API الخاص بك، وشغّل `goose session`، واطرح سؤالًا واحدًا تعرف إجابته مسبقًا. ملفات YAML حساسة للمسافات البادئة: استخدم المسافات لا علامات الجدولة.

تشرح [وثائق الامتدادات](https://goose-docs.ai/docs/getting-started/using-extensions/) الخاصة بـGoose الامتدادات البعيدة ومهلات الانتظار ومرشّحات الأدوات.

## افهرس مستودعًا واحدًا تعرفه جيدًا.

اتصل بـGoose عبر MCP، ثم اطرح سؤالًا واحدًا يمكنك التحقق منه.
