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

لمستخدمي Antigravity

Antigravity تشغِّل الوكلاء.
Maguyva يمنحهم الخريطة.

‏Antigravity بيئة تطوير تُعطي الأولوية للوكلاء: يخطِّط الوكلاء ويحرِّرون عبر المحرِّر والطرفية والمتصفح. في مستودع موحّد حقيقي، ما زالوا يحتاجون إلى خريطة توضّح أي ملف يهم. يفهرس Maguyva قاعدة الكود لديك ويعيدها عبر MCP (دلاليًا، وAST، ورسم بيانيًا، ونصيًا)، لذا يعيد سؤال «أين تحدث المصادقة» تدفق المصادقة الفعلي، لا سبعة بدائل وهمية للاختبار.

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

Antigravity تشغِّل الوكيل. Maguyva يخبره بالملف الذي يجب أن يمسّه.

ما تقوم به كل طبقة

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

‏// بيئة تطوير الوكلاء

Antigravity

حيث يخطِّط وكلاؤك ويحرِّرون ويتحقَّقون.

‏// السياق اليدوي

إشارات @ + القواعد

السياق اليدوي يفوز، إلى أن يكبر المستودع.

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

Maguyva

حقائق تلقائية عن قاعدة الكود عبر MCP.

Antigravity تشغِّل الوكلاء. دعها تفعل.

بيئة تطوير الوكلاء ليست هي المشكلة. مدير الوكلاء (Agent Manager)، والتنفيذ عبر أسطح متعدّدة، وملفات القواعد كلها ممتازة، وأنت بالفعل تستخدمها من أجل:

  • تخطيط الوكلاء وتشغيلهم عبر المحرِّر والطرفية والمتصفح.
  • التحرير متعدد الملفات حين يكون التغيير محليًا.
  • قواعد الوكيل لأعراف المستودع وضوابط الأسلوب.
  • إشارات @ لسحب ملف محدَّد إلى السياق.

واصل فعل ذلك. لا شيء منه يختفي.

لكن في مستودع موحّد حقيقي (TypeScript بتبعيات مساحة العمل، وخدمات Python، وحزم مختلطة) ينهار سياق الوكيل بمجرد أن لا يكون الملف المعني على رادار الوكيل أصلًا.

إصلاحات يدوية جرّبتها من قبل، وأين تتعطّل

أربعة إصلاحات يدوية، مقترنة بنمط تعطّلها. اليسار = ما تفعله اليوم. اليمين = أين يتعطّل.

// the fix

‏// أشِر إلى الملفات

تُشير بـ@ إلى الملفات الثلاثة التي تظن أنها مهمة. يحرِّر الوكيل بدقة داخلها.

// where it breaks

‏// الإشارة تخمين

يعمل هذا حين تعرف مسبقًا أي الملفات معنيّة. الوكيل المستقل يحتاج إلى الملفات التي لم تكن تعرف أن تشير إليها.

// the fix

‏// الصق المقتطفات

تلصق 200 سطر من حزمة أخرى في الوكيل لتمنحه سياقًا كافيًا.

// where it breaks

‏// الكود المُلصَق يصبح قديمًا

المقتطف الذي ألصقته الساعة 9 صباحًا لا يعكس عملية rebase التي أنجزها زميلك الساعة 11 صباحًا. الوكيل يحرِّر على نسخة وهمية من الحزمة.

// the fix

‏// اكتب وثيقة سياق

تكتب ملف قواعد للوكيل أو وثيقة معمارية بصيغة markdown. تكون صحيحة اليوم.

// where it breaks

‏// الوثائق تنحرف أسرع من الكود

أي شيء تكتبه يدويًا ينحرف عن الواقع. الكود هو مصدر الحقيقة. وثيقة تشرح طبقة قائمة الانتظار تكون صحيحة لأسبوع، ثم خاطئة إلى الأبد.

// the fix

‏// أبقِ ملفات القواعد

تضيف قواعد للوكيل للتسمية والـlint وأوامر البناء. ممتاز للسلوك.

// where it breaks

‏// القواعد ≠ الفهرس

القواعد هي المكان الصحيح لـ“شغِّل دائمًا pnpm tsc -b قبل تسجيل الإيداعات”. إنها ليست فهرسًا قابلًا للاستعلام عن كل رمز وملف وموقع استدعاء في مستودعك الموحّد.

Maguyva هو الطبقة الأساسية

ليست بديلًا عن Antigravity. طبقة سياق المستودع التي تتصل بدعم MCP فيها.

  • دلالي + AST + رسم بياني + نصي بحث بالمعنى، أو البنية، أو التبعية، أو النص الحرفي. كل نتيجة تُرجع مسار ملف ورقم سطر.
  • عابر للحزم افتراضيًا مواقع الاستدعاء والمستوردون عبر كل حزمة في المستودع الموحّد، لا الحزمة التي يفتحها الوكيل فقط.
  • واعٍ بالفرع يرى Maguyva نسخة الكود التي يحرِّرها الوكيل.
  • مصمَّمة للاستقلالية الوكيل الذي يخطِّط للعديد من التعديلات يحتاج إلى نطاق التأثير مسبقًا، لا بعد أن يتحوّل CI إلى الأحمر.

Antigravity تقرِّر ما الذي سيُعدَّل.

Maguyva يخبر الوكيل بما يمسّه التعديل.

ثلاثة تدفقات عمل في المستودع الموحّد

عابر للحزم، وعابر للغات. مؤسَّس على الرسم البياني الفعلي للاستدعاءات، لا على grep الوكيل.

// workflow 01

إيجاد تدفق المصادقة عبر الحزم، بلا الإشارة إلى أي شيء

agent> أين تحدث المصادقة في هذا المستودع الموحّد؟

graph::query("authentication flow")
  packages/web/src/auth/session.ts:42       طبقة وسيطة
  packages/api/src/auth/jwt.ts:88           التحقق من الرمز
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  فحص صلاحيات RBAC

→ 4 نقاط دخول عبر 4 حزم، مرتَّبة حسب كثافة مواقع الاستدعاء.
[exit 0]

لم تُشِر إلى ملف. لم تلصق مقتطفًا. لدى الوكيل الملفات الأربعة المهمة، بالترتيب الصحيح، ويمكنه إجراء تعديل مؤسَّس.

// workflow 02

إيجاد التنفيذ الحقيقي، لا البديل الوهمي

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

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

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

// workflow 03

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

agent> ما الذي يستدعي QueueDispatcher.publish عبر المستودع الموحّد؟

graph::callers(QueueDispatcher.publish)
  3 في packages/billing/*
  1 في packages/audit/*
  1 في packages/notifications/*
  1 في services/python-worker/*  ← عابر للغات عبر واجهة gRPC ‏(stub)
[exit 0]

عابر للحزم، وعابر للغات عندما يكون لديك مستودع متعدد اللغات، تظهر مواقع الاستدعاء ضمن السياق. الوكيل المستقل يحصل على نطاق التأثير قبل أن يعدِّل، لا بعد أن يتحوّل CI إلى الأحمر.

الإعداد مع Antigravity

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

  1. // step 01

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

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

  2. // step 02

    أضف Maguyva كخادم MCP في Antigravity

    ~/.gemini/config/mcp_config.json

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

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

    لا توجِّه الوكيل نحو شركتك بأكملها. ابدأ بمستودع واحد وسؤال واحد يمكن التحقق منه، مثل «ما الذي يستدعي formatInvoice عبر الحزم؟»