تخطَّ إلى المحتوى الرئيسي
تصفّح التوثيق

حافظ على حداثة الكتالوج

أعد تشغيل الاكتشاف عندما تتغير واجهة API، وادمجه في CI، ودع كشف الانحراف أثناء التشغيل يلتقط ما تسرّب.

يصف كتالوج القدرات واجهة API لديك لحظة تشغيل الاكتشاف. الواجهات تتغير — لذا فإن الحداثة حلقة مستمرة لا حدثًا واحدًا: أعد تشغيل الاكتشاف عند التغيير، وأتمته في CI، ودع كشف الانحراف أثناء التشغيل يلتقط ما أفلت.

أعد تشغيل الاكتشاف كلما تغيّرت الواجهة

إعادة تشغيل init آمنة بحكم التصميم: الاستخراج حتمي، ويُعاد كتابة ملف الكتالوج (.syncanix/catalog.json) من شيفرتك الحالية، ويُرفع الكتالوج المحدَّث إلى مساحة العمل نفسها. لا توجد خطوة ترحيل — إعادة التشغيل هي التحديث.

npx syncanix init

تنجو خياراتك من إعادة التشغيل: تُستبعد مدخلات .syncanixignore في كل تشغيل لأن الملف يعيش في مستودعك، وتعديلاتك لكل قدرة في لوحة التحكم مرتبطة بالقدرة وتُطبَّق من جديد بعد إعادة الفحص — وهذا البقاء مغطى باختبار تكامل لا بمجرد عُرف.

أتمتها: الاكتشاف في CI

في CI، شغِّل init بلا تفاعل باستخدام ‎--yes وصادق عبر متغيّر البيئة SYNCANIX_API_KEY (أنشئ مفتاحًا في لوحة التحكم وخزِّنه سرًّا في CI — وهو المفتاح نفسه الذي كان سيكتبه syncanix login محليًا). سير عمل GitHub Actions بسيط:

# .github/workflows/syncanix-catalog.yml
name: Refresh Syncanix catalog
on:
  push:
    branches: [main]
jobs:
  refresh:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20' }
      - run: npx syncanix init --yes
        env:
          SYNCANIX_API_KEY: ${{ secrets.SYNCANIX_API_KEY }}

شغِّله عند الدفع إلى الفرع الرئيس (أو فقط عند تغيُّر مسارات شيفرة الواجهة باستخدام مرشّحات CI لديك). تعيد المهمة الاستخراج والرفع، ويلتقط مساعدك الكتالوج المحدَّث — من دون أي نشر لـ Syncanix نفسه.

كشف الانحراف أثناء التشغيل (Node SDK)

حتى مع CI، قد يصدر نقطة نهاية لم يرها الاكتشاف قط. تراقب حزمة Node SDK الحركة الحقيقية لهذا تحديدًا: تشترك في قناة تشخيص HTTP المدمجة في Node — من دون أي ترقيع للوحدات وبكلفة صفرية عند الخمول — وتقارن كل طلب وارد بمجموعة القدرات المعروفة.

الطلبات التي لا تطابق أي قدرة معروفة تُصدر حدث انحراف من نوع نقطة-نهاية-جديدة بعد إزالة التكرار، وترفعه الحزمة إلى مساحة عملك — فتعرض لك اللوحة نقاط نهاية تخدم حركة إنتاج لا يعرفها كتالوجك. تعامل مع حدث الانحراف كإشارة لإعادة تشغيل الاكتشاف.

المستودعات الأحادية والشيفرات متعددة اللغات

شغِّل init مرة واحدة من جذر المستودع. يكتشف الاكتشاف كل أطر العمل التي يجدها — عبر مساحات العمل وعبر اللغات — ويستخرج كلًّا منها ويدمج النتائج في كتالوج واحد؛ فمستودع أحادي يضم مثلًا واجهة NestJS وخدمة FastAPI يُنتج مجموعة قدرات موحَّدة. وإذا أُسيء اكتشاف إطار، فثبّته بـ ‎--framework.

الخطوات التالية