From 13a0920b060602a637447a67d84f9f317ba25bee Mon Sep 17 00:00:00 2001 From: Bill Ballou Date: Mon, 12 Jan 2026 13:13:07 -0500 Subject: [PATCH] Add portable plugin configuration for cross-host sync - Create plugins/config.json with marketplace sources and desired plugins - Remove plugins/installed_plugins.json from tracking (host-specific paths) - Add installed_plugins.json to .gitignore - Update README with plugin installation instructions - Enable example-skills plugin in settings.json --- .gitignore | 1 + README.md | 17 ++++++++++++++++- plugins/config.json | 30 ++++++++++++++++++++++++++++-- plugins/installed_plugins.json | 27 --------------------------- settings.json | 27 ++++++++++++++------------- 5 files changed, 59 insertions(+), 43 deletions(-) delete mode 100644 plugins/installed_plugins.json diff --git a/.gitignore b/.gitignore index 10b85dc..61f700c 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ plugins/marketplaces/ plugins/repos/ plugins/install-counts-cache.json plugins/known_marketplaces.json +plugins/installed_plugins.json diff --git a/README.md b/README.md index 308b521..991a314 100644 --- a/README.md +++ b/README.md @@ -31,5 +31,20 @@ git submodule update --remote --merge |------|-------------| | `CLAUDE.md` | Global instructions for all projects | | `settings.json` | User permissions and plugin config | -| `plugins/` | Plugin configuration | +| `plugins/config.json` | Portable plugin manifest (marketplaces + desired plugins) | | `skills/` | User-level skills (as submodules) | + +## Install Plugins on New Host + +After cloning, install the desired plugins listed in `plugins/config.json`: + +```bash +# Install plugins from known marketplaces +claude plugins install example-skills@anthropic-agent-skills + +# For plugins with unknown marketplace sources, search and install manually: +claude plugins search superpowers +claude plugins search frontend-design +``` + +The `plugins/installed_plugins.json` file is auto-generated with host-specific paths and should not be committed. The portable configuration is stored in `plugins/config.json`. diff --git a/plugins/config.json b/plugins/config.json index 7a0e883..6fa2cc8 100644 --- a/plugins/config.json +++ b/plugins/config.json @@ -1,3 +1,29 @@ { - "repositories": {} -} \ No newline at end of file + "repositories": { + "claude-plugins-official": { + "source": "github", + "repo": "anthropics/claude-plugins-official" + }, + "anthropic-agent-skills": { + "source": "github", + "repo": "anthropics/skills" + } + }, + "desired_plugins": [ + { + "id": "superpowers@superpowers-marketplace", + "version": "4.0.0", + "gitCommitSha": "84283dfc058f61b8985e07d20eb6838a6e7388fe", + "note": "Marketplace source unknown - install manually if needed" + }, + { + "id": "frontend-design@claude-code-plugins", + "version": "1.0.0", + "gitCommitSha": "5880baedc387d8bad189b4c778f69477e88feb7f", + "note": "Marketplace source unknown - install manually if needed" + }, + { + "id": "example-skills@anthropic-agent-skills" + } + ] +} diff --git a/plugins/installed_plugins.json b/plugins/installed_plugins.json deleted file mode 100644 index d989c81..0000000 --- a/plugins/installed_plugins.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "version": 2, - "plugins": { - "superpowers@superpowers-marketplace": [ - { - "scope": "user", - "installPath": "/home/bill/.claude/plugins/cache/superpowers-marketplace/superpowers/4.0.0", - "version": "4.0.0", - "installedAt": "2025-11-23T20:31:21.915Z", - "lastUpdated": "2025-12-21T16:54:24.259Z", - "gitCommitSha": "84283dfc058f61b8985e07d20eb6838a6e7388fe", - "isLocal": false - } - ], - "frontend-design@claude-code-plugins": [ - { - "scope": "user", - "installPath": "/home/bill/.claude/plugins/cache/claude-code-plugins/frontend-design/1.0.0", - "version": "1.0.0", - "installedAt": "2025-11-24T21:24:25.872Z", - "lastUpdated": "2025-11-24T21:24:25.872Z", - "gitCommitSha": "5880baedc387d8bad189b4c778f69477e88feb7f", - "isLocal": true - } - ] - } -} \ No newline at end of file diff --git a/settings.json b/settings.json index 7e70300..6000996 100644 --- a/settings.json +++ b/settings.json @@ -1,12 +1,9 @@ { + "attribution": { + "commit": "", + "pr": "" + }, "permissions": { - "ask": [ - "Bash(make dev:*)", - "Bash(git merge:*)", - "Bash(git branch -d:*)", - "Bash(git branch -D:*)", - "Bash(git branch --delete:*)" - ], "allow": [ "Bash(git:*)", "Bash(npm:*)", @@ -33,6 +30,13 @@ "Skill(superpowers:*)", "Skill(frontend-design:*)", "WebSearch" + ], + "ask": [ + "Bash(make dev:*)", + "Bash(git merge:*)", + "Bash(git branch -d:*)", + "Bash(git branch -D:*)", + "Bash(git branch --delete:*)" ] }, "statusLine": { @@ -41,11 +45,8 @@ }, "enabledPlugins": { "superpowers@superpowers-marketplace": true, - "frontend-design@claude-code-plugins": true + "frontend-design@claude-code-plugins": true, + "example-skills@anthropic-agent-skills": true }, - "alwaysThinkingEnabled": true, - "attribution": { - "commit": "", - "pr": "" - } + "alwaysThinkingEnabled": true }