prpm 0.0.1
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 +928 -0
- package/dist/commands/add.js +107 -0
- package/dist/commands/collections.js +409 -0
- package/dist/commands/deps.js +92 -0
- package/dist/commands/index.js +124 -0
- package/dist/commands/info.js +81 -0
- package/dist/commands/install.js +252 -0
- package/dist/commands/list.js +89 -0
- package/dist/commands/login.js +219 -0
- package/dist/commands/outdated.js +127 -0
- package/dist/commands/popular.js +27 -0
- package/dist/commands/publish.js +217 -0
- package/dist/commands/remove.js +43 -0
- package/dist/commands/search.js +179 -0
- package/dist/commands/telemetry.js +103 -0
- package/dist/commands/trending.js +75 -0
- package/dist/commands/update.js +120 -0
- package/dist/commands/upgrade.js +120 -0
- package/dist/commands/whoami.js +51 -0
- package/dist/core/config.js +91 -0
- package/dist/core/downloader.js +64 -0
- package/dist/core/filesystem.js +94 -0
- package/dist/core/lockfile.js +182 -0
- package/dist/core/registry-client.js +265 -0
- package/dist/core/telemetry.js +170 -0
- package/dist/core/user-config.js +79 -0
- package/dist/index.js +69 -0
- package/dist/types.js +5 -0
- package/package.json +67 -0
package/README.md
ADDED
|
@@ -0,0 +1,928 @@
|
|
|
1
|
+
# PRPM CLI - Prompt Package Manager
|
|
2
|
+
|
|
3
|
+
A comprehensive CLI tool for managing AI prompt packages across multiple platforms (Cursor, Claude, Continue, Windsurf).
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### NPM (Recommended)
|
|
8
|
+
```bash
|
|
9
|
+
npm install -g prpm
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### Homebrew (macOS)
|
|
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/khaliqgant/prompt-package-manager/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 react-rules
|
|
33
|
+
|
|
34
|
+
# Add a package from a URL
|
|
35
|
+
prpm add https://raw.githubusercontent.com/user/repo/main/rules.md --as cursor
|
|
36
|
+
|
|
37
|
+
# List installed packages
|
|
38
|
+
prpm list
|
|
39
|
+
|
|
40
|
+
# Check for updates
|
|
41
|
+
prpm outdated
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Commands
|
|
45
|
+
|
|
46
|
+
### Package Management
|
|
47
|
+
|
|
48
|
+
#### `prpm install <package>`
|
|
49
|
+
|
|
50
|
+
Install a package from the PRPM registry.
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Install latest version
|
|
54
|
+
prpm install react-rules
|
|
55
|
+
|
|
56
|
+
# Install specific version
|
|
57
|
+
prpm install react-rules@1.2.0
|
|
58
|
+
|
|
59
|
+
# Install with custom format
|
|
60
|
+
prpm install react-rules --as claude
|
|
61
|
+
|
|
62
|
+
# Install with frozen lockfile (CI mode)
|
|
63
|
+
prpm install react-rules --frozen-lockfile
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Options:**
|
|
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 typescript-rules --as claude
|
|
76
|
+
|
|
77
|
+
# Install specific version
|
|
78
|
+
prpm install typescript-rules --version 2.1.0
|
|
79
|
+
|
|
80
|
+
# CI mode with frozen lockfile
|
|
81
|
+
prpm install typescript-rules --frozen-lockfile
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
#### `prpm add <url>`
|
|
87
|
+
|
|
88
|
+
Add a package directly from a raw GitHub URL.
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Add a Cursor rule
|
|
92
|
+
prpm add https://raw.githubusercontent.com/user/repo/main/rules.md --as cursor
|
|
93
|
+
|
|
94
|
+
# Add a Claude agent
|
|
95
|
+
prpm add https://raw.githubusercontent.com/user/repo/main/agent.md --as claude
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**Options:**
|
|
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
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
#### `prpm remove <id>`
|
|
113
|
+
|
|
114
|
+
Remove an installed package.
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
prpm remove react-rules
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Examples:**
|
|
121
|
+
```bash
|
|
122
|
+
# Remove by package ID
|
|
123
|
+
prpm remove typescript-rules
|
|
124
|
+
|
|
125
|
+
# Remove cursor rules
|
|
126
|
+
prpm remove cursor-rules
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
#### `prpm list`
|
|
132
|
+
|
|
133
|
+
List all installed packages.
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
prpm list
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Displays a formatted table showing:
|
|
140
|
+
- Package ID
|
|
141
|
+
- Package type
|
|
142
|
+
- Source URL
|
|
143
|
+
- Installation path
|
|
144
|
+
|
|
145
|
+
**Example output:**
|
|
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
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
#### `prpm index`
|
|
157
|
+
|
|
158
|
+
Scan existing `.cursor/rules/` and `.claude/agents/` directories and register any unregistered files.
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
prpm index
|
|
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)
|
|
177
|
+
|
|
178
|
+
Summary: 2 new packages added, 1 already registered
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
### Discovery & Search
|
|
184
|
+
|
|
185
|
+
#### `prpm search <query>`
|
|
186
|
+
|
|
187
|
+
Search for packages in the registry.
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# Basic search
|
|
191
|
+
prpm search react
|
|
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)
|
|
203
|
+
|
|
204
|
+
**Examples:**
|
|
205
|
+
```bash
|
|
206
|
+
# Search for React-related packages
|
|
207
|
+
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
|
+
prpm trending
|
|
225
|
+
|
|
226
|
+
# Filter by type
|
|
227
|
+
prpm trending --type cursor
|
|
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)
|
|
265
|
+
|
|
266
|
+
**Examples:**
|
|
267
|
+
```bash
|
|
268
|
+
# Most popular packages
|
|
269
|
+
prpm popular
|
|
270
|
+
|
|
271
|
+
# Popular Cursor packages
|
|
272
|
+
prpm popular --type cursor
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
#### `prpm info <package>`
|
|
278
|
+
|
|
279
|
+
Display detailed information about a package.
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
prpm info 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 react-rules
|
|
309
|
+
prpm install react-rules@2.1.0
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
### Collections
|
|
315
|
+
|
|
316
|
+
#### `prpm collections` / `prpm collections list`
|
|
317
|
+
|
|
318
|
+
List available package collections.
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
# List all collections
|
|
322
|
+
prpm collections
|
|
323
|
+
|
|
324
|
+
# Filter by category
|
|
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
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
**Options:**
|
|
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
|
+
|
|
358
|
+
```bash
|
|
359
|
+
# View collection details
|
|
360
|
+
prpm collections info @prpm/react-starter
|
|
361
|
+
|
|
362
|
+
# View specific version
|
|
363
|
+
prpm collections info @prpm/react-starter@1.0.0
|
|
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
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
---
|
|
399
|
+
|
|
400
|
+
### Updates & Upgrades
|
|
401
|
+
|
|
402
|
+
#### `prpm outdated`
|
|
403
|
+
|
|
404
|
+
Check for package updates.
|
|
405
|
+
|
|
406
|
+
```bash
|
|
407
|
+
prpm outdated
|
|
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
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
#### `prpm update [package]`
|
|
433
|
+
|
|
434
|
+
Update packages to latest compatible versions (minor/patch only, skips major versions).
|
|
435
|
+
|
|
436
|
+
```bash
|
|
437
|
+
# Update all packages
|
|
438
|
+
prpm update
|
|
439
|
+
|
|
440
|
+
# Update specific package
|
|
441
|
+
prpm update react-rules
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
**Options:**
|
|
445
|
+
- `--all` - Update all packages
|
|
446
|
+
|
|
447
|
+
**Examples:**
|
|
448
|
+
```bash
|
|
449
|
+
# Update all packages (safe updates only)
|
|
450
|
+
prpm update
|
|
451
|
+
|
|
452
|
+
# Update specific package
|
|
453
|
+
prpm update typescript-rules
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
458
|
+
#### `prpm upgrade [package]`
|
|
459
|
+
|
|
460
|
+
Upgrade packages to latest versions (including major updates).
|
|
461
|
+
|
|
462
|
+
```bash
|
|
463
|
+
# Upgrade all packages
|
|
464
|
+
prpm upgrade
|
|
465
|
+
|
|
466
|
+
# Upgrade specific package
|
|
467
|
+
prpm upgrade react-rules
|
|
468
|
+
|
|
469
|
+
# Skip warning for major updates
|
|
470
|
+
prpm upgrade --force
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
**Options:**
|
|
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
|
+
```
|
|
488
|
+
|
|
489
|
+
---
|
|
490
|
+
|
|
491
|
+
### Dependencies
|
|
492
|
+
|
|
493
|
+
#### `prpm deps <package>`
|
|
494
|
+
|
|
495
|
+
Show dependency tree for a package.
|
|
496
|
+
|
|
497
|
+
```bash
|
|
498
|
+
# View dependencies
|
|
499
|
+
prpm deps react-rules
|
|
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
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
---
|
|
527
|
+
|
|
528
|
+
### Authentication & Publishing
|
|
529
|
+
|
|
530
|
+
#### `prpm login`
|
|
531
|
+
|
|
532
|
+
Login to the PRPM registry.
|
|
533
|
+
|
|
534
|
+
```bash
|
|
535
|
+
# OAuth login (opens browser)
|
|
536
|
+
prpm login
|
|
537
|
+
|
|
538
|
+
# Login with token
|
|
539
|
+
prpm login --token YOUR_TOKEN
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
**Options:**
|
|
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:**
|
|
552
|
+
```bash
|
|
553
|
+
# Interactive OAuth login
|
|
554
|
+
prpm login
|
|
555
|
+
|
|
556
|
+
# Manual token login
|
|
557
|
+
prpm login --token ghp_xxxxxxxxxxxx
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
---
|
|
561
|
+
|
|
562
|
+
#### `prpm whoami`
|
|
563
|
+
|
|
564
|
+
Show current logged-in user.
|
|
565
|
+
|
|
566
|
+
```bash
|
|
567
|
+
prpm whoami
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
**Example output:**
|
|
571
|
+
```
|
|
572
|
+
username
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
If not logged in:
|
|
576
|
+
```
|
|
577
|
+
Not logged in
|
|
578
|
+
|
|
579
|
+
Run "prpm login" to authenticate
|
|
580
|
+
```
|
|
581
|
+
|
|
582
|
+
---
|
|
583
|
+
|
|
584
|
+
#### `prpm publish`
|
|
585
|
+
|
|
586
|
+
Publish a package to the registry.
|
|
587
|
+
|
|
588
|
+
```bash
|
|
589
|
+
# Publish package
|
|
590
|
+
prpm publish
|
|
591
|
+
|
|
592
|
+
# Dry run (validate without publishing)
|
|
593
|
+
prpm publish --dry-run
|
|
594
|
+
|
|
595
|
+
# Publish with tag
|
|
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
|
+
```
|
|
636
|
+
|
|
637
|
+
---
|
|
638
|
+
|
|
639
|
+
### Telemetry
|
|
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
|
+
---
|
|
652
|
+
|
|
653
|
+
#### `prpm telemetry disable`
|
|
654
|
+
|
|
655
|
+
Disable telemetry and analytics.
|
|
656
|
+
|
|
657
|
+
```bash
|
|
658
|
+
prpm telemetry disable
|
|
659
|
+
```
|
|
660
|
+
|
|
661
|
+
---
|
|
662
|
+
|
|
663
|
+
## Configuration
|
|
664
|
+
|
|
665
|
+
PRPM stores configuration in `~/.prpmrc`:
|
|
666
|
+
|
|
667
|
+
```json
|
|
668
|
+
{
|
|
669
|
+
"registryUrl": "https://registry.prpm.dev",
|
|
670
|
+
"token": "your-auth-token",
|
|
671
|
+
"username": "your-username",
|
|
672
|
+
"defaultFormat": "cursor",
|
|
673
|
+
"telemetryEnabled": true
|
|
674
|
+
}
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
### Configuration Options
|
|
678
|
+
|
|
679
|
+
- `registryUrl` - Registry server URL
|
|
680
|
+
- `token` - Authentication token (set via `prpm login`)
|
|
681
|
+
- `username` - Logged-in username
|
|
682
|
+
- `defaultFormat` - Default package format (cursor, claude, continue, windsurf)
|
|
683
|
+
- `telemetryEnabled` - Enable/disable usage analytics
|
|
684
|
+
|
|
685
|
+
### Environment Variables
|
|
686
|
+
|
|
687
|
+
- `PRPM_REGISTRY_URL` - Override registry URL
|
|
688
|
+
- `PRPM_NO_TELEMETRY` - Disable telemetry (set to "1" or "true")
|
|
689
|
+
|
|
690
|
+
## Project Structure
|
|
691
|
+
|
|
692
|
+
After installing packages, your project will look like:
|
|
693
|
+
|
|
694
|
+
```
|
|
695
|
+
my-project/
|
|
696
|
+
├── .cursor/rules/ # Cursor rules
|
|
697
|
+
│ └── react-rules.md
|
|
698
|
+
├── .claude/agents/ # Claude agents
|
|
699
|
+
│ └── typescript-best.md
|
|
700
|
+
├── .continue/ # Continue configs
|
|
701
|
+
├── .windsurf/ # Windsurf configs
|
|
702
|
+
├── .promptpm.json # Package registry
|
|
703
|
+
└── prpm-lock.json # Lock file
|
|
704
|
+
```
|
|
705
|
+
|
|
706
|
+
### Package Registry (`.promptpm.json`)
|
|
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 react-rules
|
|
754
|
+
prpm install 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
|
+
```
|
|
782
|
+
|
|
783
|
+
### Publishing Your Own Package
|
|
784
|
+
|
|
785
|
+
```bash
|
|
786
|
+
# 1. Create prpm.json
|
|
787
|
+
cat > prpm.json << EOF
|
|
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
|
|
796
|
+
|
|
797
|
+
# 2. Login to registry
|
|
798
|
+
prpm login
|
|
799
|
+
|
|
800
|
+
# 3. Test package
|
|
801
|
+
prpm publish --dry-run
|
|
802
|
+
|
|
803
|
+
# 4. Publish
|
|
804
|
+
prpm publish
|
|
805
|
+
```
|
|
806
|
+
|
|
807
|
+
### Adding Existing Files
|
|
808
|
+
|
|
809
|
+
```bash
|
|
810
|
+
# If you already have prompt files
|
|
811
|
+
prpm index
|
|
812
|
+
|
|
813
|
+
# Or add specific files
|
|
814
|
+
prpm add ./my-rules.md --as cursor
|
|
815
|
+
```
|
|
816
|
+
|
|
817
|
+
### CI/CD Integration
|
|
818
|
+
|
|
819
|
+
```bash
|
|
820
|
+
# In CI pipeline - use frozen lockfile
|
|
821
|
+
prpm install --frozen-lockfile
|
|
822
|
+
|
|
823
|
+
# Or install all from lock file
|
|
824
|
+
prpm install
|
|
825
|
+
```
|
|
826
|
+
|
|
827
|
+
## Supported Formats
|
|
828
|
+
|
|
829
|
+
PRPM supports multiple AI coding assistant formats:
|
|
830
|
+
|
|
831
|
+
| Format | Directory | Description |
|
|
832
|
+
|--------|-----------|-------------|
|
|
833
|
+
| `cursor` | `.cursor/rules/` | Cursor IDE rules |
|
|
834
|
+
| `claude` | `.claude/agents/` | Claude sub-agents |
|
|
835
|
+
| `continue` | `.continue/` | Continue extension configs |
|
|
836
|
+
| `windsurf` | `.windsurf/` | Windsurf IDE configs |
|
|
837
|
+
| `canonical` | N/A | Original format (no conversion) |
|
|
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 cursor-rules --as claude
|
|
846
|
+
|
|
847
|
+
# Install Claude package as Cursor format
|
|
848
|
+
prpm install claude-agent --as cursor
|
|
849
|
+
```
|
|
850
|
+
|
|
851
|
+
## Troubleshooting
|
|
852
|
+
|
|
853
|
+
### Command Not Found
|
|
854
|
+
|
|
855
|
+
```bash
|
|
856
|
+
# Reinstall globally
|
|
857
|
+
npm install -g prpm
|
|
858
|
+
|
|
859
|
+
# Or check PATH
|
|
860
|
+
echo $PATH
|
|
861
|
+
```
|
|
862
|
+
|
|
863
|
+
### Authentication Issues
|
|
864
|
+
|
|
865
|
+
```bash
|
|
866
|
+
# Re-login
|
|
867
|
+
prpm login
|
|
868
|
+
|
|
869
|
+
# Check current user
|
|
870
|
+
prpm whoami
|
|
871
|
+
|
|
872
|
+
# Use token directly
|
|
873
|
+
prpm login --token YOUR_TOKEN
|
|
874
|
+
```
|
|
875
|
+
|
|
876
|
+
### Installation Failures
|
|
877
|
+
|
|
878
|
+
```bash
|
|
879
|
+
# Check package exists
|
|
880
|
+
prpm search package-name
|
|
881
|
+
|
|
882
|
+
# Get package info
|
|
883
|
+
prpm info package-name
|
|
884
|
+
|
|
885
|
+
# Try specific version
|
|
886
|
+
prpm install package-name@1.0.0
|
|
887
|
+
```
|
|
888
|
+
|
|
889
|
+
### Lock File Issues
|
|
890
|
+
|
|
891
|
+
```bash
|
|
892
|
+
# Update lock file
|
|
893
|
+
prpm install
|
|
894
|
+
|
|
895
|
+
# In CI, ensure lock file exists
|
|
896
|
+
prpm install --frozen-lockfile
|
|
897
|
+
```
|
|
898
|
+
|
|
899
|
+
### Registry Connection Issues
|
|
900
|
+
|
|
901
|
+
```bash
|
|
902
|
+
# Check registry URL
|
|
903
|
+
cat ~/.prpmrc
|
|
904
|
+
|
|
905
|
+
# Set custom registry
|
|
906
|
+
export PRPM_REGISTRY_URL=https://custom-registry.com
|
|
907
|
+
```
|
|
908
|
+
|
|
909
|
+
## Support & Resources
|
|
910
|
+
|
|
911
|
+
- **GitHub**: https://github.com/khaliqgant/prompt-package-manager
|
|
912
|
+
- **Issues**: https://github.com/khaliqgant/prompt-package-manager/issues
|
|
913
|
+
- **Registry**: https://registry.prpm.dev
|
|
914
|
+
- **Documentation**: https://github.com/khaliqgant/prompt-package-manager#readme
|
|
915
|
+
|
|
916
|
+
## Contributing
|
|
917
|
+
|
|
918
|
+
We welcome contributions! See the main repository for contribution guidelines.
|
|
919
|
+
|
|
920
|
+
## License
|
|
921
|
+
|
|
922
|
+
MIT License - see LICENSE file for details.
|
|
923
|
+
|
|
924
|
+
## Version
|
|
925
|
+
|
|
926
|
+
Current version: 1.2.0
|
|
927
|
+
|
|
928
|
+
Requires Node.js >= 16.0.0
|