plugin-manager-clone-envlisted
Install: claude install-skill abs1294/fulin-claude-plugins
# plugin-manager:clone-env — 環境快照與復現
把整套 plugin 環境(有哪些 marketplace、哪些 plugin、版本、啟用狀態,含自製 + 第三方)擷取成快照,在新機器或新專案復現。**使用者用自然語言講即可,Claude 跑腳本**——不必使用者自己打 node 指令。
## 何時用
- 換新電腦,要把慣用的整套 plugin 裝回來。
- 想在另一個專案 / 同事機器重現你的 plugin 組合。
- 只是想把當前環境存一份快照備份。
## 執行步驟
### A. 擷取快照(在原環境)
使用者說「擷取環境快照 / 複製我的環境」時,Claude 跑:
```
node "${CLAUDE_PLUGIN_ROOT}/scripts/export-env.js" [outputPath]
```
- 讀 Claude Code 官方記錄(`~/.claude/plugins/known_marketplaces.json` + `installed_plugins.json` + settings 的 enabledPlugins),產出 `env-snapshot.json`,**預設寫進 plugin 內**(`plugins/plugin-manager/env-snapshot.json`,隨 git)。
- 純讀 + 寫一份 JSON,不碰 /plugin。
- 把結果回報使用者,並**提示要 `/plugin-manager:publish`**——快照進 git 後,新機 `/plugin install plugin-manager` 才會把它帶進 cache、restore 才讀得到。
### B. 產生復現指令(在新環境)
使用者說「環境復現 / 搬到新機器 / 復現指令」時,Claude 跑:
```
node "${CLAUDE_PLUGIN_ROOT}/scripts/restore-env.js" [snapshotPath] [--enabled-only]
```
- **新機器全複製**:不加 `--enabled-only`,列出全部。
- **同機換專案**:加 `--enabled-only`,只列啟用中的(再配合 `/setup-plugins` 寫進該專案)。
- 腳本會印出一串「marketplace add + install + reload」指令鏈。
### C. 把復現指令交給使用者貼
腳本印出的 `/plugin marketplace add`、`/plugin install`、`/reload-plugins`——**這些 Claude 不能代執行**(Claude Code 互動指令限制),必須使用者親自貼。Claude 的責任到「把指令列清楚」為止。
### 新機器完整「貼上」流程(已假設新機先裝了 plugin-manager)
1. 新機 `/plugin marketplace add <你的 repo>` + `/plugin install plugin-manager@<marketplace>`(這步把含快照的 plugin 帶進 cache)。
2. 跑 `init.js` 初始化 config(指向新機 clone 的 monorepo;自製 plugin 復現需 monorepo 在本地,故新機仍需 `git clone` monorepo 一次)。
3. 跟 Claude 說「**復現環境**」→ 本 s