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 — يطبّق التغييرات المُعايَنة