uninstall
Справочник CLI для команды 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/. Страница install
перечисляет, какой адаптер что записывает. 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— псевдоним этой команды в продолженной форме (документирован здесь; CLI принимает обе формы)- apothem install — установить конфигурацию окружения
- apothem verify — подтвердить состояние установки