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
This commit is contained in:
2026-01-12 13:13:07 -05:00
parent 77e7b0f84e
commit 13a0920b06
5 changed files with 59 additions and 43 deletions

1
.gitignore vendored
View File

@@ -26,3 +26,4 @@ plugins/marketplaces/
plugins/repos/ plugins/repos/
plugins/install-counts-cache.json plugins/install-counts-cache.json
plugins/known_marketplaces.json plugins/known_marketplaces.json
plugins/installed_plugins.json

View File

@@ -31,5 +31,20 @@ git submodule update --remote --merge
|------|-------------| |------|-------------|
| `CLAUDE.md` | Global instructions for all projects | | `CLAUDE.md` | Global instructions for all projects |
| `settings.json` | User permissions and plugin config | | `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) | | `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`.

View File

@@ -1,3 +1,29 @@
{ {
"repositories": {} "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"
}
]
}

View File

@@ -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
}
]
}
}

View File

@@ -1,12 +1,9 @@
{ {
"attribution": {
"commit": "",
"pr": ""
},
"permissions": { "permissions": {
"ask": [
"Bash(make dev:*)",
"Bash(git merge:*)",
"Bash(git branch -d:*)",
"Bash(git branch -D:*)",
"Bash(git branch --delete:*)"
],
"allow": [ "allow": [
"Bash(git:*)", "Bash(git:*)",
"Bash(npm:*)", "Bash(npm:*)",
@@ -33,6 +30,13 @@
"Skill(superpowers:*)", "Skill(superpowers:*)",
"Skill(frontend-design:*)", "Skill(frontend-design:*)",
"WebSearch" "WebSearch"
],
"ask": [
"Bash(make dev:*)",
"Bash(git merge:*)",
"Bash(git branch -d:*)",
"Bash(git branch -D:*)",
"Bash(git branch --delete:*)"
] ]
}, },
"statusLine": { "statusLine": {
@@ -41,11 +45,8 @@
}, },
"enabledPlugins": { "enabledPlugins": {
"superpowers@superpowers-marketplace": true, "superpowers@superpowers-marketplace": true,
"frontend-design@claude-code-plugins": true "frontend-design@claude-code-plugins": true,
"example-skills@anthropic-agent-skills": true
}, },
"alwaysThinkingEnabled": true, "alwaysThinkingEnabled": true
"attribution": {
"commit": "",
"pr": ""
}
} }