Package Discovery Commands
search
Search for packages in the PRPM registry (keyword-based).query- Search term to find packages
--format <format>- Filter by format (cursor, claude, windsurf, continue, etc.)--subtype <subtype>- Filter by subtype (rule, agent, skill, slash-command, etc.)--limit <number>- Maximum number of results to return (default: 20)--no-interactive- Disable interactive pagination (useful for automation and scripting)
--no-interactive when you want to search and install packages programmatically in scripts or CI/CD environments.
Examples:
ai-search
AI-powered semantic search for finding packages using natural language (no login required).query- Natural language description of what you need
--limit <number>- Number of results to return (default: 10)--format <format>- Filter by format (cursor, claude, windsurf, continue, etc.)--subtype <subtype>- Filter by subtype (rule, agent, skill, slash-command, etc.)
- Uses AI embeddings to understand semantic meaning
- Matches your intent rather than just keywords
- Ranks results by relevance, quality, and popularity
- 100% free with no authentication required
- Faster and more accurate than keyword search for complex queries
info
Display detailed information about a specific package.package-name- Full package name (e.g.,@username/typescript-rules)
--json- Output in JSON format--version <version>- Show info for a specific version
show
Preview package contents before installing. Downloads and extracts the package to display its files without modifying your project.package- Package ID to show (e.g.,@username/packageor@username/[email protected])
--full- Show complete file contents (not just file list)--file <name>- Show contents of a specific file--json- Output in JSON format (for programmatic use)
[binary].
Use Cases:
- Inspect package contents before installing
- Verify package structure and file organization
- Review code/rules before adding to your project
- Audit packages for security or quality
trending
View trending packages from the registry.--format <format>- Filter by format--subtype <subtype>- Filter by subtype--limit <number>- Number of packages to display (default: 10)--period <period>- Time period (day, week, month) (default: week)
popular
View all-time popular packages from the registry.--format <format>- Filter by format--subtype <subtype>- Filter by subtype
popular shows all-time most downloaded packages, while trending shows packages gaining traction in a specific time period.
Examples:
starred
List your starred packages and collections.--packages- Show only starred packages--collections- Show only starred collections--format <format>- Filter packages by format (cursor, claude, continue, windsurf, etc.)--limit <number>- Maximum number of items to fetch (default: 100)
- Must be logged in (
prpm login)
collections
Browse and view curated collections of packages.--list- List all available collections--install- Install all packages in a collection
Package Management Commands
install
Install one or more packages from the registry.package-name- Package to install (supports multiple packages)
--version <version>- Install a specific version--as <format>- Convert and install in specific format (cursor, claude, continue, windsurf, copilot, kiro, agents.md, canonical)--format <format>- Alias for--as--subtype <subtype>- Specify subtype when converting (skill, agent, rule, etc.)--location <path>- Custom installation location (Cursor and agents.md only)--frozen-lockfile- Fail if lock file needs to be updated (for CI)--eager- Force skill/agent to always activate at session start (not on-demand)--lazy- Use default on-demand activation (overrides package eager setting)
- Package is downloaded from the registry
- Files are extracted to the appropriate directory (
.cursor/,.claude/, etc.) - Package is registered in
prpm.lock - Format-specific configuration is applied (MDC headers for Cursor, etc.)
--location):
The --location flag allows you to install packages to custom directories. This is useful for:
- Monorepos: Install Cursor rules in specific packages (e.g.,
--location packages/backendcreatespackages/backend/.cursor/rules/) - Nested projects: Keep different contexts in subdirectories
- Agents.md: Create
AGENTS.override.mdin custom locations (e.g.,--location docscreatesdocs/AGENTS.override.md)
cursor- Installs to nested.cursor/directory within the specified pathagents.md- CreatesAGENTS.override.mdin the specified path
--eager / --lazy):
These flags control how skills and agents are loaded in progressive disclosure formats (agents.md, gemini.md, claude.md, aider):
- Lazy (default): Skills/agents are available but only activated when relevant based on their description. The AI decides when to use them.
- Eager: Skills/agents are loaded at the START of every session. Always active, no activation needed.
| Mode | When Loaded | Use Case |
|---|---|---|
| Lazy | On-demand when relevant | Most skills - keeps context clean |
| Eager | Every session start | Critical skills that should always apply |
--eager/--lazy) > file-level setting > package-level setting > default (lazy)
Applies to: Skills and agents in progressive disclosure formats only. Rules, hooks, and other subtypes are not affected.
Example directory structure:
uninstall
Remove installed packages from your project.package-id- ID of the package to uninstall
--force- Skip confirmation prompts--keep-files- Remove from lock file but keep the files
list
List all installed packages in the current project.--format <format>- Filter by format--subtype <subtype>- Filter by subtype--json- Output in JSON format--verbose- Show additional details (file paths, versions)
outdated
Check for packages that have newer versions available.--json- Output in JSON format
update
Update specific packages to their latest versions.package-name- Package(s) to update
--version <version>- Update to a specific version--force- Force update even if at latest version
upgrade
Upgrade all installed packages to their latest versions.--dry-run- Show what would be upgraded without making changes--interactive- Prompt for confirmation for each package--skip-breaking- Skip packages with breaking changes (major version bumps)
Package Creation Commands
init
Initialize a new PRPM package or scan directories to discover existing packages.directories- Directories to scan (only used with--scan)
-y, --yes- Use default values, skip prompts--private- Create a private package-f, --force- Overwrite existingprpm.jsonif present-s, --scan- Scan mode: discover packages in directories without prompts-o, --output <path>- Output path for prpm.json (scan mode only)-a, --append- Append to existing prpm.json instead of overwriting (scan mode only)--dry-run- Show what would be discovered without making changes (scan mode only)
- Package name
- Version
- Description
- Format (cursor, claude, windsurf, etc.)
- Subtype (rule, agent, skill, etc.)
- Author name
- License
- Repository URL
- Tags
- Files to include
prpm.json- Package manifestREADME.md- Package documentation template- Format-specific example files based on your selection
- Scans directories for prompt files (
.md,.mdc,SKILL.md, etc.) - Detects format (cursor, claude, windsurf, etc.) and subtype (rule, skill, agent)
- Extracts package metadata from file content
- Filters out packages installed from registry (only discovers user-created content)
- Creates/updates
prpm.jsonwith discovered packages
publish
Publish packages or collections to the PRPM registry.--package <name>- Publish only a specific package from multi-package manifest--collection <id>- Publish only a specific collection (skips packages)-l, --list- List all packages in prpm.json without publishing--dry-run- Test publishing without actually uploading--tag <tag>- Publish with a specific tag (e.g.,beta,next)--access <public|private>- Set package access level--force- Skip validation warnings
- Must be logged in (
prpm login) - Must have a valid
prpm.jsonin current directory - Package version must not already exist in registry
prpm.json has multiple packages or collections:
prpm publish→ Publishes all packages + all collectionsprpm publish --package package-a→ Publishes onlypackage-a(skips collections)prpm publish --collection collection-1→ Publishes onlycollection-1(skips packages)
- Package is validated against schema
- Files are packaged into a tarball
- Package metadata is uploaded to registry
- Tarball is uploaded to storage
- Package becomes available for installation
- Burst capacity: 20 packages can be published immediately
- Sustained rate: 10 packages per minute after burst
- Requests are automatically queued when rate limit is reached
- Maximum queue wait: 30 seconds
Playground Commands
playground
Test packages with real AI models before installing.-p, --package <name>- Package name to test (e.g.,@user/package-name)--input <text>- Input text to send to the model (omit for interactive mode)-m, --model <model>- AI model to use (sonnet, opus, gpt-4o, gpt-4o-mini, gpt-4-turbo) (default: sonnet)-c, --compare- Compare with and without package prompt (baseline test)-i, --interactive- Start interactive multi-turn conversation mode-v, --version <version>- Specific package version to test--custom <prompt>- Use a custom prompt string (verified authors only)--prompt-file <file>- Load custom prompt from a file (verified authors only)
sonnet(Claude Sonnet 3.5) - Balanced performance, 2 credits (default)gpt-4o-mini- Fast and economical, 1 creditgpt-4o- Advanced reasoning, 3 creditsgpt-4-turbo- Complex tasks, 4 creditsopus(Claude Opus) - Most capable, 7 credits
- 1 credit = 5,000 tokens (input + output combined)
- Free tier: 5 trial credits
- PRPM+: 100 monthly credits ($6/month)
- Credit packs: Buy additional credits that never expire
subscribe
Manage your PRPM+ subscription.- (no command) - Subscribe to PRPM+
status- View subscription status and credit balancecancel- Cancel your PRPM+ subscription
- 100 monthly playground credits
- Credits roll over (max 200 balance)
- 3/month for organization members)
- Priority support
credits
Check your playground credits balance and transaction history.-h, --history- Show transaction history instead of balance-l, --limit <number>- Number of transactions to show in history (default: 10)
- Without
--history: Displays current credit balance, monthly allotment (if PRPM+ subscriber), and next renewal date - With
--history: Shows recent credit transactions including purchases, usage, monthly credits, and rollover
buy-credits
Purchase additional playground credits.- 100 credits = $5.00
- Credits never expire
- Stack with monthly PRPM+ credits
suggested-inputs
Manage suggested test inputs for your packages (authors only).add <package> <input>- Add a suggested test inputlist <package>- List all suggested inputs for a packageremove <package> <id>- Remove a suggested input
Local File Management Commands
index
Scan your project directories for existing prompt files and register them in PRPM.--verbose- Show detailed output for each file
.cursor/rules/- Cursor rules.cursor/agents/- Cursor agents.cursor/commands/- Cursor slash commands.claude/agents/- Claude agents.claude/skills/- Claude skills.claude/commands/- Claude slash commands.continue/rules/- Continue rules.windsurf/rules/- Windsurf rules.prompts/- Generic prompts.mcp/- MCP servers
prpm.lock.
convert
Convert AI prompt files between different formats (e.g., Cursor to Claude, Claude to Windsurf).source-file- Path to the file you want to convert
-t, --to <format>- Target format (cursor, claude, windsurf, kiro, copilot, continue, agents.md)-s, --subtype <subtype>- Target subtype (agent, skill, slash-command, rule, prompt, etc.)-o, --output <path>- Custom output path (defaults to format-specific location)-y, --yes- Skip confirmation prompts
- Auto-detects the source format from file content and location
- Parses the source file to extract content and metadata
- Converts to canonical intermediate format
- Transforms to target format with appropriate structure
- Writes to format-specific default location or custom output path
- Cursor:
.cursor/rules/*.mdc(rules) or.cursor/commands/*.md(commands) - Claude:
.claude/skills/*/SKILL.md(skills),.claude/agents/*.md(agents),.claude/commands/*.md(commands) - Windsurf:
.windsurf/rules/*.md - Continue:
.continue/rules/*.md(rules) or.continue/prompts/*.md(prompts) - Copilot:
.github/instructions/*.instructions.md - Kiro:
.kiro/steering/*.md(steering) or.kiro/hooks/*.kiro.hook(hooks) - Agents.md:
agents.md(root file)
User Management Commands
login
Authenticate with the PRPM registry.--token <token>- Use an existing authentication token
- Opens browser for authentication (or uses provided token)
- Saves authentication token to
~/.prpmrc - Token is used for future authenticated requests
whoami
Display information about the currently authenticated user.--json- Output in JSON format
Configuration Commands
config
View or modify CLI configuration.list(orls) - List all configuration valuesget <key>- Get a configuration valueset <key> <value>- Set a configuration valuedelete <key>(orrm) - Reset a configuration value to default
registryUrl- Registry URLtelemetryEnabled- Telemetry enabled (true/false)token- Authentication token (set viaprpm login)username- Username (set viaprpm login)
registryUrl- Change the registry URLtelemetryEnabled- Enable or disable telemetry
token and username are managed via prpm login and cannot be set directly.
Examples:
telemetryEnabled, you can use:
true,1,yes- Enable telemetryfalse,0,no- Disable telemetry
telemetry
Manage anonymous usage telemetry.enable- Enable telemetrydisable- Disable telemetrystatus- Show current telemetry status
- Command usage (anonymized)
- Error messages (anonymized)
- Installation success/failure rates
- Package popularity
- Personal information
- File contents
- Project details
- Authentication tokens
schema
View or validate package schemas.--validate <file>- Validate a package manifest against schema--format <format>- Show schema for a specific format--output <file>- Write schema to file
Exit Codes
The PRPM CLI uses standard exit codes:0- Success1- General error2- Invalid arguments or usage3- Network error4- Authentication error5- Package not found6- Validation error
Environment Variables
PRPM respects these environment variables:PRPM_REGISTRY_URL- Override default registry URLPRPM_TOKEN- Authentication tokenPRPM_TELEMETRY- Enable/disable telemetry (true/false)PRPM_CONFIG_PATH- Custom config file locationNO_COLOR- Disable colored output