@shnitzel/plugscout 0.3.31 → 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 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 >=18.17" src="https://img.shields.io/badge/node-%3E%3D18.17-339933?logo=node.js&logoColor=white" /></a>
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
  [![Watch the PlugScout walkthrough](https://github.com/amitrintzler/plugscout/releases/download/v0.3.4/framework-walkthrough-preview.gif)](https://github.com/amitrintzler/plugscout/releases/download/v0.3.4/framework-walkthrough.mp4)
26
26
 
27
27
  Quick links:
28
- - [Install](#install-plugscout-v034)
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 `>=18.17` and npm — that's it.
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 (v0.3.4)
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` is a single command that installs prerequisites, writes default config, and syncs all catalogs. No extra steps needed.
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 v0.3.4
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
- ## Plugin and Connector Catalog Sources
264
+ ## Catalog Sources
206
265
 
207
- - Claude plugins: `https://claude.com/plugins` (scraped with sanitization + host allowlist guards)
208
- - Claude connectors: `https://claude.com/connectors` (scraped with sanitization + host allowlist guards)
209
- - Anthropic GitHub plugin manifests: `anthropics/claude-plugins-official`, `anthropics/knowledge-work-plugins`, `anthropics/financial-services-plugins`
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
- Legacy endpoints returning `404` are not used for sync anymore:
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