prpm 0.1.13 โ 0.1.15
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 +222 -722
- package/dist/commands/playground.js +9 -10
- package/dist/core/registry-client.js +7 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,662 +1,261 @@
|
|
|
1
|
-
# PRPM
|
|
1
|
+
# PRPM - The Package Manager for AI Prompts
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**The largest collection of Cursor rules, Claude agents, and slash commands.** Install cursor slash commands, claude slash commands, cursor rules, claude agents, and claude plugins like npm packages.
|
|
4
4
|
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
### NPM (Recommended)
|
|
8
5
|
```bash
|
|
9
6
|
npm install -g prpm
|
|
7
|
+
prpm install collection/nextjs-pro # Entire Next.js setup in one command
|
|
10
8
|
```
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
# Direct installation (recommended)
|
|
15
|
-
brew install khaliqgant/homebrew-prpm/prpm
|
|
16
|
-
|
|
17
|
-
# Or manual tap installation
|
|
18
|
-
brew tap khaliqgant/homebrew-prpm
|
|
19
|
-
brew install prpm
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
### Direct Download
|
|
23
|
-
Download the latest binary from [GitHub Releases](https://github.com/pr-pm/prpm/releases).
|
|
24
|
-
|
|
25
|
-
## Quick Start
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
# Search for packages
|
|
29
|
-
prpm search react
|
|
30
|
-
|
|
31
|
-
# Install a package from the registry
|
|
32
|
-
prpm install @username/react-rules
|
|
33
|
-
|
|
34
|
-
# Add a package from a URL
|
|
35
|
-
prpm add https://raw.githubusercontent.com/user/repo/main/rules.md --as cursor
|
|
10
|
+
**2,100+ packages** | **Works everywhere** (Cursor, Claude, Continue, Windsurf, GitHub Copilot, Kiro) | **One command to install**
|
|
36
11
|
|
|
37
|
-
|
|
38
|
-
prpm list
|
|
12
|
+
๐ **[Official Documentation](https://docs.prpm.dev)** | ๐ **[Browse Packages](https://prpm.dev)**
|
|
39
13
|
|
|
40
|
-
|
|
41
|
-
prpm outdated
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Commands
|
|
45
|
-
|
|
46
|
-
### Package Management
|
|
14
|
+
---
|
|
47
15
|
|
|
48
|
-
|
|
16
|
+
## ๐ฆ Collections - Complete Setups in One Command
|
|
49
17
|
|
|
50
|
-
|
|
18
|
+
Skip installing packages one-by-one. Get curated bundles for your entire workflow:
|
|
51
19
|
|
|
52
20
|
```bash
|
|
53
|
-
# Install
|
|
54
|
-
prpm install
|
|
21
|
+
# Install 5+ packages at once
|
|
22
|
+
prpm install collection/nextjs-pro
|
|
23
|
+
# โ Installs react-best-practices, typescript-strict, tailwind-helper,
|
|
24
|
+
# nextjs-patterns, component-architect
|
|
55
25
|
|
|
56
|
-
#
|
|
57
|
-
prpm install
|
|
26
|
+
# Python data science stack
|
|
27
|
+
prpm install collection/python-data
|
|
28
|
+
# โ Installs pandas-helper, numpy-patterns, matplotlib-guide,
|
|
29
|
+
# jupyter-best-practices, ml-workflow
|
|
58
30
|
|
|
59
|
-
#
|
|
60
|
-
prpm install
|
|
61
|
-
|
|
62
|
-
# Install with frozen lockfile (CI mode)
|
|
63
|
-
prpm install @username/react-rules --frozen-lockfile
|
|
31
|
+
# Full-stack React
|
|
32
|
+
prpm install collection/react-fullstack
|
|
33
|
+
# โ Everything for React + Node + PostgreSQL (8 packages)
|
|
64
34
|
```
|
|
65
35
|
|
|
66
|
-
**
|
|
67
|
-
- `--version <version>` - Specific version to install
|
|
68
|
-
- `--type <type>` - Override package type (cursor, claude, continue, windsurf, generic)
|
|
69
|
-
- `--as <format>` - Download in specific format (cursor, claude, continue, windsurf, canonical)
|
|
70
|
-
- `--frozen-lockfile` - Fail if lock file needs to be updated (for CI)
|
|
71
|
-
|
|
72
|
-
**Examples:**
|
|
73
|
-
```bash
|
|
74
|
-
# Install for Claude
|
|
75
|
-
prpm install @username/typescript-rules --as claude
|
|
76
|
-
|
|
77
|
-
# Install specific version
|
|
78
|
-
prpm install @username/typescript-rules --version 2.1.0
|
|
79
|
-
|
|
80
|
-
# CI mode with frozen lockfile
|
|
81
|
-
prpm install @username/typescript-rules --frozen-lockfile
|
|
82
|
-
```
|
|
36
|
+
**[Browse Collections โ](https://prpm.dev/search?tab=collections)**
|
|
83
37
|
|
|
84
38
|
---
|
|
85
39
|
|
|
86
|
-
|
|
40
|
+
## ๐ Universal Packages - Install Once, Use Anywhere
|
|
87
41
|
|
|
88
|
-
|
|
42
|
+
Every package works in **any** AI editor. No conversion tools, no separate downloads:
|
|
89
43
|
|
|
90
44
|
```bash
|
|
91
|
-
#
|
|
92
|
-
prpm
|
|
45
|
+
# Same package, different editors
|
|
46
|
+
prpm install @username/react-best-practices --as cursor # โ .cursor/rules/
|
|
47
|
+
prpm install @username/react-best-practices --as claude # โ .claude/agents/
|
|
48
|
+
prpm install @username/react-best-practices --as continue # โ .continue/prompts/
|
|
49
|
+
prpm install @username/react-best-practices --as windsurf # โ .windsurf/rules/
|
|
50
|
+
prpm install @username/react-best-practices --as copilot # โ .github/instructions/
|
|
51
|
+
prpm install @username/react-best-practices --as kiro # โ .kiro/steering/
|
|
93
52
|
|
|
94
|
-
#
|
|
95
|
-
prpm
|
|
53
|
+
# Or just let PRPM auto-detect
|
|
54
|
+
prpm install @username/react-best-practices # Installs in the right place automatically
|
|
96
55
|
```
|
|
97
56
|
|
|
98
|
-
**
|
|
99
|
-
- `--as <type>` - Package type (cursor or claude), default: cursor
|
|
100
|
-
|
|
101
|
-
**Examples:**
|
|
102
|
-
```bash
|
|
103
|
-
# Add from GitHub
|
|
104
|
-
prpm add https://raw.githubusercontent.com/acme/rules/main/cursor-rules.md --as cursor
|
|
105
|
-
|
|
106
|
-
# Add from custom URL
|
|
107
|
-
prpm add https://example.com/my-rules.md --as claude
|
|
108
|
-
```
|
|
57
|
+
**Format conversion happens server-side.** Authors publish once, users install everywhere.
|
|
109
58
|
|
|
110
59
|
---
|
|
111
60
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
Remove an installed package.
|
|
61
|
+
## Why PRPM?
|
|
115
62
|
|
|
63
|
+
### The Problem
|
|
116
64
|
```bash
|
|
117
|
-
|
|
65
|
+
# Current workflow (painful)
|
|
66
|
+
1. Find cursor rule on GitHub
|
|
67
|
+
2. Copy raw file URL
|
|
68
|
+
3. Create .cursor/rules/something.md
|
|
69
|
+
4. Paste content
|
|
70
|
+
5. Repeat for every rule
|
|
71
|
+
6. Update manually when rules change
|
|
72
|
+
7. Do it all again for Claude/Continue/Windsurf
|
|
118
73
|
```
|
|
119
74
|
|
|
120
|
-
|
|
75
|
+
### The Solution
|
|
121
76
|
```bash
|
|
122
|
-
#
|
|
123
|
-
prpm
|
|
124
|
-
|
|
125
|
-
#
|
|
126
|
-
prpm
|
|
77
|
+
# PRPM workflow (simple)
|
|
78
|
+
prpm install collection/nextjs-pro # Entire setup (multiple packages)
|
|
79
|
+
# OR
|
|
80
|
+
prpm install @username/test-driven-development # Single package
|
|
81
|
+
prpm install @username/systematic-debugging
|
|
127
82
|
```
|
|
128
83
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
#### `prpm list`
|
|
132
|
-
|
|
133
|
-
List all installed packages.
|
|
134
|
-
|
|
135
|
-
```bash
|
|
136
|
-
prpm list
|
|
137
|
-
```
|
|
84
|
+
**It's npm for AI prompts. But it works everywhere.**
|
|
138
85
|
|
|
139
|
-
|
|
140
|
-
- Package ID
|
|
141
|
-
- Package type
|
|
142
|
-
- Source URL
|
|
143
|
-
- Installation path
|
|
86
|
+
### Team Consistency
|
|
144
87
|
|
|
145
|
-
|
|
146
|
-
```
|
|
147
|
-
ID TYPE URL DESTINATION
|
|
148
|
-
react-rules cursor https://registry.prpm.dev/... .cursor/rules/react-rules.md
|
|
149
|
-
typescript-best claude https://registry.prpm.dev/... .claude/agents/typescript-best.md
|
|
150
|
-
|
|
151
|
-
Total: 2 packages
|
|
152
|
-
```
|
|
88
|
+
If you're working on a big project and some coworkers use Copilot, others use Claude, and sometimes it's Cursor, the only way to unify rules so it's consistent across the codebase is to use PRPM. It's an easy way to make sure everyone has the same rules across the team.
|
|
153
89
|
|
|
154
90
|
---
|
|
155
91
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
Scan existing `.cursor/rules/` and `.claude/agents/` directories and register any unregistered files.
|
|
92
|
+
## Installation
|
|
159
93
|
|
|
160
94
|
```bash
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
This is useful when:
|
|
165
|
-
- You have existing prompt files in your project
|
|
166
|
-
- You want to import files into PRPM tracking
|
|
167
|
-
- You manually copied files and want them registered
|
|
168
|
-
|
|
169
|
-
**Example output:**
|
|
170
|
-
```
|
|
171
|
-
Found 3 files in .cursor/rules/
|
|
172
|
-
Added: cursor-rules.md (cursor-rules)
|
|
173
|
-
Skipped: existing-rules.md (already registered)
|
|
174
|
-
|
|
175
|
-
Found 1 file in .claude/agents/
|
|
176
|
-
Added: agent.md (agent)
|
|
95
|
+
# NPM (recommended)
|
|
96
|
+
npm install -g prpm
|
|
177
97
|
|
|
178
|
-
|
|
98
|
+
# Homebrew (macOS)
|
|
99
|
+
brew install khaliqgant/homebrew-prpm/prpm
|
|
179
100
|
```
|
|
180
101
|
|
|
181
102
|
---
|
|
182
103
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
#### `prpm search <query>`
|
|
186
|
-
|
|
187
|
-
Search for packages in the registry.
|
|
104
|
+
## Quick Start
|
|
188
105
|
|
|
189
106
|
```bash
|
|
190
|
-
#
|
|
191
|
-
prpm
|
|
192
|
-
|
|
193
|
-
# Filter by type
|
|
194
|
-
prpm search typescript --type cursor
|
|
195
|
-
|
|
196
|
-
# Limit results
|
|
197
|
-
prpm search coding --limit 10
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
**Options:**
|
|
201
|
-
- `--type <type>` - Filter by package type (cursor, claude, continue, windsurf, generic)
|
|
202
|
-
- `--limit <number>` - Number of results to show (default: 20)
|
|
107
|
+
# Install a complete collection
|
|
108
|
+
prpm install collection/nextjs-pro
|
|
203
109
|
|
|
204
|
-
|
|
205
|
-
```bash
|
|
206
|
-
# Search for React-related packages
|
|
110
|
+
# Or browse and search
|
|
207
111
|
prpm search react
|
|
208
|
-
|
|
209
|
-
# Find Cursor-specific packages
|
|
210
|
-
prpm search javascript --type cursor
|
|
211
|
-
|
|
212
|
-
# Get top 5 results
|
|
213
|
-
prpm search best-practices --limit 5
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
#### `prpm trending`
|
|
219
|
-
|
|
220
|
-
Show trending packages from the last 7 days.
|
|
221
|
-
|
|
222
|
-
```bash
|
|
223
|
-
# Show trending packages
|
|
224
112
|
prpm trending
|
|
113
|
+
prpm collections
|
|
225
114
|
|
|
226
|
-
#
|
|
227
|
-
prpm
|
|
228
|
-
|
|
229
|
-
# Show more results
|
|
230
|
-
prpm trending --limit 20
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
**Options:**
|
|
234
|
-
- `--type <type>` - Filter by package type (cursor, claude, continue, windsurf, generic)
|
|
235
|
-
- `--limit <number>` - Number of packages to show (default: 10)
|
|
236
|
-
|
|
237
|
-
**Examples:**
|
|
238
|
-
```bash
|
|
239
|
-
# Top 10 trending packages
|
|
240
|
-
prpm trending
|
|
241
|
-
|
|
242
|
-
# Trending Claude packages
|
|
243
|
-
prpm trending --type claude
|
|
244
|
-
|
|
245
|
-
# Top 5 trending
|
|
246
|
-
prpm trending --limit 5
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
#### `prpm popular`
|
|
252
|
-
|
|
253
|
-
Show all-time popular packages.
|
|
254
|
-
|
|
255
|
-
```bash
|
|
256
|
-
# Show popular packages
|
|
257
|
-
prpm popular
|
|
258
|
-
|
|
259
|
-
# Filter by type
|
|
260
|
-
prpm popular --type cursor
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
**Options:**
|
|
264
|
-
- `-t, --type <type>` - Filter by package type (cursor, claude, continue, windsurf)
|
|
115
|
+
# Install individual packages
|
|
116
|
+
prpm install @username/test-driven-development
|
|
117
|
+
prpm install @username/react-best-practices --as cursor
|
|
265
118
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
# Most popular packages
|
|
269
|
-
prpm popular
|
|
119
|
+
# Check what's installed
|
|
120
|
+
prpm list
|
|
270
121
|
|
|
271
|
-
#
|
|
272
|
-
prpm
|
|
122
|
+
# Keep packages up to date
|
|
123
|
+
prpm outdated
|
|
124
|
+
prpm update
|
|
273
125
|
```
|
|
274
126
|
|
|
275
127
|
---
|
|
276
128
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
Display detailed information about a package.
|
|
280
|
-
|
|
281
|
-
```bash
|
|
282
|
-
prpm info @username/react-rules
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
Shows:
|
|
286
|
-
- Package name and description
|
|
287
|
-
- Download statistics
|
|
288
|
-
- Rating
|
|
289
|
-
- Latest version
|
|
290
|
-
- Tags and categories
|
|
291
|
-
- Installation instructions
|
|
292
|
-
|
|
293
|
-
**Example output:**
|
|
294
|
-
```
|
|
295
|
-
React Development Rules โ Verified
|
|
296
|
-
|
|
297
|
-
A comprehensive set of React best practices and rules.
|
|
298
|
-
|
|
299
|
-
Stats:
|
|
300
|
-
Downloads: 12,543
|
|
301
|
-
Rating: โ
โ
โ
โ
โ
(4.8/5)
|
|
302
|
-
|
|
303
|
-
Latest Version: 2.1.0
|
|
304
|
-
|
|
305
|
-
Tags: react, javascript, best-practices
|
|
306
|
-
|
|
307
|
-
Installation:
|
|
308
|
-
prpm install @username/react-rules
|
|
309
|
-
prpm install @username/react-rules@2.1.0
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
---
|
|
129
|
+
## Commands
|
|
313
130
|
|
|
314
131
|
### Collections
|
|
315
|
-
|
|
316
|
-
#### `prpm collections` / `prpm collections list`
|
|
317
|
-
|
|
318
|
-
List available package collections.
|
|
319
|
-
|
|
320
132
|
```bash
|
|
321
|
-
#
|
|
322
|
-
prpm collections
|
|
323
|
-
|
|
324
|
-
#
|
|
325
|
-
prpm collections list --category frontend
|
|
326
|
-
|
|
327
|
-
# Show only official collections
|
|
328
|
-
prpm collections list --official
|
|
329
|
-
|
|
330
|
-
# Filter by scope
|
|
331
|
-
prpm collections list --scope prpm
|
|
133
|
+
prpm collections # Browse available collections
|
|
134
|
+
prpm collections search frontend # Search collections
|
|
135
|
+
prpm collections info collection/nextjs-pro # View details
|
|
136
|
+
prpm install collection/nextjs-pro # Install a collection
|
|
332
137
|
```
|
|
333
138
|
|
|
334
|
-
|
|
335
|
-
- `--category <category>` - Filter by category
|
|
336
|
-
- `--tag <tag>` - Filter by tag
|
|
337
|
-
- `--official` - Show only official collections
|
|
338
|
-
- `--scope <scope>` - Filter by scope
|
|
339
|
-
|
|
340
|
-
**Examples:**
|
|
341
|
-
```bash
|
|
342
|
-
# View all collections
|
|
343
|
-
prpm collections
|
|
344
|
-
|
|
345
|
-
# Official collections only
|
|
346
|
-
prpm collections list --official
|
|
347
|
-
|
|
348
|
-
# Frontend-related collections
|
|
349
|
-
prpm collections list --category frontend
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
---
|
|
353
|
-
|
|
354
|
-
#### `prpm collections info <collection>`
|
|
355
|
-
|
|
356
|
-
Show detailed information about a collection.
|
|
357
|
-
|
|
139
|
+
### Package Management
|
|
358
140
|
```bash
|
|
359
|
-
#
|
|
360
|
-
prpm
|
|
361
|
-
|
|
362
|
-
#
|
|
363
|
-
prpm
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
Shows:
|
|
367
|
-
- Collection description
|
|
368
|
-
- Statistics (downloads, stars)
|
|
369
|
-
- Included packages (required and optional)
|
|
370
|
-
- Installation instructions
|
|
371
|
-
|
|
372
|
-
**Example output:**
|
|
373
|
-
```
|
|
374
|
-
React Starter Kit
|
|
375
|
-
==================
|
|
376
|
-
|
|
377
|
-
A curated collection of React development packages.
|
|
378
|
-
|
|
379
|
-
Stats:
|
|
380
|
-
Downloads: 5,432
|
|
381
|
-
Stars: 234
|
|
382
|
-
Version: 1.0.0
|
|
383
|
-
Packages: 5
|
|
384
|
-
|
|
385
|
-
Included Packages:
|
|
386
|
-
Required:
|
|
387
|
-
1. โ react-rules@2.1.0
|
|
388
|
-
Best practices for React development
|
|
389
|
-
|
|
390
|
-
Optional:
|
|
391
|
-
1. โ typescript-rules@1.0.0
|
|
392
|
-
TypeScript configuration for React
|
|
393
|
-
|
|
394
|
-
Install:
|
|
395
|
-
prpm install @prpm/react-starter
|
|
141
|
+
prpm search react # Search packages
|
|
142
|
+
prpm install <package-name> # Install package
|
|
143
|
+
prpm install <package> --as cursor # Install for specific editor
|
|
144
|
+
prpm list # List installed
|
|
145
|
+
prpm uninstall <package-name> # Remove package
|
|
396
146
|
```
|
|
397
147
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
### Updates & Upgrades
|
|
401
|
-
|
|
402
|
-
#### `prpm outdated`
|
|
403
|
-
|
|
404
|
-
Check for package updates.
|
|
405
|
-
|
|
148
|
+
### Discovery
|
|
406
149
|
```bash
|
|
407
|
-
prpm
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
Shows which packages have updates available, grouped by:
|
|
411
|
-
- Major updates (breaking changes possible)
|
|
412
|
-
- Minor updates (new features)
|
|
413
|
-
- Patch updates (bug fixes)
|
|
414
|
-
|
|
415
|
-
**Example output:**
|
|
416
|
-
```
|
|
417
|
-
Major Updates (breaking changes possible):
|
|
418
|
-
react-rules 1.0.0 โ 2.0.0
|
|
419
|
-
|
|
420
|
-
Minor Updates (new features):
|
|
421
|
-
typescript-rules 1.0.0 โ 1.1.0
|
|
422
|
-
|
|
423
|
-
Patch Updates (bug fixes):
|
|
424
|
-
eslint-config 1.0.0 โ 1.0.1
|
|
425
|
-
|
|
426
|
-
Run "prpm update" to update to latest minor/patch versions
|
|
427
|
-
Run "prpm upgrade" to upgrade to latest major versions
|
|
150
|
+
prpm trending # Trending packages
|
|
151
|
+
prpm popular # Most popular packages
|
|
152
|
+
prpm info <package-name> # Package details
|
|
428
153
|
```
|
|
429
154
|
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
#### `prpm update [package]`
|
|
433
|
-
|
|
434
|
-
Update packages to latest compatible versions (minor/patch only, skips major versions).
|
|
435
|
-
|
|
155
|
+
### Updates
|
|
436
156
|
```bash
|
|
437
|
-
#
|
|
438
|
-
prpm update
|
|
439
|
-
|
|
440
|
-
# Update specific package
|
|
441
|
-
prpm update react-rules
|
|
157
|
+
prpm outdated # Check for updates
|
|
158
|
+
prpm update # Update all packages
|
|
159
|
+
prpm upgrade # Upgrade (including major versions)
|
|
442
160
|
```
|
|
443
161
|
|
|
444
|
-
|
|
445
|
-
- `--all` - Update all packages
|
|
446
|
-
|
|
447
|
-
**Examples:**
|
|
162
|
+
### Publishing
|
|
448
163
|
```bash
|
|
449
|
-
#
|
|
450
|
-
prpm
|
|
451
|
-
|
|
452
|
-
#
|
|
453
|
-
prpm update typescript-rules
|
|
164
|
+
prpm login # Login to registry
|
|
165
|
+
prpm whoami # Show current user
|
|
166
|
+
prpm publish # Publish a package
|
|
167
|
+
prpm init # Create prpm.json
|
|
454
168
|
```
|
|
455
169
|
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
#### `prpm upgrade [package]`
|
|
459
|
-
|
|
460
|
-
Upgrade packages to latest versions (including major updates).
|
|
461
|
-
|
|
170
|
+
### Configuration
|
|
462
171
|
```bash
|
|
463
|
-
#
|
|
464
|
-
prpm
|
|
465
|
-
|
|
466
|
-
# Upgrade specific package
|
|
467
|
-
prpm upgrade react-rules
|
|
468
|
-
|
|
469
|
-
# Skip warning for major updates
|
|
470
|
-
prpm upgrade --force
|
|
172
|
+
prpm config set defaultFormat cursor # Set default format
|
|
173
|
+
prpm config get defaultFormat # Get config value
|
|
174
|
+
prpm config list # List all config
|
|
471
175
|
```
|
|
472
176
|
|
|
473
|
-
**
|
|
474
|
-
- `--all` - Upgrade all packages
|
|
475
|
-
- `--force` - Skip warning for major version upgrades
|
|
476
|
-
|
|
477
|
-
**Examples:**
|
|
478
|
-
```bash
|
|
479
|
-
# Upgrade all (including major versions)
|
|
480
|
-
prpm upgrade
|
|
481
|
-
|
|
482
|
-
# Upgrade specific package
|
|
483
|
-
prpm upgrade react-rules
|
|
484
|
-
|
|
485
|
-
# Force upgrade without warnings
|
|
486
|
-
prpm upgrade --force
|
|
487
|
-
```
|
|
177
|
+
๐ **[Full CLI Reference](https://docs.prpm.dev/cli/commands)** | **[All Documentation](https://docs.prpm.dev)**
|
|
488
178
|
|
|
489
179
|
---
|
|
490
180
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
#### `prpm deps <package>`
|
|
494
|
-
|
|
495
|
-
Show dependency tree for a package.
|
|
181
|
+
## Real-World Examples
|
|
496
182
|
|
|
183
|
+
### Complete Next.js Setup
|
|
497
184
|
```bash
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
# View dependencies for specific version
|
|
502
|
-
prpm deps react-rules@1.2.0
|
|
503
|
-
```
|
|
504
|
-
|
|
505
|
-
Shows:
|
|
506
|
-
- Resolved dependency versions
|
|
507
|
-
- Dependency tree structure
|
|
508
|
-
- Total dependency count
|
|
509
|
-
|
|
510
|
-
**Example output:**
|
|
511
|
-
```
|
|
512
|
-
Resolving dependencies for react-rules@1.2.0...
|
|
513
|
-
|
|
514
|
-
Resolved Dependencies:
|
|
515
|
-
eslint-config@2.0.0
|
|
516
|
-
typescript-rules@1.1.0
|
|
517
|
-
|
|
518
|
-
Total: 2 dependencies
|
|
519
|
-
|
|
520
|
-
Dependency Tree:
|
|
521
|
-
โโ react-rules@1.2.0
|
|
522
|
-
โโ eslint-config@2.0.0
|
|
523
|
-
โโ typescript-rules@1.1.0
|
|
185
|
+
prpm install collection/nextjs-pro
|
|
186
|
+
# Installs 5+ packages in one command: React best practices, TypeScript config,
|
|
187
|
+
# Tailwind helpers, Next.js patterns, component architecture
|
|
524
188
|
```
|
|
525
189
|
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
### Authentication & Publishing
|
|
529
|
-
|
|
530
|
-
#### `prpm login`
|
|
531
|
-
|
|
532
|
-
Login to the PRPM registry.
|
|
533
|
-
|
|
190
|
+
### Switch Between Editors
|
|
534
191
|
```bash
|
|
535
|
-
#
|
|
536
|
-
prpm
|
|
192
|
+
# Working in Cursor today
|
|
193
|
+
prpm install @username/react-best-practices --as cursor
|
|
537
194
|
|
|
538
|
-
#
|
|
539
|
-
prpm
|
|
195
|
+
# Trying Claude Code tomorrow
|
|
196
|
+
prpm install @username/react-best-practices --as claude
|
|
197
|
+
# Same package, different format. Zero conversion work.
|
|
540
198
|
```
|
|
541
199
|
|
|
542
|
-
|
|
543
|
-
- `--token <token>` - Login with a personal access token
|
|
544
|
-
|
|
545
|
-
**Login Flow:**
|
|
546
|
-
1. Opens browser for GitHub authentication
|
|
547
|
-
2. Authorize the application
|
|
548
|
-
3. Token is automatically saved
|
|
549
|
-
4. Ready to publish packages
|
|
550
|
-
|
|
551
|
-
**Examples:**
|
|
200
|
+
### Get Code Reviews
|
|
552
201
|
```bash
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
# Manual token login
|
|
557
|
-
prpm login --token ghp_xxxxxxxxxxxx
|
|
202
|
+
prpm install @username/karen-skill
|
|
203
|
+
# Ask in Claude Code: "Karen, review this repository"
|
|
204
|
+
# Get: 78/100 score + market research + actionable fixes
|
|
558
205
|
```
|
|
559
206
|
|
|
560
207
|
---
|
|
561
208
|
|
|
562
|
-
|
|
209
|
+
## How It Works
|
|
563
210
|
|
|
564
|
-
Show current logged-in user.
|
|
565
|
-
|
|
566
|
-
```bash
|
|
567
|
-
prpm whoami
|
|
568
|
-
```
|
|
569
|
-
|
|
570
|
-
**Example output:**
|
|
571
211
|
```
|
|
572
|
-
|
|
212
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
213
|
+
โ prpm install <package> --as cursor โ
|
|
214
|
+
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโ
|
|
215
|
+
โ
|
|
216
|
+
โโ> Fetches from registry
|
|
217
|
+
โโ> Converts to Cursor format (server-side)
|
|
218
|
+
โโ> Installs to .cursor/rules/
|
|
219
|
+
โโ> Tracks in prpm.lock
|
|
573
220
|
```
|
|
574
221
|
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
222
|
+
**Smart Features:**
|
|
223
|
+
- **Auto-detection** - Detects Cursor vs Claude vs Continue vs Windsurf
|
|
224
|
+
- **Format conversion** - Server-side conversion to any editor format
|
|
225
|
+
- **Dependency resolution** - Handles package dependencies automatically
|
|
226
|
+
- **Version locking** - prpm-lock.json for consistent installs
|
|
227
|
+
- **Collections** - Install multiple packages as bundles
|
|
578
228
|
|
|
579
|
-
|
|
580
|
-
```
|
|
229
|
+
๐ **[Learn More](https://docs.prpm.dev/guides/format-conversion)**
|
|
581
230
|
|
|
582
231
|
---
|
|
583
232
|
|
|
584
|
-
|
|
233
|
+
## What Makes PRPM Different?
|
|
585
234
|
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
prpm publish --tag beta
|
|
597
|
-
```
|
|
598
|
-
|
|
599
|
-
**Options:**
|
|
600
|
-
- `--access <type>` - Package access (public or private), default: public
|
|
601
|
-
- `--tag <tag>` - NPM-style tag (e.g., latest, beta), default: latest
|
|
602
|
-
- `--dry-run` - Validate package without publishing
|
|
603
|
-
|
|
604
|
-
**Requirements:**
|
|
605
|
-
- Must be logged in (`prpm login`)
|
|
606
|
-
- Must have `prpm.json` manifest in current directory
|
|
607
|
-
- Package files must exist
|
|
608
|
-
|
|
609
|
-
**prpm.json format:**
|
|
610
|
-
```json
|
|
611
|
-
{
|
|
612
|
-
"name": "my-package",
|
|
613
|
-
"version": "1.0.0",
|
|
614
|
-
"description": "My awesome package",
|
|
615
|
-
"type": "cursor",
|
|
616
|
-
"tags": ["react", "javascript"],
|
|
617
|
-
"files": [
|
|
618
|
-
"prpm.json",
|
|
619
|
-
".cursorrules",
|
|
620
|
-
"README.md"
|
|
621
|
-
]
|
|
622
|
-
}
|
|
623
|
-
```
|
|
624
|
-
|
|
625
|
-
**Examples:**
|
|
626
|
-
```bash
|
|
627
|
-
# Publish to registry
|
|
628
|
-
prpm publish
|
|
629
|
-
|
|
630
|
-
# Test before publishing
|
|
631
|
-
prpm publish --dry-run
|
|
632
|
-
|
|
633
|
-
# Publish beta version
|
|
634
|
-
prpm publish --tag beta
|
|
635
|
-
```
|
|
235
|
+
| Feature | PRPM | Manual Copying | Other Tools |
|
|
236
|
+
|---------|------|----------------|-------------|
|
|
237
|
+
| **Collections (multi-package installs)** | โ
| โ | โ |
|
|
238
|
+
| **Universal packages (any editor)** | โ
| โ | โ |
|
|
239
|
+
| **Server-side format conversion** | โ
| โ | โ |
|
|
240
|
+
| **Auto-updates** | โ
| โ | โ ๏ธ |
|
|
241
|
+
| **Version control** | โ
| โ | โ ๏ธ |
|
|
242
|
+
| **Dependency handling** | โ
| โ | โ |
|
|
243
|
+
| **Works with Cursor + Claude + Continue + Windsurf** | โ
| โ ๏ธ | โ |
|
|
244
|
+
| **Configures MCP servers (Claude Code)** | โ
| โ | โ |
|
|
636
245
|
|
|
637
246
|
---
|
|
638
247
|
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
#### `prpm telemetry enable`
|
|
642
|
-
|
|
643
|
-
Enable anonymous usage analytics.
|
|
644
|
-
|
|
645
|
-
```bash
|
|
646
|
-
prpm telemetry enable
|
|
647
|
-
```
|
|
648
|
-
|
|
649
|
-
Helps improve PRPM by collecting anonymous usage data via PostHog.
|
|
650
|
-
|
|
651
|
-
---
|
|
248
|
+
## ๐ Package Library (2,100+)
|
|
652
249
|
|
|
653
|
-
|
|
250
|
+
- **๐ฏ Cursor Rules** - Next.js, React, Vue, Python, Laravel, TypeScript, mobile, testing, and hundreds more
|
|
251
|
+
- **๐ค Claude Skills & Agents** - Repository analysis, code review, architecture, specialized workflows
|
|
252
|
+
- **๐ Windsurf Rules** - Frontend, backend, mobile, DevOps, and full-stack development
|
|
253
|
+
- **๐ MCP Server Configs** - Auto-configure MCP servers for Claude Code
|
|
254
|
+
- **๐ฆ Collections** - Multi-package bundles for complete workflow setups
|
|
654
255
|
|
|
655
|
-
|
|
256
|
+
**Categories:** Frontend frameworks, Backend frameworks, Programming languages, Testing, Mobile development, Cloud & DevOps, AI & ML, Databases, Web3, Best practices, and more
|
|
656
257
|
|
|
657
|
-
|
|
658
|
-
prpm telemetry disable
|
|
659
|
-
```
|
|
258
|
+
๐ **[Browse Packages](https://prpm.dev/search)** | ๐ **[Documentation](https://docs.prpm.dev)**
|
|
660
259
|
|
|
661
260
|
---
|
|
662
261
|
|
|
@@ -674,19 +273,22 @@ PRPM stores configuration in `~/.prpmrc`:
|
|
|
674
273
|
}
|
|
675
274
|
```
|
|
676
275
|
|
|
677
|
-
###
|
|
276
|
+
### Set Default Format
|
|
678
277
|
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
- `telemetryEnabled` - Enable/disable usage analytics
|
|
278
|
+
```bash
|
|
279
|
+
# Set default format for all installs
|
|
280
|
+
prpm config set defaultFormat cursor # or claude, continue, windsurf
|
|
281
|
+
```
|
|
684
282
|
|
|
685
283
|
### Environment Variables
|
|
686
284
|
|
|
687
285
|
- `PRPM_REGISTRY_URL` - Override registry URL
|
|
688
286
|
- `PRPM_NO_TELEMETRY` - Disable telemetry (set to "1" or "true")
|
|
689
287
|
|
|
288
|
+
๐ **[Configuration Guide](https://docs.prpm.dev/installation#configuration)**
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
690
292
|
## Project Structure
|
|
691
293
|
|
|
692
294
|
After installing packages, your project will look like:
|
|
@@ -703,96 +305,13 @@ my-project/
|
|
|
703
305
|
โโโ prpm-lock.json # Lock file
|
|
704
306
|
```
|
|
705
307
|
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
Tracks installed packages:
|
|
709
|
-
|
|
710
|
-
```json
|
|
711
|
-
{
|
|
712
|
-
"packages": [
|
|
713
|
-
{
|
|
714
|
-
"id": "react-rules",
|
|
715
|
-
"type": "cursor",
|
|
716
|
-
"url": "https://registry.prpm.dev/packages/react-rules",
|
|
717
|
-
"dest": ".cursor/rules/react-rules.md",
|
|
718
|
-
"version": "2.1.0"
|
|
719
|
-
}
|
|
720
|
-
]
|
|
721
|
-
}
|
|
722
|
-
```
|
|
723
|
-
|
|
724
|
-
### Lock File (`prpm-lock.json`)
|
|
725
|
-
|
|
726
|
-
Ensures consistent installations:
|
|
727
|
-
|
|
728
|
-
```json
|
|
729
|
-
{
|
|
730
|
-
"version": "1.0.0",
|
|
731
|
-
"packages": {
|
|
732
|
-
"react-rules": {
|
|
733
|
-
"version": "2.1.0",
|
|
734
|
-
"tarballUrl": "https://registry.prpm.dev/...",
|
|
735
|
-
"integrity": "sha512-...",
|
|
736
|
-
"type": "cursor",
|
|
737
|
-
"format": "cursor"
|
|
738
|
-
}
|
|
739
|
-
}
|
|
740
|
-
}
|
|
741
|
-
```
|
|
742
|
-
|
|
743
|
-
## Common Workflows
|
|
744
|
-
|
|
745
|
-
### Starting a New Project
|
|
746
|
-
|
|
747
|
-
```bash
|
|
748
|
-
# Initialize with popular packages
|
|
749
|
-
prpm install @prpm/starter-kit
|
|
750
|
-
|
|
751
|
-
# Or install individually
|
|
752
|
-
prpm search react
|
|
753
|
-
prpm install @username/react-rules
|
|
754
|
-
prpm install @username/typescript-rules
|
|
755
|
-
```
|
|
756
|
-
|
|
757
|
-
### Keeping Packages Updated
|
|
758
|
-
|
|
759
|
-
```bash
|
|
760
|
-
# Check for updates
|
|
761
|
-
prpm outdated
|
|
762
|
-
|
|
763
|
-
# Update safe changes (minor/patch)
|
|
764
|
-
prpm update
|
|
765
|
-
|
|
766
|
-
# Upgrade to latest (including major)
|
|
767
|
-
prpm upgrade
|
|
768
|
-
```
|
|
769
|
-
|
|
770
|
-
### Working with Collections
|
|
771
|
-
|
|
772
|
-
```bash
|
|
773
|
-
# Browse collections
|
|
774
|
-
prpm collections
|
|
775
|
-
|
|
776
|
-
# View collection details
|
|
777
|
-
prpm collections info @prpm/react-starter
|
|
778
|
-
|
|
779
|
-
# Install collection
|
|
780
|
-
prpm install @prpm/react-starter
|
|
781
|
-
```
|
|
308
|
+
---
|
|
782
309
|
|
|
783
|
-
|
|
310
|
+
## Publishing Your Own Package
|
|
784
311
|
|
|
785
312
|
```bash
|
|
786
|
-
# 1. Create
|
|
787
|
-
|
|
788
|
-
{
|
|
789
|
-
"name": "my-rules",
|
|
790
|
-
"version": "1.0.0",
|
|
791
|
-
"description": "My custom rules",
|
|
792
|
-
"type": "cursor",
|
|
793
|
-
"files": ["prpm.json", ".cursorrules", "README.md"]
|
|
794
|
-
}
|
|
795
|
-
EOF
|
|
313
|
+
# 1. Create package files
|
|
314
|
+
prpm init # Creates prpm.json
|
|
796
315
|
|
|
797
316
|
# 2. Login to registry
|
|
798
317
|
prpm login
|
|
@@ -804,25 +323,29 @@ prpm publish --dry-run
|
|
|
804
323
|
prpm publish
|
|
805
324
|
```
|
|
806
325
|
|
|
807
|
-
###
|
|
326
|
+
### Example `prpm.json`
|
|
808
327
|
|
|
809
|
-
```
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
328
|
+
```json
|
|
329
|
+
{
|
|
330
|
+
"name": "my-package",
|
|
331
|
+
"version": "1.0.0",
|
|
332
|
+
"description": "My awesome package",
|
|
333
|
+
"type": "cursor",
|
|
334
|
+
"format": "cursor",
|
|
335
|
+
"tags": ["react", "javascript"],
|
|
336
|
+
"files": [
|
|
337
|
+
"prpm.json",
|
|
338
|
+
".cursorrules",
|
|
339
|
+
"README.md"
|
|
340
|
+
]
|
|
341
|
+
}
|
|
815
342
|
```
|
|
816
343
|
|
|
817
|
-
|
|
344
|
+
Contact [@khaliqgant](https://github.com/khaliqgant) for publishing access.
|
|
818
345
|
|
|
819
|
-
|
|
820
|
-
# In CI pipeline - use frozen lockfile
|
|
821
|
-
prpm install --frozen-lockfile
|
|
346
|
+
๐ **[Publishing Guide](https://docs.prpm.dev/guides/publishing)**
|
|
822
347
|
|
|
823
|
-
|
|
824
|
-
prpm install
|
|
825
|
-
```
|
|
348
|
+
---
|
|
826
349
|
|
|
827
350
|
## Supported Formats
|
|
828
351
|
|
|
@@ -834,95 +357,72 @@ PRPM supports multiple AI coding assistant formats:
|
|
|
834
357
|
| `claude` | `.claude/agents/` | Claude sub-agents |
|
|
835
358
|
| `continue` | `.continue/` | Continue extension configs |
|
|
836
359
|
| `windsurf` | `.windsurf/` | Windsurf IDE configs |
|
|
837
|
-
| `
|
|
838
|
-
|
|
839
|
-
### Format Conversion
|
|
840
|
-
|
|
841
|
-
PRPM automatically converts packages between formats:
|
|
842
|
-
|
|
843
|
-
```bash
|
|
844
|
-
# Install Cursor package as Claude format
|
|
845
|
-
prpm install @username/cursor-rules --as claude
|
|
360
|
+
| `copilot` | `.github/instructions/` | GitHub Copilot instructions |
|
|
361
|
+
| `kiro` | `.kiro/steering/` | Kiro steering files |
|
|
846
362
|
|
|
847
|
-
|
|
848
|
-
prpm install @username/claude-agent --as cursor
|
|
849
|
-
```
|
|
850
|
-
|
|
851
|
-
## Troubleshooting
|
|
852
|
-
|
|
853
|
-
### Command Not Found
|
|
363
|
+
---
|
|
854
364
|
|
|
855
|
-
|
|
856
|
-
# Reinstall globally
|
|
857
|
-
npm install -g prpm
|
|
365
|
+
## Stats
|
|
858
366
|
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
367
|
+
- **2,100+ packages** - Cursor rules, Claude skills/agents, Windsurf rules, MCP configs
|
|
368
|
+
- **Universal package manager** - Works with Cursor, Claude, Continue, Windsurf
|
|
369
|
+
- **100+ Collections** - Complete workflow setups in one command
|
|
370
|
+
- **6 editor formats** supported (server-side conversion)
|
|
862
371
|
|
|
863
|
-
|
|
372
|
+
---
|
|
864
373
|
|
|
865
|
-
|
|
866
|
-
# Re-login
|
|
867
|
-
prpm login
|
|
374
|
+
## Documentation
|
|
868
375
|
|
|
869
|
-
|
|
870
|
-
prpm whoami
|
|
376
|
+
### ๐ Official Documentation
|
|
871
377
|
|
|
872
|
-
|
|
873
|
-
prpm login --token YOUR_TOKEN
|
|
874
|
-
```
|
|
378
|
+
**โก๏ธ [docs.prpm.dev](https://docs.prpm.dev) - Complete documentation**
|
|
875
379
|
|
|
876
|
-
|
|
380
|
+
**Quick Links:**
|
|
381
|
+
- ๐ [Getting Started](https://docs.prpm.dev/installation) - Install and configure PRPM
|
|
382
|
+
- ๐ป [CLI Reference](https://docs.prpm.dev/cli/commands) - All commands and options
|
|
383
|
+
- ๐ฆ [Collections Guide](https://docs.prpm.dev/concepts/collections) - Multi-package bundles
|
|
384
|
+
- ๐ [Format Conversion](https://docs.prpm.dev/concepts/formats) - Universal packages explained
|
|
385
|
+
- ๐ [MCP Servers](https://docs.prpm.dev/guides/mcp-servers) - Model Context Protocol configuration
|
|
877
386
|
|
|
878
|
-
|
|
879
|
-
# Check package exists
|
|
880
|
-
prpm search package-name
|
|
387
|
+
---
|
|
881
388
|
|
|
882
|
-
|
|
883
|
-
prpm info @username/package-name
|
|
389
|
+
## Support & Resources
|
|
884
390
|
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
391
|
+
- **Website**: https://prpm.dev
|
|
392
|
+
- **GitHub**: https://github.com/pr-pm/prpm
|
|
393
|
+
- **Issues**: https://github.com/pr-pm/prpm/issues
|
|
394
|
+
- **Documentation**: https://docs.prpm.dev
|
|
888
395
|
|
|
889
|
-
|
|
396
|
+
---
|
|
890
397
|
|
|
891
|
-
|
|
892
|
-
# Update lock file
|
|
893
|
-
prpm install
|
|
398
|
+
## Contributing
|
|
894
399
|
|
|
895
|
-
|
|
896
|
-
prpm install --frozen-lockfile
|
|
897
|
-
```
|
|
400
|
+
We welcome contributions!
|
|
898
401
|
|
|
899
|
-
|
|
402
|
+
- ๐ฆ **Add packages** - Submit your prompts (they'll work in all editors!)
|
|
403
|
+
- ๐ **Create collections** - Curate helpful package bundles
|
|
404
|
+
- ๐ **Report bugs** - Open issues
|
|
405
|
+
- ๐ก **Suggest features** - Start discussions
|
|
406
|
+
- ๐งช **Write tests** - Improve coverage
|
|
900
407
|
|
|
901
|
-
|
|
902
|
-
# Check registry URL
|
|
903
|
-
cat ~/.prpmrc
|
|
408
|
+
**[Contributing Guide โ](https://github.com/pr-pm/prpm/blob/main/CONTRIBUTING.md)**
|
|
904
409
|
|
|
905
|
-
|
|
906
|
-
export PRPM_REGISTRY_URL=https://custom-registry.com
|
|
907
|
-
```
|
|
410
|
+
---
|
|
908
411
|
|
|
909
|
-
##
|
|
412
|
+
## License
|
|
910
413
|
|
|
911
|
-
-
|
|
912
|
-
- **Issues**: https://github.com/pr-pm/prpm/issues
|
|
913
|
-
- **Registry**: https://registry.prpm.dev
|
|
914
|
-
- **Documentation**: https://github.com/pr-pm/prpm#readme
|
|
414
|
+
MIT License - See [LICENSE](https://github.com/pr-pm/prpm/blob/main/LICENSE)
|
|
915
415
|
|
|
916
|
-
|
|
416
|
+
---
|
|
917
417
|
|
|
918
|
-
|
|
418
|
+
<div align="center">
|
|
919
419
|
|
|
920
|
-
|
|
420
|
+
**Stop copy-pasting. Start installing.**
|
|
921
421
|
|
|
922
|
-
|
|
422
|
+
**[Read the Docs](https://docs.prpm.dev)** | **[Browse Packages](https://prpm.dev)** | **[Get Started](#installation)**
|
|
923
423
|
|
|
924
|
-
|
|
424
|
+
_Collections install multiple curated packages with one command โข Packages work in all editors โข No manual copying needed_
|
|
925
425
|
|
|
926
|
-
|
|
426
|
+
Made with ๐ฅ by [@khaliqgant](https://github.com/khaliqgant)
|
|
927
427
|
|
|
928
|
-
|
|
428
|
+
</div>
|
|
@@ -96,21 +96,20 @@ async function resolvePackageId(packageName) {
|
|
|
96
96
|
if (uuidRegex.test(packageName)) {
|
|
97
97
|
return packageName;
|
|
98
98
|
}
|
|
99
|
-
//
|
|
99
|
+
// Look up package by name directly
|
|
100
100
|
const config = await (0, user_config_1.getConfig)();
|
|
101
101
|
const baseUrl = (config.registryUrl || "https://registry.prpm.dev").replace(/\/$/, '');
|
|
102
|
-
|
|
102
|
+
// URL encode the package name to handle scoped packages like @user/package
|
|
103
|
+
const encodedName = encodeURIComponent(packageName);
|
|
104
|
+
const response = await fetch(`${baseUrl}/api/v1/packages/${encodedName}`);
|
|
103
105
|
if (!response.ok) {
|
|
104
|
-
|
|
106
|
+
if (response.status === 404) {
|
|
107
|
+
throw new Error(`Package not found: ${packageName}`);
|
|
108
|
+
}
|
|
109
|
+
throw new Error(`Failed to fetch package: ${response.statusText}`);
|
|
105
110
|
}
|
|
106
111
|
const data = await response.json();
|
|
107
|
-
|
|
108
|
-
const exactMatch = data.packages.find(pkg => pkg.name === packageName);
|
|
109
|
-
if (exactMatch) {
|
|
110
|
-
return exactMatch.id;
|
|
111
|
-
}
|
|
112
|
-
// If no exact match, throw error
|
|
113
|
-
throw new Error(`Package not found: ${packageName}`);
|
|
112
|
+
return data.id;
|
|
114
113
|
}
|
|
115
114
|
/**
|
|
116
115
|
* Execute a playground run
|
|
@@ -3,9 +3,15 @@
|
|
|
3
3
|
* Registry API Client
|
|
4
4
|
* Handles all communication with the PRMP Registry
|
|
5
5
|
*/
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
6
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
10
|
exports.RegistryClient = void 0;
|
|
8
11
|
exports.getRegistryClient = getRegistryClient;
|
|
12
|
+
const package_json_1 = __importDefault(require("../../package.json"));
|
|
13
|
+
// CLI version for User-Agent header (exempts from rate limiting)
|
|
14
|
+
const CLI_VERSION = package_json_1.default.version;
|
|
9
15
|
class RegistryClient {
|
|
10
16
|
constructor(config) {
|
|
11
17
|
this.baseUrl = config.url.replace(/\/$/, ''); // Remove trailing slash
|
|
@@ -217,6 +223,7 @@ class RegistryClient {
|
|
|
217
223
|
}
|
|
218
224
|
const headers = {
|
|
219
225
|
'Content-Type': 'application/json',
|
|
226
|
+
'User-Agent': `prpm-cli/${CLI_VERSION}`,
|
|
220
227
|
...options.headers,
|
|
221
228
|
};
|
|
222
229
|
if (this.token) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prpm",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "Prompt Package Manager CLI - Install and manage prompt-based files",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"license": "MIT",
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@octokit/rest": "^22.0.0",
|
|
48
|
-
"@pr-pm/registry-client": "^1.3.
|
|
49
|
-
"@pr-pm/types": "^0.2.
|
|
48
|
+
"@pr-pm/registry-client": "^1.3.13",
|
|
49
|
+
"@pr-pm/types": "^0.2.14",
|
|
50
50
|
"ajv": "^8.17.1",
|
|
51
51
|
"ajv-formats": "^3.0.1",
|
|
52
52
|
"commander": "^11.1.0",
|