prpm 1.2.1 → 2.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.
Files changed (67) hide show
  1. package/README.md +90 -862
  2. package/dist/index.js +23233 -65
  3. package/dist/schemas/agents-md.schema.json +24 -0
  4. package/dist/schemas/aider.schema.json +24 -0
  5. package/dist/schemas/canonical.schema.json +435 -0
  6. package/dist/schemas/claude-agent.schema.json +62 -0
  7. package/dist/schemas/claude-hook.schema.json +70 -0
  8. package/dist/schemas/claude-plugin.schema.json +122 -0
  9. package/dist/schemas/claude-skill.schema.json +51 -0
  10. package/dist/schemas/claude-slash-command.schema.json +77 -0
  11. package/dist/schemas/claude.schema.json +52 -0
  12. package/dist/schemas/continue.schema.json +98 -0
  13. package/dist/schemas/copilot.schema.json +76 -0
  14. package/dist/schemas/cursor-command.schema.json +27 -0
  15. package/dist/schemas/cursor-hooks.schema.json +59 -0
  16. package/dist/schemas/cursor.schema.json +74 -0
  17. package/dist/schemas/droid-hook.schema.json +103 -0
  18. package/dist/schemas/droid-skill.schema.json +46 -0
  19. package/dist/schemas/droid-slash-command.schema.json +53 -0
  20. package/dist/schemas/droid.schema.json +46 -0
  21. package/dist/schemas/format-registry.schema.json +99 -0
  22. package/dist/schemas/gemini-md.schema.json +24 -0
  23. package/dist/schemas/gemini.schema.json +30 -0
  24. package/dist/schemas/kiro-agent.schema.json +146 -0
  25. package/dist/schemas/kiro-hook.schema.json +120 -0
  26. package/dist/schemas/kiro-steering.schema.json +74 -0
  27. package/dist/schemas/mcp-server.schema.json +130 -0
  28. package/dist/schemas/opencode-slash-command.schema.json +60 -0
  29. package/dist/schemas/opencode.schema.json +111 -0
  30. package/dist/schemas/prpm-manifest.schema.json +733 -0
  31. package/dist/schemas/replit.schema.json +21 -0
  32. package/dist/schemas/ruler.schema.json +22 -0
  33. package/dist/schemas/trae.schema.json +24 -0
  34. package/dist/schemas/windsurf.schema.json +22 -0
  35. package/dist/schemas/zencoder.schema.json +51 -0
  36. package/package.json +20 -14
  37. package/schemas/prpm-manifest.schema.json +465 -39
  38. package/dist/__tests__/e2e/test-helpers.js +0 -150
  39. package/dist/commands/collections.js +0 -606
  40. package/dist/commands/index.js +0 -186
  41. package/dist/commands/info.js +0 -82
  42. package/dist/commands/install.js +0 -477
  43. package/dist/commands/list.js +0 -166
  44. package/dist/commands/login.js +0 -281
  45. package/dist/commands/outdated.js +0 -128
  46. package/dist/commands/popular.js +0 -27
  47. package/dist/commands/publish.js +0 -274
  48. package/dist/commands/schema.js +0 -37
  49. package/dist/commands/search.js +0 -404
  50. package/dist/commands/telemetry.js +0 -103
  51. package/dist/commands/trending.js +0 -76
  52. package/dist/commands/uninstall.js +0 -77
  53. package/dist/commands/update.js +0 -121
  54. package/dist/commands/upgrade.js +0 -121
  55. package/dist/commands/whoami.js +0 -75
  56. package/dist/core/claude-config.js +0 -91
  57. package/dist/core/cursor-config.js +0 -130
  58. package/dist/core/downloader.js +0 -64
  59. package/dist/core/filesystem.js +0 -124
  60. package/dist/core/lockfile.js +0 -239
  61. package/dist/core/marketplace-converter.js +0 -198
  62. package/dist/core/registry-client.js +0 -265
  63. package/dist/core/schema-validator.js +0 -74
  64. package/dist/core/telemetry.js +0 -175
  65. package/dist/core/user-config.js +0 -79
  66. package/dist/types/registry.js +0 -5
  67. package/dist/types.js +0 -5
package/README.md CHANGED
@@ -1,928 +1,156 @@
1
- # PRPM CLI - Prompt Package Manager
1
+ <p align="center">
2
+ <img src="https://raw.githubusercontent.com/pr-pm/prpm/main/packages/webapp/public/logo.svg" alt="PRPM Logo" width="200" />
3
+ </p>
2
4
 
