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.
- package/README.md +90 -862
- package/dist/index.js +23233 -65
- package/dist/schemas/agents-md.schema.json +24 -0
- package/dist/schemas/aider.schema.json +24 -0
- package/dist/schemas/canonical.schema.json +435 -0
- package/dist/schemas/claude-agent.schema.json +62 -0
- package/dist/schemas/claude-hook.schema.json +70 -0
- package/dist/schemas/claude-plugin.schema.json +122 -0
- package/dist/schemas/claude-skill.schema.json +51 -0
- package/dist/schemas/claude-slash-command.schema.json +77 -0
- package/dist/schemas/claude.schema.json +52 -0
- package/dist/schemas/continue.schema.json +98 -0
- package/dist/schemas/copilot.schema.json +76 -0
- package/dist/schemas/cursor-command.schema.json +27 -0
- package/dist/schemas/cursor-hooks.schema.json +59 -0
- package/dist/schemas/cursor.schema.json +74 -0
- package/dist/schemas/droid-hook.schema.json +103 -0
- package/dist/schemas/droid-skill.schema.json +46 -0
- package/dist/schemas/droid-slash-command.schema.json +53 -0
- package/dist/schemas/droid.schema.json +46 -0
- package/dist/schemas/format-registry.schema.json +99 -0
- package/dist/schemas/gemini-md.schema.json +24 -0
- package/dist/schemas/gemini.schema.json +30 -0
- package/dist/schemas/kiro-agent.schema.json +146 -0
- package/dist/schemas/kiro-hook.schema.json +120 -0
- package/dist/schemas/kiro-steering.schema.json +74 -0
- package/dist/schemas/mcp-server.schema.json +130 -0
- package/dist/schemas/opencode-slash-command.schema.json +60 -0
- package/dist/schemas/opencode.schema.json +111 -0
- package/dist/schemas/prpm-manifest.schema.json +733 -0
- package/dist/schemas/replit.schema.json +21 -0
- package/dist/schemas/ruler.schema.json +22 -0
- package/dist/schemas/trae.schema.json +24 -0
- package/dist/schemas/windsurf.schema.json +22 -0
- package/dist/schemas/zencoder.schema.json +51 -0
- package/package.json +20 -14
- package/schemas/prpm-manifest.schema.json +465 -39
- package/dist/__tests__/e2e/test-helpers.js +0 -150
- package/dist/commands/collections.js +0 -606
- package/dist/commands/index.js +0 -186
- package/dist/commands/info.js +0 -82
- package/dist/commands/install.js +0 -477
- package/dist/commands/list.js +0 -166
- package/dist/commands/login.js +0 -281
- package/dist/commands/outdated.js +0 -128
- package/dist/commands/popular.js +0 -27
- package/dist/commands/publish.js +0 -274
- package/dist/commands/schema.js +0 -37
- package/dist/commands/search.js +0 -404
- package/dist/commands/telemetry.js +0 -103
- package/dist/commands/trending.js +0 -76
- package/dist/commands/uninstall.js +0 -77
- package/dist/commands/update.js +0 -121
- package/dist/commands/upgrade.js +0 -121
- package/dist/commands/whoami.js +0 -75
- package/dist/core/claude-config.js +0 -91
- package/dist/core/cursor-config.js +0 -130
- package/dist/core/downloader.js +0 -64
- package/dist/core/filesystem.js +0 -124
- package/dist/core/lockfile.js +0 -239
- package/dist/core/marketplace-converter.js +0 -198
- package/dist/core/registry-client.js +0 -265
- package/dist/core/schema-validator.js +0 -74
- package/dist/core/telemetry.js +0 -175
- package/dist/core/user-config.js +0 -79
- package/dist/types/registry.js +0 -5
- package/dist/types.js +0 -5
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/replit.json",
|
|
4
|
+
"$comment": "https://docs.replit.com/replitai/replit-dot-md",
|
|
5
|
+
"title": "Replit.md Format",
|
|
6
|
+
"description": "JSON Schema for Replit replit.md format - plain markdown project configuration (NO frontmatter)",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["content"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"content": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Plain markdown content with project overview, technology preferences, coding standards, and communication style. No frontmatter allowed."
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"additionalProperties": false,
|
|
16
|
+
"examples": [
|
|
17
|
+
{
|
|
18
|
+
"content": "# Project Name\n\n## Project Overview\n\nA web application for task management.\n\n## Technology Preferences\n\n- Frontend: React with TypeScript\n- Backend: Node.js with Express\n- Database: PostgreSQL\n\n## Coding Standards\n\n- Use ESLint and Prettier\n- Follow Airbnb style guide\n\n## Communication Style\n\n- Prefer detailed explanations\n- Include code examples"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/ruler.json",
|
|
4
|
+
"$comment": "https://okigu.com/ruler",
|
|
5
|
+
"title": "Ruler Rules Format",
|
|
6
|
+
"description": "JSON Schema for Ruler .ruler/ format - plain markdown without frontmatter, used for AI coding assistant instructions",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["content"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"content": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Plain markdown content for AI coding rules and guidelines. No frontmatter required. Files are concatenated with source markers by Ruler.",
|
|
13
|
+
"minLength": 1
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"examples": [
|
|
17
|
+
{
|
|
18
|
+
"content": "<!-- Package: react-best-practices -->\n<!-- Author: @username -->\n\n# React Best Practices\n\n## Core Principles\n\n- Use functional components\n- Keep components small and focused\n\n## Naming Conventions\n\n- Use PascalCase for component names\n- Use camelCase for function names"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"additionalProperties": false
|
|
22
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/trae.json",
|
|
4
|
+
"$comment": "https://docs.trae.ai/ide/rules",
|
|
5
|
+
"title": "Trae Rules Format",
|
|
6
|
+
"description": "JSON Schema for Trae .trae/rules format - plain markdown user and project rules (NO frontmatter)",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["content"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"content": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Plain markdown content with coding rules, style preferences, conventions, etc. No frontmatter allowed."
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"additionalProperties": false,
|
|
16
|
+
"examples": [
|
|
17
|
+
{
|
|
18
|
+
"content": "# Code Style\n\n- Use spaces for indentation (2 spaces)\n- Prefer functional components in React\n- Use TypeScript strict mode"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"content": "# Project Conventions\n\n## Naming\n\n- Components: PascalCase\n- Functions: camelCase\n- Constants: UPPER_SNAKE_CASE"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/windsurf.json",
|
|
4
|
+
"$comment": "https://docs.windsurf.com/windsurf/cascade/memories#rules",
|
|
5
|
+
"title": "Windsurf Rules Format",
|
|
6
|
+
"description": "JSON Schema for Windsurf .windsurf/rules format - plain markdown without frontmatter",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["content"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"content": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Plain markdown content. No frontmatter. Maximum 12,000 characters.",
|
|
13
|
+
"maxLength": 12000
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"examples": [
|
|
17
|
+
{
|
|
18
|
+
"content": "# React Best Practices\n\n## Core Principles\n\n- Use functional components\n- Keep components small and focused"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"additionalProperties": false
|
|
22
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/zencoder.json",
|
|
4
|
+
"$comment": "https://docs.zencoder.ai/rules-context/zen-rules",
|
|
5
|
+
"title": "Zencoder Rules Format",
|
|
6
|
+
"description": "JSON Schema for Zencoder .zencoder/rules format with optional YAML frontmatter",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["content"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"frontmatter": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"description": "Optional YAML frontmatter enclosed in --- markers",
|
|
13
|
+
"properties": {
|
|
14
|
+
"description": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Brief description of what the rule covers"
|
|
17
|
+
},
|
|
18
|
+
"globs": {
|
|
19
|
+
"type": "array",
|
|
20
|
+
"description": "File patterns where the rule applies (e.g., ['*.md', '*.mdx'])",
|
|
21
|
+
"items": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"alwaysApply": {
|
|
26
|
+
"type": "boolean",
|
|
27
|
+
"description": "Set to true if rule should always be active",
|
|
28
|
+
"default": false
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"additionalProperties": false
|
|
32
|
+
},
|
|
33
|
+
"content": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Markdown content following the frontmatter. Standard markdown with headings, lists, code blocks, etc."
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"examples": [
|
|
39
|
+
{
|
|
40
|
+
"frontmatter": {
|
|
41
|
+
"description": "TypeScript coding standards",
|
|
42
|
+
"globs": ["*.ts", "*.tsx"],
|
|
43
|
+
"alwaysApply": false
|
|
44
|
+
},
|
|
45
|
+
"content": "# TypeScript Standards\n\n- Use strict mode\n- Prefer interfaces over types\n- Always define return types"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"content": "# General Coding Guidelines\n\nThese guidelines apply to all code.\n\n- Write clear, self-documenting code\n- Add comments for complex logic"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
package/package.json
CHANGED
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prpm",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Prompt Package Manager CLI - Install and manage prompt-based files",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"prpm": "dist/index.js"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
|
-
"build": "
|
|
11
|
-
"build:watch": "
|
|
10
|
+
"build": "tsup",
|
|
11
|
+
"build:watch": "tsup --watch",
|
|
12
12
|
"dev": "tsx watch --clear-screen=false src/index.ts",
|
|
13
13
|
"dev:with-build": "concurrently --kill-others --names \"BUILD,CLI\" \"tsc --watch --preserveWatchOutput\" \"nodemon --delay 1 --watch dist dist/index.js\"",
|
|
14
14
|
"dev:build-only": "tsc --watch --preserveWatchOutput",
|
|
15
15
|
"start": "node dist/index.js",
|
|
16
|
-
"test": "
|
|
17
|
-
"test:watch": "
|
|
18
|
-
"test:coverage": "
|
|
19
|
-
"test:ci": "
|
|
16
|
+
"test": "vitest run",
|
|
17
|
+
"test:watch": "vitest",
|
|
18
|
+
"test:coverage": "vitest --coverage",
|
|
19
|
+
"test:ci": "vitest run --coverage",
|
|
20
20
|
"build:binary": "echo 'Binary builds deprecated - use npm install -g prpm or Homebrew instead'",
|
|
21
21
|
"typecheck": "tsc --noEmit",
|
|
22
|
+
"version:bump": "node scripts/bump-version.js",
|
|
23
|
+
"version:major": "node scripts/bump-version.js major",
|
|
24
|
+
"version:minor": "node scripts/bump-version.js minor",
|
|
25
|
+
"version:patch": "node scripts/bump-version.js patch",
|
|
22
26
|
"prepublishOnly": "npm run build"
|
|
23
27
|
},
|
|
24
28
|
"keywords": [
|
|
@@ -41,24 +45,26 @@
|
|
|
41
45
|
"license": "MIT",
|
|
42
46
|
"dependencies": {
|
|
43
47
|
"@octokit/rest": "^22.0.0",
|
|
44
|
-
"@pr-pm/
|
|
45
|
-
"@pr-pm/
|
|
48
|
+
"@pr-pm/converters": "^2.0.2",
|
|
49
|
+
"@pr-pm/registry-client": "^2.2.1",
|
|
50
|
+
"@pr-pm/types": "^2.0.2",
|
|
46
51
|
"ajv": "^8.17.1",
|
|
47
52
|
"ajv-formats": "^3.0.1",
|
|
48
53
|
"commander": "^11.1.0",
|
|
54
|
+
"jsonwebtoken": "^9.0.2",
|
|
49
55
|
"posthog-node": "^5.10.0",
|
|
56
|
+
"semver": "^7.7.3",
|
|
50
57
|
"tar": "^6.2.1"
|
|
51
58
|
},
|
|
52
59
|
"devDependencies": {
|
|
53
|
-
"@types/
|
|
60
|
+
"@types/jsonwebtoken": "^9.0.10",
|
|
54
61
|
"@types/node": "^20.10.0",
|
|
55
62
|
"@types/tar": "^6.1.13",
|
|
56
|
-
"jest": "^29.7.0",
|
|
57
63
|
"nodemon": "^3.0.2",
|
|
58
|
-
"
|
|
59
|
-
"ts-node": "^10.9.1",
|
|
64
|
+
"tsup": "^8.5.1",
|
|
60
65
|
"tsx": "^4.20.6",
|
|
61
|
-
"typescript": "^5.3.2"
|
|
66
|
+
"typescript": "^5.3.2",
|
|
67
|
+
"vitest": "^3.2.4"
|
|
62
68
|
},
|
|
63
69
|
"engines": {
|
|
64
70
|
"node": ">=16.0.0"
|