uninstall
مرجع واجهة سطر الأوامر لأمر apothem uninstall.
يزيل إعداد محوّل إطار عمل.
الموجز
apothem uninstall --harness NAME|all [--yes] [--project PATH]
[--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]يزيل أهداف إطار العمل التي يديرها المحوّل، ثم الأدلة التي أنشأها التثبيت متى صارت فارغة (يبقى الدليل الذي يحوي أي شيء يخصّك).
تُنسَخ الذاكرةُ والسياقاتُ ومخازنُ التعلّم في دليل العمل المشترك احتياطيًا وتُزال فقط حين
يكون هذا آخرَ إطار عمل مُثبَّت في ذلك الدليل. ويُزيلها أمرُ الإزالة في الموقع الذي سجّله التثبيت،
فيجدها أينما كتبها التثبيت (راجِع حقول workspace في الملف التعريفي). ولا يُزال دليل plans/ أبدًا.
يطلب التأكيد ما لم يُمرَّر --yes. وحين يتعذّر عرض مطالبة — مع --format json
(إذ سيُفسد نصُّ المطالبة مستندَ JSON الوحيد) أو في صدفة غير تفاعلية (دون TTY) —
يرفض الأمر منذ البداية بخطأ مُهيكَل uninstall.confirmation_required (رمز الخروج 1) ما لم
يُمرَّر --yes. وإذا لم يكن إطار عمل مختار مثبّتًا، ينجح الأمر (رمز الخروج 0)، ويطبع في
المخرج النصي العادي NAME is not installed; nothing to remove.، حيث NAME هو معرّف إطار العمل.
تبقى مخازن البيانات المشتركة تحت .apothem/ في جذر التثبيت
(memory/، وcontexts/، وlearning/) ما دام إطار
عمل مثبّت آخر في الجذر نفسه ما يزال يستخدمها. وحين يكون إطار العمل الذي تزيله هو
الأخير في ذلك الجذر، ينسخ الأمر كل مخزن أولًا إلى جذر النسخ الاحتياطي الخاص بـ
Apothem (~/.apothem/backups/)، ثم يزيله بكل ما فيه. وأي شيء
تحتفظ به في plans/ لا يُزال أبدًا.
المجلّدات المشتركة في دليلك المنزلي
يمكن لعدّة تثبيتات أن تستخدم مجلّدًا واحدًا في دليلك المنزلي: مجلّد المهارات
(~/.agents/skills/، أو ~/.codebuddy/skills/، أو ~/.kiro/skills/، أو
~/.trae/skills/) و~/.config/apothem/rules/ و
~/.config/apothem/templates/. وتسرد صفحة التثبيت
أيّ محوّل يكتب أيّها. ويسجّل Apothem التثبيتات التي تستخدم كل مجلّد،
ويتبع إلغاء التثبيت قاعدة واحدة: لا يُزيل مجلّدًا إلا حين لا يعود أي تثبيت آخر لـ
Apothem يستخدمه.
- يُبقي إلغاء تثبيت أداة واحدة المهاراتِ ما دام تثبيت آخر يستخدمها، ويقول ذلك. وتُعَدّ الأداة الواحدة المثبّتة في مشروعين تثبيتين، لذا فإن إلغاء تثبيتها من المشروع A يُبقي المجلّدات ما دام المشروع B يستخدمها. وآخر إلغاء تثبيت يُزيلها (انظر المثال الثاني أدناه).
- لا يُزال إلا ما يسرده سجلّ التثبيت الخاص. والتثبيت الذي جرى قبل أن تصبح المجلّدات مُدارة ليس له مثل هذا السجلّ، لذا فإن إلغاء تثبيته لا يُزيل شيئًا من دليلك المنزلي. وتبقى الملفات التي أضفتها إلى المجلّدات، وكذلك المجلّد الذي يحمل اسم مهارة من Apothem ولم يكتبه Apothem.
- يُتجاهَل التثبيت الذي لم يعد مجلّد مشروعه موجودًا، فلا يُبقي مشروعٌ محذوف المجلّداتِ إلى الأبد. وتسمّيه الملاحظة.
- إذا تعذّرت قراءة سجلّ تثبيتٍ يمكن أن يستخدم المجلّدات، يتوقّف إلغاء التثبيت مع خطأ قبل أن يُزيل أي شيء، ويبقى التثبيت مُسجَّلًا. أصلِح السجلّ غير المقروء أو انقله، ثم شغّل الأمر مجدّدًا. أما السجلّ التالف لأداة لا تكتب هذه المجلّدات أبدًا فيُتجاهَل.
- حين يذهب آخر استخدام، تُزال أيضًا المجلّدات التي تبقى فارغة. ويُنسَخ كل مجلّد
احتياطيًا تحت
~/.apothem/backups/قبل إزالته.
يطبع كل إلغاء تثبيت ملاحظة Note: واحدة لكل مجلّد، مثل Note: <harness> - ~/.agents/skills/ was kept: still used by <harness> (/path/to/project)، أو
was removed: no other Apothem install uses it. وفي غلاف --format json تكون كل
ملاحظة مُدخَلًا في warnings يحمل "outcome": "advisory"،
و"operation": "shared_root"، و"role" مضبوطًا على retained أو released. وهو
يحمل path، وholders (التثبيتات التي تُبقي المجلّد)، وstale (التثبيتات
المُتجاهَلة)، وkept وtotal (المُدخلات المُسجَّلة التي أُبقيت والمُدخلات التي سردها
التثبيت).
إذا بقي مجلّد بسبب تثبيت لا تستطيع العثور عليه، فإن الملاحظة تسمّيه. وحين يكون مجلّد
المشروع قد حُذف، يُتجاهَل التثبيت ويذهب المجلّد مع إلغاء التثبيت التالي. وحين يكون
المشروع موجودًا لكنك أزلت كتلة Apothem من ملف قواعده يدويًا، يُبلغ
uninstall عن إطار العمل بأنه غير مثبّت ولا يتخلّى عن مطالبته؛ شغّل
install لإطار العمل ذاك والمشروع ذاك، ثم uninstall، للتخلّي عنها.
ويُظهر apothem verify ما إذا كان المجلّد لا يزال مكتملًا.
الإزالة بـ --harness all شاملة عمدًا: تغطّي كل إطار عمل مُسجَّل، بما في ذلك أي إطار عمل
يتخطّاه exclude_harnesses في الملف التعريفي أثناء التثبيت، فيصل التنظيف إلى حالة ربما
خلّفها تثبيتٌ سابق أوسع نطاقًا. وتتلقّى أُطُر العمل التي لم تُثبَّت قطّ الإشعارَ نفسه.
يُحَلّ الاسم المستعار بصيغة الاستمرار apothem uninstalling (ويُقبَل أيضًا
بالصيغة apothem Uninstalling) إلى المعالج نفسه.
الخيارات
| الخيار | الوصف |
|---|---|
--harness NAME | محوّل إطار العمل المراد إزالته، أو all للمجموعة الشاملة للسجلّ كله (مطلوب). |
--yes | يتخطّى مطالبة التأكيد. |
--project PATH | جذر المشروع لأُطُر العمل ذات نطاق المشروع. |
--quiet، -q | يُخمِد المخرجات المعلوماتية؛ لا تُصدَر إلا الأخطاء. |
--verbose، -v | يُقبَل من أجل الاتّساق مع الأوامر الأخرى؛ ولا يطبع هذا الأمر أي مخرجات إضافية. |
--format plain|json | صيغة المخرجات (الافتراضي: plain). |
--json | اختصار لـ --format json. |
--no-color | يعطّل رموز ألوان ANSI في المخرجات. |
-h، --help | يعرض المساعدة ويخرج. |
مخرجات JSON
عندما يكون المحوّل مثبّتًا وتنجح إزالته:
{
"schema_version": 1,
"status": "success",
"command": "uninstall",
"action": "uninstalled",
"harness": "claude-code",
"profile_path": null,
"project": null,
"files_written": [],
"results": [
{
"harness": "claude-code",
"outcome": "updated",
"operation": "uninstall",
"path": "C:\\Users\\Example\\.claude\\settings.json",
"message": "managed files removed"
}
],
"warnings": [],
"error": null,
"output_path": "C:\\Users\\Example\\.claude\\settings.json"
}عندما لا يكون المحوّل مثبّتًا، يخرج الأمر برمز 0. وفي مخرجات JSON يحمل الغلاف "status": "success" و"action": "uninstalled"، ويحمل صف النتائج "outcome": "skipped" مع الرسالة "not installed; no files removed". ولا يكون حقل status أبدًا "not_installed".
أمثلة
apothem uninstall --harness claude-code
apothem uninstall --harness claude-code --yes
apothem uninstall --harness cursor --project . --yes
apothem uninstall --harness all --project . --yes
apothem uninstalling --harness cursor --project . --yes # continuous-form aliasيبقى مجلّد المهارات المشترك حتى يذهب آخر تثبيت يستخدمه:
apothem install --harness codex
apothem install --harness cursor --project A
apothem uninstall --harness codex --yes # keeps ~/.agents/skills/, the cursor install uses it
apothem uninstall --harness cursor --project A --yes # removes it: no install uses it nowرموز الخروج
| الرمز | المعنى |
|---|---|
| 0 | أُلغي تثبيت المحوّل، أو لم يكن مثبّتًا |
| 1 | إطار العمل غير موجود، أو رُفض التأكيد أو تعذّر (الوضع غير التفاعلي أو وضع JSON دون --yes)، أو أخفقت كل عمليات الإزالة |
| 2 | إزالة جزئية — أُزيل إطار عمل واحد على الأقل قبل وقوع إخفاق |
| 64 | خطأ استخدام: خيار أو أمر غير معروف، أو قيمة خيار مفقودة أو غير صالحة. ومع --json يكون الخطأ غلاف JSON يحمل الرمز cli.usage. |
انظر أيضًا
apothem uninstalling— اسم مستعار بصيغة الاستمرار لهذا الأمر (موثّق هنا؛ تقبل واجهة سطر الأوامر الصيغتين كلتيهما)- apothem install — تثبيت إعداد إطار عمل
- apothem verify — تأكيد حالة التثبيت