Skip to main content

plugin-uninstall

Uninstall an EvoNexus plugin, reverting the files it copied and running its uninstall.sql. Use when the user asks to remove, uninstall, or delete a plugin. Triggers on "desinstala plugin X", "remove plugin X", "uninstall plugin X", "tira o plugin Y".

소스 정보

저장소
evolution-foundation/evo-nexus
최근 소스 활동
2026년 4월 24일 20:36
감지된 SKILL.md 언어
영어
스타
548
포크
180

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
plugin-uninstall
description
Uninstall an EvoNexus plugin, reverting the files it copied and running its uninstall.sql. Use when the user asks to remove, uninstall, or delete a plugin. Triggers on "desinstala plugin X", "remove plugin X", "uninstall plugin X", "tira o plugin Y".
metadata
{"category":"plugins","version":"1.0.0"}
# Plugin Uninstall Remove a plugin from the workspace using `DELETE /api/plugins/<slug>`. Uninstall is reverse-order via `.install-manifest.json`. ## How to use ### Step 1 — Resolve the slug If not given, call list and ask which one: ```python from dashboard.backend.sdk_client import evo plugins = evo.get("/api/plugins") ``` Validate exists: ```python detail = evo.get(f"/api/plugins/{slug}") ``` If HTTP 404, say so and stop. ### Step 2 — Show what will be removed Read `manifest` from detail. Summarise: - Files in `.claude/agents/plugin-<slug>-*.md`, `.claude/skills/plugin-<slug>-*/`, `.claude/commands/plugin-<slug>-*.md`, `.claude/rules/plugin-<slug>-*.md` - Heartbeats registered by the plugin (disappear from `/heartbeats`) - Routines (scheduler SIGHUP reload on removal) - Claude hook handlers under `plugins/<slug>/claude-hook-handlers/` - Contents of `migrations/uninstall.sql` — full text - Contents of `hooks/pre-uninstall.sh` and `hooks/post-uninstall.sh` — full text **Important**: user data created **inside** plugin-managed tables is usually DROPped by uninstall SQL. Tell the user explicitly and ask if they want to export first. ### Step 3 — Require explicit confirmation Accept only clear affirmatives. If user hesitates, offer: - Export first via `GET /api/plugins/<slug>/readonly-data/<query>` if declared - Disable instead of remove: `evo.patch(f"/api/plugins/{slug}", {"enabled": False})` — reversible, keeps data ### Step 4 — Run uninstall ```python evo.delete(f"/api/plugins/{slug}") ``` ### Step 5 — Report On success, summarise: files removed, tables dropped, hooks cleared. Point to `/plugins` for confirmation. ## Error handling - `HTTP 404 not_found` — slug doesn't exist. Reprompt. - `HTTP 409 uninstall_failed` — reverse-order chain failed. Surface specific step. Offer manual recovery (delete `plugins/<slug>/` after fixing, then retry). - `HTTP 500 sql_rollback_failed` — rare. DB may be inconsistent. Check `ADWs/logs/plugins/`. ## Notes for the agent - Disable ≠ uninstall. Disable keeps data and is reversible. - If plugin has routines, scheduler reloads automatically. If offline, user must restart.
GitHub에서 보기