3
- A comprehensive CLI tool for managing AI prompt packages across multiple platforms (Cursor, Claude, Continue, Windsurf).
5
+ # PRPM - The Package Manager for AI Prompts
4
6
 
5
- ## Installation
7
+ The universal registry for AI coding tools.
6
8
 
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/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 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.
9
+ Discover and install cross-platform prompts, rules, skills, and agents that work with Cursor, Claude, Continue, Windsurf, GitHub Copilot, OpenAI Codex, Google Gemini, Kiro, and more — all from one file.
89
10
 
90
11
  ```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 uninstall <id>`
113
-
114
- Remove an installed package.
115
-
116
- ```bash
117
- prpm uninstall react-rules
12
+ npm install -g prpm
13
+ prpm install collections/nextjs-pro # Entire Next.js setup in one command
118
14
  ```
15
+ Installs 20 packages: backend-architect, cloud-architect, database-architect, and more
119
16
 
120
- **Examples:**
121
- ```bash
122
- # Remove by package ID
123
- prpm uninstall typescript-rules
17
+ 7,5000+ cross platform packages
124
18
 
125
- # Remove cursor rules
126
- prpm uninstall cursor-rules
127
- ```
19
+ [Docs](https://docs.prpm.dev) | [Search Packages](https://prpm.dev/search) | [Search Collections](https://prpm.dev/search?tab=collections)
128
20
 
129
21
  ---
130
22
 
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
23
+ ![demo](https://raw.githubusercontent.com/pr-pm/prpm/main/packages/webapp/public/demo.gif)
144
24
 
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
- ```
25
+ ## Self Improve
26
+ Give your IDE the ability to self improve by installing packages that it finds useful:
27
+ ![self-improve-demo](https://raw.githubusercontent.com/pr-pm/prpm/main/packages/webapp/public/self-improve.gif)
153
28
 
154
29
  ---
155
30
 
156
- #### `prpm index`
31
+ ## Universal Packages - Install Once, Use Anywhere
157
32
 
158
- Scan existing `.cursor/rules/` and `.claude/agents/` directories and register any unregistered files.
33
+ Every package works in **any** AI editor. No conversion tools, no separate downloads:
159
34
 
160
35
  ```bash
161
- prpm index
36
+ # Same package, different editors
37
+ prpm install @sanjeed5/react --as cursor # → .cursor/rules/
38
+ prpm install @sanjeed5/react --as claude --subtype agent # → .claude/agents/
39
+ prpm install @sanjeed5/react --as continue # → .continue/prompts/
40
+ prpm install @sanjeed5/react --as windsurf # → .windsurf/rules/
41
+ prpm install @sanjeed5/react --as copilot # → .github/instructions/
42
+ prpm install @sanjeed5/react --as kiro # → .kiro/steering/
162
43
  ```
163
44
 
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
45
+ ## Discovery - Find What You Need
168
46
 
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)
47
+ Browse packages with powerful discovery:
177
48
 
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
49
  ```bash
206
- # Search for React-related packages
50
+ # Search by keyword
207
51
  prpm search react
52
+ prpm search "test driven development"
208
53
 
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
54
+ # See what's trending
224
55
  prpm trending
225
56
 
226
- # Filter by type
227
- prpm trending --type cursor
228
-
229
- # Show more results
230
- prpm trending --limit 20
231
- ```
57
+ # Get detailed info
58
+ prpm info @username/react-best-practices
59
+ # → Shows: description, downloads, rating, tags, installation instructions
232
60
 
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
61
+ # Browse collections
322
62
  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
63
+ prpm collections search frontend
64
+ prpm collections info collection/nextjs-pro
332
65
  ```
333
66
 
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
- ```
67
+ [CLI Reference](https://docs.prpm.dev/cli/overview)
351
68
 
352
69
  ---
353
70
 
354
- #### `prpm collections info <collection>`
71
+ ## Playground
355
72
 
356
- Show detailed information about a collection.
73
+ Test packages interactively before installing:
357
74
 
358
75
  ```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
- ```
76
+ # Try a package in the browser playground
77
+ prpm playground --package @username/react-best-practices
365
78
 
366
- Shows:
367
- - Collection description
368
- - Statistics (downloads, stars)
369
- - Included packages (required and optional)
370
- - Installation instructions
371
-
372
- **Example output:**
79
+ # Test with different AI models
80
+ # Opens browser playground at prpm.dev/playground
81
+ # Select model: Claude 3.5 Sonnet, GPT-4, etc.
82
+ # Test prompt with sample code
83
+ # See results before installing
373
84
  ```
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
85
 
385
- Included Packages:
386
- Required:
387
- 1. react-rules@2.1.0
388
- Best practices for React development
86
+ **Features:**
87
+ - **Multi-Model Testing** - Try packages with Claude, GPT-4, and more
88
+ - **Free Credits** - 1,000 monthly credits for all logged in users
89
+ - **Live Results** - See how prompts perform in real-time
90
+ - **Save Sessions** - Resume testing later
91
+ - **Compare Models** - Test same prompt across different AI models
389
92
 
390
- Optional:
391
- 1. ○ typescript-rules@1.0.0
392
- TypeScript configuration for React
93
+ **[Try Playground →](https://prpm.dev/playground)**
393
94
 
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.
95
+ ## Why PRPM?
405
96
 
97
+ ### The Problem
406
98
  ```bash
407
- prpm outdated
99
+ # Current workflow (painful)
100
+ 1. Find cursor rule on GitHub
101
+ 2. Copy raw file URL
102
+ 3. Create .cursor/rules/something.md
103
+ 4. Paste content
104
+ 5. Repeat for every rule
105
+ 6. Update manually when rules change
106
+ 7. Do it all again for Claude/Continue/Windsurf
408
107
  ```
409
108
 
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)
109
+ ### Team Consistency
414
110
 
415
- **Example output:**
416
- ```
417
- Major Updates (breaking changes possible):
418
- react-rules 1.0.0 → 2.0.0
111
+ 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.
419
112
 
420
- Minor Updates (new features):
421
- typescript-rules 1.0.0 → 1.1.0
113
+ ## For Package Authors
422
114
 
423
- Patch Updates (bug fixes):
424
- eslint-config 1.0.0 → 1.0.1
115
+ ### Share Your Packages
425
116
 
426
- Run "prpm update" to update to latest minor/patch versions
427
- Run "prpm upgrade" to upgrade to latest major versions
428
- ```
117
+ Package authors can publish to PRPM and reach users across all editors.
429
118
 
430
- ---
431
-
432
- #### `prpm update [package]`
433
-
434
- Update packages to latest compatible versions (minor/patch only, skips major versions).
119
+ **How it works:**
120
+ - Authors publish in canonical format
121
+ - PRPM converts to all editor formats automatically
122
+ - Users install in their preferred editor
435
123
 
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
- ```
124
+ **Benefits:**
125
+ - At least 4x reach (Cursor + Claude + Continue + Windsurf users, + more)
126
+ - One package, works everywhere
127
+ - Version control and updates
128
+ - Download analytics
455
129
 
456
130
  ---
457
131
 
458
- #### `prpm upgrade [package]`
132
+ ## Stats
459
133
 
460
- Upgrade packages to latest versions (including major updates).
134
+ - **7,500+ packages** - Cursor rules, Claude skills/agents, Windsurf rules, MCP configs
135
+ - **Universal package manager** - Works with Cursor, Claude, Continue, Windsurf and more
136
+ - **100+ Collections** - Complete workflow setups in one command
137
+ - **6+ editor formats** supported (server-side conversion)
461
138
 
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
139
 
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
- ---
140
+ ## Contributing
652
141
 
653
- #### `prpm telemetry disable`
142
+ We welcome contributions!
654
143
 
655
- Disable telemetry and analytics.
144
+ - **Add packages** - Submit your prompts (they'll work in all editors!)
145
+ - **Create collections** - Curate helpful package bundles
146
+ - **Report bugs** - Open issues
147
+ - **Suggest features** - Start discussions
148
+ - **Write tests** - Improve coverage
656
149
 
657
- ```bash
658
- prpm telemetry disable
659
- ```
150
+ **[Contributing Guide →](CONTRIBUTING.md)**
660
151
 
661
152
  ---
662
153
 
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/pr-pm/prpm
912
- - **Issues**: https://github.com/pr-pm/prpm/issues
913
- - **Registry**: https://registry.prpm.dev
914
- - **Documentation**: https://github.com/pr-pm/prpm#readme
915
-
916
- ## Contributing
917
-
918
- We welcome contributions! See the main repository for contribution guidelines.
919
-
920
154
  ## License
921
155
 
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
156
+ MIT License - See [LICENSE](LICENSE)