mcpField
R
remove

remove

github.com/terrylicaAgent 工作流271 次安装1 天前更新
代码仓库

关于 remove

用于从当前项目中移除 OpenWolf,包括项目文件、钩子、配置条目和注册表记录。它会保留无关钩子和文件;卸载全局二进制文件需另行征得用户同意。

主要功能

  1. 01移除项目级 OpenWolf 文件
  2. 02从设置中筛除匹配钩子
  3. 03移除项目注册表记录
  4. 04可选卸载全局二进制文件
  5. 05验证移除结果

适用场景

  1. 01从项目中移除 OpenWolf
  2. 02清理项目钩子和规则
  3. 03获准后卸载全局二进制文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/terrylica/cc-skills --skill remove

安装后在 Claude Code 中输入/remove确认已加载。

详细介绍

移除 OpenWolf

彻底清理当前项目中的 openwolf(调用时的当前工作目录)。npm 包未提供 uninstall 命令——此技能是标准的移除方式。

自我演进的技能:如果 openwolf 更改了文件布局、钩子子字符串或注册表结构,请修复此文件。仅在出现真实、可复现的偏差时修复。

将移除的内容(均来自当前项目)

  1. .wolf/ 目录(数据和钩子脚本)
  2. .claude/settings.json 中 command 包含 .wolf/hooks/ 的钩子条目——其他所有钩子均保持原样
  3. .claude/rules/openwolf.md
  4. CLAUDE.md 顶部 225 字节的 openwolf 片段(仅移除该区块;文件其余部分不变)
  5. PM2 守护进程 openwolf-$(basename "$PROJECT_ROOT")(如果已安装 PM2)
  6. ~/.openwolf/registry.json 中的项目条目

不会移除的内容

  • 全局 openwolf npm 二进制文件(需单独决定;请明确询问用户)。
  • .wolf/backups/ 中的备份会随 .wolf/ 一同移除——如需保留,请先复制出来。

工作流

步骤 1:向用户确认

使用 AskUserQuestion。列出上述六项移除目标。提供以下选项:

  • Yes, remove openwolf from this project(默认)
  • Also uninstall the global openwolf binary(额外步骤,运行 pnpm remove -g openwolf || npm uninstall -g openwolf)
  • Cancel — 正常退出
步骤 2:获取 PM2 守护进程名称所用的项目基本名称
PROJECT_ROOT="$(pwd)"
PROJECT_BASE="$(basename "$PROJECT_ROOT")"
PLUGIN_DIR="$(cc-plugin-root openwolf)"
步骤 3:运行移除脚本
bash "$PLUGIN_DIR/scripts/openwolf-remove.sh"

该脚本通过 set -e 和逐步错误报告处理全部六项目标。脚本可幂等执行——每个步骤都会对“已不存在”的情况使用 || true,同时报告每项操作。

步骤 4:可选——卸载全局二进制文件

如果用户在步骤 1 中选择了此项:

if command -v pnpm >/dev/null; then pnpm remove -g openwolf
elif command -v bun  >/dev/null; then bun remove -g openwolf
else                                 npm uninstall -g openwolf
fi
步骤 5:验证
[ ! -d "$PROJECT_ROOT/.wolf" ] && echo "  ✓ .wolf/ removed"
[ ! -f "$PROJECT_ROOT/.claude/rules/openwolf.md" ] && echo "  ✓ rules file removed"
grep -q '\.wolf/hooks/' "$PROJECT_ROOT/.claude/settings.json" 2>/dev/null && echo "  ✗ stray .wolf/hooks/ entry in settings.json — investigate" || echo "  ✓ settings.json clean"
grep -q '@\.wolf/OPENWOLF\.md' "$PROJECT_ROOT/CLAUDE.md" 2>/dev/null && echo "  ✗ snippet still in CLAUDE.md — investigate" || echo "  ✓ CLAUDE.md clean"
步骤 6:报告

总结已移除的内容,以及有意保留的内容(如有)。

执行后反思

  1. 定位自身。——此 SKILL.md 的路径。
  2. 移除脚本的任何步骤是否报错?——修复脚本(scripts/openwolf-remove.sh),而不仅是此技能。
  3. openwolf 是否更改了其 CLAUDE.md 片段?——同时更新脚本中的移除模式和上述验证正则表达式。
  4. 注册表结构是否更改?——更新脚本中的 node 代码块。

脚本 scripts/openwolf-remove.sh 是关键组件——务必保持其精准。

评论

支持 Markdown