@shnitzel/plugscout 0.3.32 → 0.3.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -22
- package/data/catalog/items.json +58186 -31180
- package/data/catalog/mcps.json +55114 -29862
- package/data/catalog/skills.json +258 -258
- package/data/catalog/sync-state.json +26 -20
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<a href="https://www.npmjs.com/package/@shnitzel/plugscout"><img alt="npm" src="https://img.shields.io/npm/v/%40shnitzel%2Fplugscout?label=npm" /></a>
|
|
5
5
|
<a href="https://github.com/amitrintzler/plugscout/releases/latest"><img alt="Release" src="https://img.shields.io/github/v/release/amitrintzler/plugscout?display_name=tag&label=release" /></a>
|
|
6
6
|
<a href="https://github.com/amitrintzler/plugscout/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/amitrintzler/plugscout/actions/workflows/ci.yml/badge.svg?branch=main" /></a>
|
|
7
|
-
<a href="https://nodejs.org/"><img alt="Node >=
|
|
7
|
+
<a href="https://nodejs.org/"><img alt="Node >=20" src="https://img.shields.io/badge/node-%3E%3D20-339933?logo=node.js&logoColor=white" /></a>
|
|
8
8
|
<a href="https://www.linkedin.com/in/amit-rintzler-94444535/"><img alt="LinkedIn Amit Rintzler" src="https://img.shields.io/badge/LinkedIn-Amit%20Rintzler-0A66C2?logo=linkedin&logoColor=white" /></a>
|
|
9
9
|
<a href="https://github.com/amitrintzler/plugscout/blob/main/LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" /></a>
|
|
10
10
|
</p>
|
|
@@ -18,16 +18,18 @@
|
|
|
18
18
|
<a href="https://github.com/amitrintzler/plugscout/actions/workflows/catalog-sync.yml"><img alt="Catalog Sync (Scheduled)" src="https://img.shields.io/badge/catalog%20sync-scheduled-0ea5e9" /></a>
|
|
19
19
|
</p>
|
|
20
20
|
|
|
21
|
-
PlugScout helps teams discover, score, and safely install Claude plugins, Claude connectors, Copilot extensions, Skills, and MCP servers with policy-aware risk controls.
|
|
21
|
+
PlugScout helps teams discover, score, and safely install Claude plugins, Claude connectors, Copilot extensions, Cursor extensions, Gemini extensions, Skills, and MCP servers with policy-aware risk controls.
|
|
22
22
|
|
|
23
23
|
## See PlugScout in action
|
|
24
24
|
|
|
25
25
|
[](https://github.com/amitrintzler/plugscout/releases/download/v0.3.4/framework-walkthrough.mp4)
|
|
26
26
|
|
|
27
27
|
Quick links:
|
|
28
|
-
- [Install](#install-plugscout
|
|
28
|
+
- [Install](#install-plugscout)
|
|
29
29
|
- [Quick Start](#quick-start-2-minute-path)
|
|
30
30
|
- [Core Commands](#core-commands)
|
|
31
|
+
- [Live Security Checks](#live-security-checks)
|
|
32
|
+
- [Client Setup](#client-setup-cursor-gemini-claude)
|
|
31
33
|
- [Safety Model](#safety-model)
|
|
32
34
|
- [Docs](#where-to-go-next)
|
|
33
35
|
|
|
@@ -36,9 +38,11 @@ Quick links:
|
|
|
36
38
|
PlugScout is a Node.js CLI that unifies multiple AI tooling ecosystems into one searchable catalog and applies trust/risk policy before installation.
|
|
37
39
|
|
|
38
40
|
You can:
|
|
39
|
-
- Discover Claude plugins, Claude connectors, Copilot extensions, Skills, and MCP servers from one place.
|
|
41
|
+
- Discover Claude plugins, Claude connectors, Copilot extensions, Cursor extensions, Gemini extensions, Skills, and MCP servers from one place.
|
|
40
42
|
- Score candidates using trust-first ranking.
|
|
43
|
+
- Run live security checks: OSV vulnerability database, npm deprecation, VS Code Marketplace, GitHub repo health.
|
|
41
44
|
- Enforce install gates using whitelist + quarantine policy.
|
|
45
|
+
- Wire PlugScout as an MCP tool into Cursor, Gemini CLI, Claude Desktop, and other AI clients.
|
|
42
46
|
- Run continuous checks in CI and scheduled workflows.
|
|
43
47
|
|
|
44
48
|
## Who this is for
|
|
@@ -49,11 +53,11 @@ You can:
|
|
|
49
53
|
|
|
50
54
|
## Prerequisites
|
|
51
55
|
|
|
52
|
-
- Node.js `>=
|
|
56
|
+
- Node.js `>=20` and npm — that's it.
|
|
53
57
|
|
|
54
58
|
**No manual setup required.** Run `plugscout setup` once and it takes care of everything else: installs required CLI dependencies, writes your config, and syncs all catalogs. You don't need to install or configure anything by hand.
|
|
55
59
|
|
|
56
|
-
## Install PlugScout
|
|
60
|
+
## Install PlugScout
|
|
57
61
|
|
|
58
62
|
**Global install (recommended):**
|
|
59
63
|
|
|
@@ -62,24 +66,18 @@ npm install -g @shnitzel/plugscout
|
|
|
62
66
|
plugscout setup
|
|
63
67
|
```
|
|
64
68
|
|
|
65
|
-
`plugscout setup`
|
|
69
|
+
`plugscout setup` installs prerequisites, writes default config, and syncs all catalogs. No extra steps needed.
|
|
66
70
|
|
|
67
71
|
**From source:**
|
|
68
72
|
|
|
69
73
|
```bash
|
|
70
74
|
git clone https://github.com/amitrintzler/plugscout.git plugscout
|
|
71
75
|
cd plugscout
|
|
72
|
-
git checkout
|
|
76
|
+
git checkout $(git describe --tags --abbrev=0)
|
|
73
77
|
npm install
|
|
74
78
|
npm run setup
|
|
75
79
|
```
|
|
76
80
|
|
|
77
|
-
Install newest release tag instead of pinning `v0.3.4`:
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
git checkout $(git describe --tags --abbrev=0)
|
|
81
|
-
```
|
|
82
|
-
|
|
83
81
|
## Your first scan (30 seconds)
|
|
84
82
|
|
|
85
83
|
```bash
|
|
@@ -153,6 +151,54 @@ claude-plugin:repo-threat-... claude-plugin anthropic low(0) fals
|
|
|
153
151
|
skill:ci-hardening skill openai low(0) false
|
|
154
152
|
```
|
|
155
153
|
|
|
154
|
+
## Live Security Checks
|
|
155
|
+
|
|
156
|
+
`plugscout show` and `plugscout assess` run real-time checks against external sources when displaying an item:
|
|
157
|
+
|
|
158
|
+
| Source | What's checked |
|
|
159
|
+
| --- | --- |
|
|
160
|
+
| OSV.dev | Known CVEs for npm packages |
|
|
161
|
+
| npm registry | Package deprecation status + latest version |
|
|
162
|
+
| VS Code Marketplace | Publisher domain verification, install count, last updated (cursor-extension) |
|
|
163
|
+
| GitHub | Repository archived / disabled / last push date |
|
|
164
|
+
| Install URL | HTTP reachability (claude-plugin / claude-connector) |
|
|
165
|
+
|
|
166
|
+
Results are cached for 1–6 hours. Skip them with `--no-live`:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
plugscout show --id mcp:filesystem # with live checks (default)
|
|
170
|
+
plugscout show --id mcp:filesystem --no-live # skip network checks
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Client Setup (Cursor, Gemini, Claude)
|
|
174
|
+
|
|
175
|
+
Wire PlugScout as an MCP tool into your AI client so you can search and assess items from inside the assistant:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
plugscout client setup --client cursor # writes ~/.cursor/mcp.json
|
|
179
|
+
plugscout client setup --client gemini # writes ~/.gemini/settings.json
|
|
180
|
+
plugscout client setup --client claude-desktop # writes Claude Desktop config
|
|
181
|
+
plugscout client setup --client windsurf # writes ~/.windsurf/mcp.json
|
|
182
|
+
plugscout client setup --client opencode # writes ~/.opencode/mcp.json
|
|
183
|
+
plugscout client setup --client zed # writes ~/.config/zed/settings.json
|
|
184
|
+
|
|
185
|
+
# Project-scoped (Cursor only):
|
|
186
|
+
plugscout client setup --client cursor --scope project # writes .cursor/mcp.json
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
After setup, the assistant can call `search_catalog`, `get_item`, and `list_catalog` directly. Run `plugscout doctor` to verify the config was detected.
|
|
190
|
+
|
|
191
|
+
## Sync
|
|
192
|
+
|
|
193
|
+
Pull latest entries from all registries:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
plugscout sync # skip registries synced within the last 6 hours
|
|
197
|
+
plugscout sync --force # re-fetch everything regardless of cache age
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Cursor and Gemini extension lists are served from `raw.githubusercontent.com` and auto-update on each sync.
|
|
201
|
+
|
|
156
202
|
## Core Commands
|
|
157
203
|
|
|
158
204
|
| Command | Purpose |
|
|
@@ -178,8 +224,21 @@ Packaged CLI-only commands:
|
|
|
178
224
|
- `plugscout` (home screen)
|
|
179
225
|
- `plugscout upgrade check`
|
|
180
226
|
- `plugscout web --open` (readable browser report)
|
|
227
|
+
- `plugscout client setup --client <cursor|gemini|claude-desktop|windsurf|opencode|zed>` (wire PlugScout as MCP tool)
|
|
181
228
|
- `plugscout <command> --no-update-check` (skip daily auto-check for the current run)
|
|
182
229
|
|
|
230
|
+
**Kind aliases** (`--kind` flag accepts short names):
|
|
231
|
+
|
|
232
|
+
| Alias | Resolves to |
|
|
233
|
+
| --- | --- |
|
|
234
|
+
| `skills` | `skill` |
|
|
235
|
+
| `mcps` | `mcp` |
|
|
236
|
+
| `plugins` | `claude-plugin` |
|
|
237
|
+
| `connectors` | `claude-connector` |
|
|
238
|
+
| `extensions` | `copilot-extension` |
|
|
239
|
+
| `cursor`, `cursor-extensions` | `cursor-extension` |
|
|
240
|
+
| `gemini`, `gemini-extensions` | `gemini-extension` |
|
|
241
|
+
|
|
183
242
|
Full command reference: [`docs/cli-reference.md`](docs/cli-reference.md)
|
|
184
243
|
|
|
185
244
|
## Safety Model
|
|
@@ -202,18 +261,30 @@ Whitelist and quarantine state are enforced in recommendation and install flows,
|
|
|
202
261
|
|
|
203
262
|
Security deep-dive: [`docs/security/README.md`](docs/security/README.md)
|
|
204
263
|
|
|
205
|
-
##
|
|
264
|
+
## Catalog Sources
|
|
206
265
|
|
|
207
|
-
|
|
208
|
-
-
|
|
209
|
-
- Anthropic GitHub
|
|
210
|
-
- GitHub skills marketplaces: `numman-ali/n-skills`, `mhattingpete/claude-skills-marketplace`, `neondatabase-labs/ai-rules`
|
|
266
|
+
**Claude plugins / connectors:**
|
|
267
|
+
- `https://claude.com/plugins` and `https://claude.com/connectors` (scraped with sanitization + host allowlist guards)
|
|
268
|
+
- Anthropic GitHub manifests: `anthropics/claude-plugins-official`, `anthropics/knowledge-work-plugins`, `anthropics/financial-services-plugins`
|
|
211
269
|
- GitHub Claude Code plugin marketplaces: `docker/claude-plugins`, `pleaseai/claude-code-plugins`
|
|
212
|
-
- Copilot plugins (official): `https://raw.githubusercontent.com/github/copilot-plugins/main/.github/plugin/marketplace.json`
|
|
213
|
-
- Copilot plugins (curated): `https://raw.githubusercontent.com/github/awesome-copilot/main/.github/plugin/marketplace.json`
|
|
214
270
|
|
|
215
|
-
|
|
271
|
+
**Skills:**
|
|
272
|
+
- `numman-ali/n-skills`, `mhattingpete/claude-skills-marketplace`, `neondatabase-labs/ai-rules`
|
|
273
|
+
|
|
274
|
+
**Copilot extensions:**
|
|
275
|
+
- Official: `https://raw.githubusercontent.com/github/copilot-plugins/main/.github/plugin/marketplace.json`
|
|
276
|
+
- Curated: `https://raw.githubusercontent.com/github/awesome-copilot/main/.github/plugin/marketplace.json`
|
|
216
277
|
|
|
278
|
+
**Cursor extensions:**
|
|
279
|
+
- Curated list served from this repository (`assets/registries/cursor-extensions.json`) — auto-updated on each sync
|
|
280
|
+
|
|
281
|
+
**Gemini extensions:**
|
|
282
|
+
- Curated MCP servers for Gemini CLI, served from this repository (`assets/registries/gemini-extensions.json`) — auto-updated on each sync
|
|
283
|
+
|
|
284
|
+
**MCP servers:**
|
|
285
|
+
- Public MCP directory (10k+ entries)
|
|
286
|
+
|
|
287
|
+
Legacy endpoints returning `404` are not used for sync anymore:
|
|
217
288
|
- `https://api.anthropic.com/v1/plugins/catalog`
|
|
218
289
|
- `https://api.github.com/copilot/extensions/catalog`
|
|
219
290
|
|