diff --git a/memory/MEMORY.md b/memory/MEMORY.md index d098026..b0f800b 100644 --- a/memory/MEMORY.md +++ b/memory/MEMORY.md @@ -3,3 +3,4 @@ - [Midjourney bridge](midjourney_bridge.md) — `mj-gen ""` drops a PNG on disk; full pipeline via Discord, no MJ API needed. - [GitHub account](user_github.md) — username: slaguru666; 19 repos, mostly SLA Industries Foundry VTT modules. - [Semaphore Gitea URL](feedback_semaphore_gitea_url.md) — use `http://gitea:3000/tevans/.git` inside Semaphore, not the external Cloudflare URL +- [Plugin sync](project_plugin_sync.md) — keep Claude Code plugins identical across all servers via the claude-config repo (settings.json enabledPlugins); run sync.sh after install/remove diff --git a/memory/project_plugin_sync.md b/memory/project_plugin_sync.md new file mode 100644 index 0000000..e5d3034 --- /dev/null +++ b/memory/project_plugin_sync.md @@ -0,0 +1,26 @@ +--- +name: project-plugin-sync +description: "Claude Code plugins must stay synced across all servers via the claude-config repo (settings.json enabledPlugins)" +metadata: + node_type: memory + type: project + originSessionId: e24d82e5-1bd0-48dc-99e6-9a4a434f0d2d +--- + +All of the user's Claude Code installations (multiple servers) must run the same set of plugins. +The user explicitly wants newly installed plugins propagated to every machine. + +**Currently enabled plugins** (in `~/.claude/settings.json` → `enabledPlugins`): +- From `claude-plugins-official` (`anthropics/claude-plugins-official`, auto-installs on every machine): + carta-investors, superpowers, github, claude-md-management, aws-agents, feature-dev, huggingface-skills +- Pre-existing: `codex@openai-codex`, `warp@claude-code-warp` (warp marketplace is in `extraKnownMarketplaces`). + +**Why:** Plugins are declared in `settings.json` (`enabledPlugins` + `extraKnownMarketplaces`), which the +[[user-github]] `claude-config` repo already tracks. The installed plugin *cache* under `~/.claude/plugins/` +is NOT synced and should not be — each server re-fetches plugins from its marketplace based on the declaration. + +**How to apply:** After installing/removing any plugin, run `~/Git/claude-config/sync.sh` to push the updated +`settings.json` to GitHub. On another server, `git pull && ./install.sh`, then start Claude Code — it auto-installs +the enabled plugins from `claude-plugins-official`. Gap to watch: any plugin from a *non-official* marketplace +(e.g. `openai-codex`) must have that marketplace added to `extraKnownMarketplaces` in `settings.json`, or it +won't install on other servers (`codex@openai-codex` currently lacks this). diff --git a/settings.json b/settings.json index 1cb72d1..b2a775b 100644 --- a/settings.json +++ b/settings.json @@ -17,7 +17,14 @@ "model": "sonnet", "enabledPlugins": { "codex@openai-codex": true, - "warp@claude-code-warp": true + "warp@claude-code-warp": true, + "carta-investors@claude-plugins-official": true, + "superpowers@claude-plugins-official": true, + "github@claude-plugins-official": true, + "claude-md-management@claude-plugins-official": true, + "aws-agents@claude-plugins-official": true, + "feature-dev@claude-plugins-official": true, + "huggingface-skills@claude-plugins-official": true }, "extraKnownMarketplaces": { "claude-code-warp": { @@ -27,8 +34,8 @@ } } }, + "theme": "dark", "verbose": false, "preferredNotifChannel": "terminal_bell", - "autoUpdaterStatus": "enabled", - "theme": "dark" + "autoUpdaterStatus": "enabled" }