Skip to main content

prpm.json Reference

Complete reference for the PRPM package manifest.
Need help creating prpm.json files? Install the PRPM package that teaches AI to write prpm.json manifests:
# For Claude Code
prpm install @prpm/prpm-json-best-practices-skill

# For Cursor
prpm install @prpm/prpm-json-best-practices
These packages include real examples and best practices for single-package, multi-package, and collection repositories.

Single Package

Basic package manifest:
{
  "name": "my-package",
  "version": "1.0.0",
  "description": "Clear description of what this package does",
  "author": "Your Name <you@example.com>",
  "license": "MIT",
  "repository": "https://github.com/username/repo",
  "format": "cursor",
  "subtype": "rule",
  "tags": ["typescript", "best-practices"],
  "files": [".cursor/rules/my-rule.mdc"]
}

Multi-Package Repository

For repositories with multiple packages:
{
  "name": "my-prompts-repo",
  "author": "Your Name",
  "license": "MIT",
  "repository": "https://github.com/username/repo",
  "packages": [
    {
      "name": "package-one",
      "version": "1.0.0",
      "description": "First package",
      "format": "cursor",
      "subtype": "rule",
      "tags": ["tag1"],
      "files": [".cursor/rules/one.mdc"]
    },
    {
      "name": "package-two",
      "version": "1.0.0",
      "description": "Second package",
      "format": "claude",
      "subtype": "skill",
      "tags": ["tag2"],
      "files": [".claude/skills/two/SKILL.md"]
    }
  ]
}

Required Fields

Single Package

FieldTypeDescription
namestringPackage name (kebab-case, unique)
versionstringSemver version (e.g., 1.0.0)
descriptionstringClear description (min 10 chars)
authorstringAuthor name and optional email
licensestringSPDX license identifier
formatstringTarget format (claude, cursor, etc.)
subtypestringPackage type (agent, skill, rule, etc.)
filesstring[]Files to include in package

Multi-Package

Each package in the packages array requires the same fields, except top-level author, license, and repository can be inherited.

Format Values

FormatDescription
claudeClaude Code
cursorCursor IDE
continueContinue.dev
windsurfWindsurf IDE
agents.mdAgents.md format
copilotGitHub Copilot
genericMulti-tool

Subtype Values

SubtypeDescription
agentAutonomous agents
skillSpecialized capabilities
ruleIDE rules
slash-commandExecutable commands
promptPrompt templates
chatmodeChat modes
toolMCP tools

File Paths

Use full paths from project root: Correct:
{
  "files": [".cursor/rules/typescript.mdc"]
}
Wrong:
{
  "files": ["rules/typescript.mdc"]  // Missing .cursor/ prefix
}

Tags

Use 3-8 kebab-case tags: Good:
{
  "tags": ["typescript", "best-practices", "type-safety"]
}
Bad:
{
  "tags": ["TypeScript", "code_quality"]  // Wrong case, wrong separator
}

Optional Fields

FieldTypeDescription
repositorystringGitHub repository URL
homepagestringPackage homepage
documentationstringDocumentation URL
organizationstringOrganization name/ID
keywordsstring[]Additional search keywords
privatebooleanMark as private (default: false)

Next Steps