Skip to content
Apothem
مرجع واجهة سطر الأوامر

diff

مرجع واجهة سطر الأوامر لأمر apothem diff.

معاينة تغييرات الإعداد المُعلَّقة لإطار عمل واحد.

الموجز

apothem diff --harness NAME [--profile PATH] [--project PATH]
             [--quiet|-q] [--verbose|-v]
             [--format plain|json] [--json] [--no-color]

diff أمر فحص للقراءة فقط. ينفّذ التجسيد نفسه الذي كان أمر install سينفّذه، لكن في وضع التشغيل التجريبي — فلا يُكتَب أي شيء على القرص. ولكل هدف مُعلَّق يعرض إجراءً بلغة واضحة (مثل Write file، أو Merge directory، أو Install skills، أو Prune stale files)، ومسار الهدف، وحالة معاينة (would create، أو would update، أو would remove، أو no change)، و— بالنسبة إلى المراسي التي يملكها المُشغِّل والتي سيجري دمجها — الفرق الموحّد للتغيير. تُحسَب الحالة بمقارنة المصدر بالهدف الحالي على القرص، لذا يظهر الهدف المطابق أصلًا بالحالة no change ويُخفى من العرض الافتراضي. إنه الإجابة عن سؤال «ماذا سيفعل apothem install بإطار العمل هذا الآن؟» دون إجراء التغيير.

تغطّي الخطة كل مسار يكتبه التثبيت: مدخلات البيان، وملف الإعداد الخاص بإطار العمل نفسه (مثل opencode.json أو config.yaml)، ومرساة التعليمات أو مستند الملف التعريفي الذي يُسقَط فيه الملف التعريفي المشترك (مثل CLAUDE.md)، ومخازن البيانات المشتركة تحت .apothem/. بعد التثبيت مباشرةً، لا يُبلِغ diff عن أي تغيير مُعلَّق؛ وعندئذٍ لا تكتب إعادة التثبيت شيئًا ولا تأخذ نسخة احتياطية جديدة. ويعرض install --dry-run الخطة نفسها.

بالنسبة إلى المحوّلات التي تكتب المهارات إلى دليلك المنزلي، تسرد الخطة تلك المجلّدات بمساراتها المنزلية، قبل ملفات المشروع، ويظهر مجلّد المهارة الذي لم يكتبه Apothem بوصفه تحذير skill_conflict.

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

لا يسرد العرض الافتراضي إلا التغييرات المُعلَّقة. مرِّر --verbose لرؤية الخطة الكاملة، بما فيها الأهداف غير المتغيّرة، مشروحةً بنوع العملية الداخلي الخام ونتيجتها. ولا تؤثّر طبقة العرض في غلاف --json: فهو يحمل دائمًا الحقلين الخامّين operation وoutcome للمستهلكين الآليين.

يعمل diff على إطار عمل واحد. وبخلاف install أو verify، لا يقبل all؛ مرِّر اسم إطار عمل واحد.

الخيارات

الخيارالوصف
--harness NAMEمحوّل إطار العمل المراد معاينته (إلزامي؛ إطار عمل واحد، لا all).
--profile PATHمسار ملف YAML للملف التعريفي المشترك. القيمة الافتراضية ~/.config/apothem/profile.yaml.
--project PATHجذر المشروع لأُطُر العمل ذات نطاق المشروع. مطلوب عندما يكون إطار العمل المحدّد ذا نطاق مشروع.
--quiet، -qيُخمِد المخرجات المعلوماتية؛ لا تُصدَر إلا الأخطاء.
--verbose، -vيعرض الخطة الكاملة، بما فيها الأهداف غير المتغيّرة، مشروحةً بنوع العملية الخام ونتيجتها.
--format plain|jsonصيغة المخرجات (الافتراضي: plain).
--jsonاختصار لـ --format json.
--no-colorيُعطِّل رموز ألوان ANSI في المخرجات.
-h، --helpيعرض المساعدة ويخرج.

مخرجات JSON

يعكس غلاف --json غلاف التثبيت في وضع التشغيل التجريبي. قيمة status هي dry_run، وfiles_written فارغة دائمًا، وتحمل كتلة materialization وقائمة results التفاصيل الكاملة للأهداف المُخطَّطة. ويحمل الحقل detail.diff في كل صف نتيجة خاص بهدف يملكه المُشغِّل سلسلة الفرق الموحّد.

{
  "schema_version": 1,
  "status": "dry_run",
  "command": "diff",
  "action": "dry_run",
  "harness": "claude-code",
  "files_written": [],
  "results": [
    {
      "harness": "claude-code",
      "outcome": "updated",
      "operation": "sentinel_merge",
      "path": "C:\\Users\\Example\\.claude\\CLAUDE.md",
      "message": "dry run: no filesystem changes made",
      "detail": {
        "ownership_class": "operator-owned",
        "diff": "--- a/CLAUDE.md\n+++ b/CLAUDE.md\n@@ ..."
      }
    }
  ],
  "warnings": [],
  "error": null,
  "materialization": { "...": "..." }
}

أمثلة

apothem diff --harness claude-code
apothem diff --harness cursor --project .
apothem diff --harness claude-code --json

رموز الخروج

الرمزالمعنى
0جرى الإبلاغ عن الفرق (يُبلَّغ عن التغييرات المُعلَّقة، وليست خطأً)
1خطأ متوقَّع في التحقّق، أو الملف التعريفي، أو إطار العمل، أو المشروع
64خطأ في الاستخدام: خيار أو أمر غير معروف، أو قيمة خيار مفقودة أو غير صالحة. مع --json يكون الخطأ غلاف JSON بالرمز cli.usage.

انظر أيضًا

  • apothem status — يُبلِغ عن حالة التثبيت/التحقّق/الانحراف عبر كل أُطُر العمل
  • apothem verify — يتحقّق من تثبيت محوّل إطار عمل
  • apothem install — يطبّق التغييرات المُعايَنة

On this page