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

لمستخدمي 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       middleware
  packages/api/src/auth/jwt.ts:88           token verify
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  rbac gate

 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
[exit 0]

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

الإعداد مع Antigravity

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

  1. // step 01

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

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

  2. // step 02

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

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

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

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