تأليف محوّل إطار عمل جديد
دليل تشغيلي لتأليف ونشر محوّل إطار عمل جديد لـ Apothem.
استخدم هذا الدليل التشغيلي عند تأليف محوّل إطار عمل جديد ليُدرَج بشكل أصيل في Apothem أو كحزمة طرف ثالث.
المتطلّبات المسبقة
- الإلمام بـ بروتوكول HarnessAdapter
- فهم صيغة تهيئة إطار العمل المستهدف
- Python 3.10+
الخطوات
1. نفِّذ المحوّل
اتبع مثال تأليف محوّل إطار عمل
لتنفيذ HarnessAdapter لإطار العمل المستهدف.
إذا كان المحوّل يكتب قالبًا نصيًا عاديًا (ملفًا ليس JSON ولا YAML)
باستخدام mode: write_text وownership_class: operator-owned، فإن uninstall
لا يحذف الملف إلا ما دام نسخة غير معدَّلة من قالب شحنه Apothem. وحين يغيّر
إصدار لاحق القالب، أضف بصمة SHA-256 للنص السابق إلى قائمة earlier_digests
في مُدخل البيان ذاك ضمن التغيير نفسه، وإلا ترك uninstall في مكانها كل نسخة
غير معدَّلة كتبها الإصدار الأقدم. خذ بصمة النص عند وسم آخر إصدار باستخدام
git show <tag>:<template path> | sha256sum؛ ويجب ألا يحمل القالب أي رمز مسار
${...}. يفشل tests/unit/test_template_digests.py حين لا يُؤخذ قالب مشحون
في الحسبان.
2. اكتب صفحة التوثيق
أنشئ site/content/docs/harnesses/<slug>.mdx يغطّي:
- تدفّق التثبيت
- تخطيط الملف التعريفي إلى التهيئة الأصلية
- محاذير التوافق
- وصفات التحقّق
- وصفات التحديث وإلغاء التثبيت
- سطح بوّابة المطابقة
- جدول استكشاف الأخطاء وإصلاحها
- جدول مقابض التهيئة
3. اكتب الاختبارات
tests/packaging/test_<slug>_adapter.py
tests/unit/test_<slug>_adapter.pyالحد الأدنى لتغطية الاختبارات:
test_install_creates_expected_filestest_verify_passes_after_installtest_uninstall_removes_files
4. تحقّق محليًا
apothem install --harness <slug>
apothem verify --harness <slug>
python -m apothem.conformity.gate --all .5. قدِّم طلب السحب
افتح PR يتضمّن:
- تنفيذ المحوّل
- صفحة التوثيق في
site/content/docs/harnesses/<slug>.mdx - الاختبارات
- تسجيل نقطة الدخول في
pyproject.toml، ومدخلHARNESS_REGISTRYفيsrc/apothem/lib/harness_registry_data.py(مع رفعSUPPORTED_HARNESS_COUNTهناك)، والمعرّف في تعدادharnessIdالخاص بـsrc/apothem/schemas/profile.schema.json - مدخل في سجلّ التغييرات