prpm 1.2.1 → 2.1.0
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 +24163 -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-capabilities.schema.json +101 -0
- package/dist/schemas/format-registry.schema.json +99 -0
- package/dist/schemas/gemini-extension.schema.json +77 -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 +165 -0
- package/dist/schemas/kiro-steering.schema.json +74 -0
- package/dist/schemas/mcp-server.schema.json +130 -0
- package/dist/schemas/opencode-plugin.schema.json +391 -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 +758 -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/zed-extension.schema.json +238 -0
- package/dist/schemas/zed.schema.json +44 -0
- package/dist/schemas/zencoder.schema.json +51 -0
- package/package.json +20 -14
- package/schemas/prpm-manifest.schema.json +490 -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,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/droid/hook.json",
|
|
4
|
+
"$comment": "https://docs.factory.ai/cli/configuration/hooks",
|
|
5
|
+
"title": "Factory Droid Hook Format",
|
|
6
|
+
"description": "JSON Schema for Factory Droid Hooks - defined in settings.json files. Valid hook events: PreToolUse (runs before tool calls, can block them), PostToolUse (runs after tool calls complete), UserPromptSubmit (runs when user submits a prompt, before Droid processes it), Notification (runs when Droid sends notifications), Stop (runs when Droid finishes responding), SubagentStop (runs when sub-droid tasks complete), PreCompact (runs before Droid runs a compact operation), SessionStart (runs when Droid starts a new session or resumes an existing session), SessionEnd (runs when Droid session ends)",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["hooks"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"hooks": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"description": "Hook configurations organized by event type. Each key must be a valid hook event name.",
|
|
13
|
+
"patternProperties": {
|
|
14
|
+
"^(PreToolUse|PostToolUse|Notification|UserPromptSubmit|Stop|SubagentStop|PreCompact|SessionStart|SessionEnd)$": {
|
|
15
|
+
"type": "array",
|
|
16
|
+
"description": "Array of hook configurations for this event. PreToolUse: runs before tool calls (can block them). PostToolUse: runs after tool calls complete. UserPromptSubmit: runs when user submits a prompt, before Droid processes it. Notification: runs when Droid sends notifications. Stop: runs when Droid finishes responding. SubagentStop: runs when sub-droid tasks complete. PreCompact: runs before Droid runs a compact operation. SessionStart: runs when Droid starts a new session or resumes an existing session. SessionEnd: runs when Droid session ends.",
|
|
17
|
+
"items": {
|
|
18
|
+
"type": "object",
|
|
19
|
+
"required": ["hooks"],
|
|
20
|
+
"properties": {
|
|
21
|
+
"matcher": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"description": "Pattern for tool names. Supports exact strings, regex, or '*' for all tools. Optional for most events."
|
|
24
|
+
},
|
|
25
|
+
"hooks": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"description": "Array of commands to execute",
|
|
28
|
+
"minItems": 1,
|
|
29
|
+
"items": {
|
|
30
|
+
"type": "object",
|
|
31
|
+
"required": ["type", "command"],
|
|
32
|
+
"properties": {
|
|
33
|
+
"type": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"enum": ["command"],
|
|
36
|
+
"description": "Hook type (currently only 'command' is supported)"
|
|
37
|
+
},
|
|
38
|
+
"command": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "Bash command to run. Supports $FACTORY_PROJECT_DIR variable."
|
|
41
|
+
},
|
|
42
|
+
"timeout": {
|
|
43
|
+
"type": "number",
|
|
44
|
+
"description": "Execution limit in seconds (defaults to 60)",
|
|
45
|
+
"default": 60,
|
|
46
|
+
"minimum": 1
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"description": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"description": "Optional description for plugin hooks"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"additionalProperties": false
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"examples": [
|
|
63
|
+
{
|
|
64
|
+
"hooks": {
|
|
65
|
+
"PreToolUse": [
|
|
66
|
+
{
|
|
67
|
+
"matcher": "write",
|
|
68
|
+
"hooks": [
|
|
69
|
+
{
|
|
70
|
+
"type": "command",
|
|
71
|
+
"command": "prettier --write \"$FACTORY_PROJECT_DIR/src/**/*.ts\"",
|
|
72
|
+
"timeout": 30
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"PostToolUse": [
|
|
78
|
+
{
|
|
79
|
+
"matcher": "*",
|
|
80
|
+
"hooks": [
|
|
81
|
+
{
|
|
82
|
+
"type": "command",
|
|
83
|
+
"command": "git add .",
|
|
84
|
+
"timeout": 60
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"SessionStart": [
|
|
90
|
+
{
|
|
91
|
+
"matcher": "startup",
|
|
92
|
+
"hooks": [
|
|
93
|
+
{
|
|
94
|
+
"type": "command",
|
|
95
|
+
"command": "echo 'Session started at $(date)' >> $FACTORY_PROJECT_DIR/.factory/session.log"
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/droid/skill.json",
|
|
4
|
+
"$comment": "https://docs.factory.ai/cli/configuration/skills",
|
|
5
|
+
"title": "Factory Droid Skill Format",
|
|
6
|
+
"description": "JSON Schema for Factory Droid Skills - SKILL.md files stored in .factory/skills/<skill-name>/",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["frontmatter", "content"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"frontmatter": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"required": ["name", "description"],
|
|
13
|
+
"properties": {
|
|
14
|
+
"name": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Unique identifier for the skill (kebab-case recommended)"
|
|
17
|
+
},
|
|
18
|
+
"description": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "Brief explanation of what the skill does and when to use it"
|
|
21
|
+
},
|
|
22
|
+
"allowed-tools": {
|
|
23
|
+
"type": "array",
|
|
24
|
+
"description": "Reserved for future use. Safe to omit.",
|
|
25
|
+
"items": {
|
|
26
|
+
"type": "string"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"additionalProperties": true
|
|
31
|
+
},
|
|
32
|
+
"content": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Skill workflow and instructions as markdown"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"examples": [
|
|
38
|
+
{
|
|
39
|
+
"frontmatter": {
|
|
40
|
+
"name": "api-integration",
|
|
41
|
+
"description": "Integrate a new API endpoint with proper error handling"
|
|
42
|
+
},
|
|
43
|
+
"content": "# API Integration Skill\n\n## Steps\n\n1. Define the API endpoint specification\n2. Create the service layer function\n3. Add error handling and validation\n4. Write unit tests\n5. Update API documentation\n\n## Success Criteria\n\n- All tests pass\n- Error handling covers edge cases\n- Documentation is updated"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/droid/slash-command.json",
|
|
4
|
+
"$comment": "https://docs.factory.ai/cli/configuration/custom-slash-commands",
|
|
5
|
+
"title": "Factory Droid Slash Command Format",
|
|
6
|
+
"description": "JSON Schema for Factory Droid Slash Commands - markdown files stored in .factory/commands/",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["frontmatter", "content"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"frontmatter": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"properties": {
|
|
13
|
+
"description": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Overrides the generated summary shown in slash suggestions"
|
|
16
|
+
},
|
|
17
|
+
"argument-hint": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Appends inline usage hints (e.g., /code-review <branch-name>)"
|
|
20
|
+
},
|
|
21
|
+
"allowed-tools": {
|
|
22
|
+
"type": "array",
|
|
23
|
+
"description": "Reserved for future use. Safe to omit.",
|
|
24
|
+
"items": {
|
|
25
|
+
"type": "string"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"additionalProperties": true
|
|
30
|
+
},
|
|
31
|
+
"content": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "Command instructions and workflow as markdown"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"examples": [
|
|
37
|
+
{
|
|
38
|
+
"frontmatter": {
|
|
39
|
+
"description": "Review code for a specific branch",
|
|
40
|
+
"argument-hint": "<branch-name>"
|
|
41
|
+
},
|
|
42
|
+
"content": "# Code Review Command\n\nReview the code changes in the specified branch.\n\n## Instructions\n\n1. Compare branch with main\n2. Check for code quality issues\n3. Suggest improvements"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"frontmatter": {
|
|
46
|
+
"description": "Run tests for a specific file",
|
|
47
|
+
"argument-hint": "<file-path>",
|
|
48
|
+
"allowed-tools": ["bash", "read"]
|
|
49
|
+
},
|
|
50
|
+
"content": "Run tests for the specified file and report results."
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/droid.json",
|
|
4
|
+
"$comment": "https://docs.factory.ai/cli/configuration",
|
|
5
|
+
"title": "Factory Droid Format",
|
|
6
|
+
"description": "JSON Schema for Factory Droid Skills, Hooks, and Slash Commands",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["frontmatter", "content"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"frontmatter": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"required": ["name", "description"],
|
|
13
|
+
"properties": {
|
|
14
|
+
"name": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Unique identifier for the skill/command"
|
|
17
|
+
},
|
|
18
|
+
"description": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "Brief explanation of the skill's purpose"
|
|
21
|
+
},
|
|
22
|
+
"argument-hint": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "Optional usage hint for slash commands"
|
|
25
|
+
},
|
|
26
|
+
"allowed-tools": {
|
|
27
|
+
"type": "array",
|
|
28
|
+
"description": "Reserved for future use",
|
|
29
|
+
"items": {
|
|
30
|
+
"type": "string"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"additionalProperties": true
|
|
35
|
+
},
|
|
36
|
+
"content": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "Body content as markdown"
|
|
39
|
+
},
|
|
40
|
+
"type": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"enum": ["skill", "slash-command", "hook"],
|
|
43
|
+
"description": "The type of Factory Droid artifact"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/format-capabilities.json",
|
|
4
|
+
"title": "Format Capabilities Schema",
|
|
5
|
+
"description": "Schema defining format capability matrix for PRPM converters - which subtypes each format supports and progressive disclosure fallbacks",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["version", "formats", "agentsMdSupport"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"version": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Schema version for format capabilities",
|
|
12
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$"
|
|
13
|
+
},
|
|
14
|
+
"description": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Brief description of this capabilities file"
|
|
17
|
+
},
|
|
18
|
+
"lastVerified": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "Date when capabilities were last verified against official documentation (YYYY-MM-DD)",
|
|
21
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
22
|
+
},
|
|
23
|
+
"verificationSources": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"description": "URLs to official documentation for each format",
|
|
26
|
+
"additionalProperties": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"format": "uri"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"formats": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"description": "Map of format names to their capability configurations",
|
|
34
|
+
"additionalProperties": {
|
|
35
|
+
"$ref": "#/definitions/FormatCapability"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"agentsMdSupport": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"description": "Special section documenting which formats support agents.md for progressive disclosure",
|
|
41
|
+
"required": ["description", "formats"],
|
|
42
|
+
"properties": {
|
|
43
|
+
"description": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"description": "Explanation of agents.md support"
|
|
46
|
+
},
|
|
47
|
+
"formats": {
|
|
48
|
+
"type": "array",
|
|
49
|
+
"description": "List of format names that support agents.md",
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"notes": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"description": "Additional notes about agents.md support"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"definitions": {
|
|
62
|
+
"FormatCapability": {
|
|
63
|
+
"type": "object",
|
|
64
|
+
"required": ["name", "supportsSkills", "supportsPlugins", "supportsExtensions", "supportsAgents", "supportsAgentsMd"],
|
|
65
|
+
"properties": {
|
|
66
|
+
"name": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"description": "Display name for the format"
|
|
69
|
+
},
|
|
70
|
+
"supportsSkills": {
|
|
71
|
+
"type": "boolean",
|
|
72
|
+
"description": "Whether this format natively supports skill packages"
|
|
73
|
+
},
|
|
74
|
+
"supportsPlugins": {
|
|
75
|
+
"type": "boolean",
|
|
76
|
+
"description": "Whether this format natively supports plugin packages"
|
|
77
|
+
},
|
|
78
|
+
"supportsExtensions": {
|
|
79
|
+
"type": "boolean",
|
|
80
|
+
"description": "Whether this format natively supports extension packages"
|
|
81
|
+
},
|
|
82
|
+
"supportsAgents": {
|
|
83
|
+
"type": "boolean",
|
|
84
|
+
"description": "Whether this format natively supports agent packages"
|
|
85
|
+
},
|
|
86
|
+
"supportsAgentsMd": {
|
|
87
|
+
"type": "boolean",
|
|
88
|
+
"description": "Whether this format intelligently supports agents.md for progressive disclosure"
|
|
89
|
+
},
|
|
90
|
+
"markdownFallback": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "Recommended markdown filename for fallback when advanced features aren't supported"
|
|
93
|
+
},
|
|
94
|
+
"notes": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"description": "Additional notes about format capabilities"
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/format-registry.json",
|
|
4
|
+
"title": "PRPM Format Registry",
|
|
5
|
+
"description": "Central registry defining all supported AI editor formats, their directory structures, file patterns, and scanning configurations",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["version", "formats"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"version": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Schema version for format registry"
|
|
12
|
+
},
|
|
13
|
+
"formats": {
|
|
14
|
+
"type": "object",
|
|
15
|
+
"description": "Map of format names to their configurations",
|
|
16
|
+
"additionalProperties": {
|
|
17
|
+
"$ref": "#/definitions/FormatConfig"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"definitions": {
|
|
22
|
+
"FormatConfig": {
|
|
23
|
+
"type": "object",
|
|
24
|
+
"required": ["name", "subtypes"],
|
|
25
|
+
"properties": {
|
|
26
|
+
"name": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"description": "Display name for the format"
|
|
29
|
+
},
|
|
30
|
+
"description": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "Brief description of the format"
|
|
33
|
+
},
|
|
34
|
+
"documentationUrl": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"format": "uri",
|
|
37
|
+
"description": "URL to official documentation"
|
|
38
|
+
},
|
|
39
|
+
"subtypes": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"description": "Map of subtype names to their configurations",
|
|
42
|
+
"additionalProperties": {
|
|
43
|
+
"$ref": "#/definitions/SubtypeConfig"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"rootFiles": {
|
|
47
|
+
"type": "array",
|
|
48
|
+
"description": "Root-level files that indicate this format (e.g., .cursorrules)",
|
|
49
|
+
"items": {
|
|
50
|
+
"type": "string"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"defaultSubtype": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "Default subtype to use when an unknown subtype is requested for this format"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"SubtypeConfig": {
|
|
60
|
+
"type": "object",
|
|
61
|
+
"required": ["directory", "filePatterns"],
|
|
62
|
+
"properties": {
|
|
63
|
+
"directory": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"description": "Directory path relative to project root where packages are stored"
|
|
66
|
+
},
|
|
67
|
+
"scanDirectory": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"description": "Directory to scan if different from install directory (e.g., Claude hooks)"
|
|
70
|
+
},
|
|
71
|
+
"filePatterns": {
|
|
72
|
+
"type": "array",
|
|
73
|
+
"description": "Glob patterns for matching package files (e.g., *.md, *.mdc, SKILL.md)",
|
|
74
|
+
"items": {
|
|
75
|
+
"type": "string"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"nested": {
|
|
79
|
+
"type": "boolean",
|
|
80
|
+
"description": "Whether packages are in subdirectories (e.g., .claude/skills/skill-name/)",
|
|
81
|
+
"default": false
|
|
82
|
+
},
|
|
83
|
+
"nestedIndicator": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"description": "File that indicates a valid package in nested mode (e.g., SKILL.md)"
|
|
86
|
+
},
|
|
87
|
+
"fileExtension": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"description": "Default file extension for this format (e.g., .md, .mdc, .toml)"
|
|
90
|
+
},
|
|
91
|
+
"usesPackageSubdirectory": {
|
|
92
|
+
"type": "boolean",
|
|
93
|
+
"description": "Whether directory path includes package name (e.g., .claude/skills/{name})",
|
|
94
|
+
"default": false
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/gemini/extension.json",
|
|
4
|
+
"title": "Gemini CLI Extension Format",
|
|
5
|
+
"description": "JSON Schema for Gemini CLI Extensions (gemini-extension.json)",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["name", "version"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"pattern": "^[a-z0-9-]+$",
|
|
12
|
+
"description": "Unique extension name (lowercase with dashes)"
|
|
13
|
+
},
|
|
14
|
+
"version": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9.-]+)?$",
|
|
17
|
+
"description": "Extension version (semver)"
|
|
18
|
+
},
|
|
19
|
+
"description": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Extension description"
|
|
22
|
+
},
|
|
23
|
+
"author": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Extension author"
|
|
26
|
+
},
|
|
27
|
+
"mcpServers": {
|
|
28
|
+
"type": "object",
|
|
29
|
+
"description": "MCP server configurations",
|
|
30
|
+
"additionalProperties": {
|
|
31
|
+
"type": "object",
|
|
32
|
+
"properties": {
|
|
33
|
+
"command": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Command to run the MCP server"
|
|
36
|
+
},
|
|
37
|
+
"args": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": {
|
|
40
|
+
"type": "string"
|
|
41
|
+
},
|
|
42
|
+
"description": "Command arguments"
|
|
43
|
+
},
|
|
44
|
+
"env": {
|
|
45
|
+
"type": "object",
|
|
46
|
+
"additionalProperties": {
|
|
47
|
+
"type": "string"
|
|
48
|
+
},
|
|
49
|
+
"description": "Environment variables"
|
|
50
|
+
},
|
|
51
|
+
"disabled": {
|
|
52
|
+
"type": "boolean",
|
|
53
|
+
"description": "Whether the server is disabled"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"required": ["command"]
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"contextFileName": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"description": "Name of the context file (e.g., GEMINI.md)"
|
|
62
|
+
},
|
|
63
|
+
"excludeTools": {
|
|
64
|
+
"type": "array",
|
|
65
|
+
"items": {
|
|
66
|
+
"type": "string"
|
|
67
|
+
},
|
|
68
|
+
"description": "List of tools to exclude from the model"
|
|
69
|
+
},
|
|
70
|
+
"experimentalSettings": {
|
|
71
|
+
"type": "object",
|
|
72
|
+
"description": "Experimental Gemini CLI settings",
|
|
73
|
+
"additionalProperties": true
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"additionalProperties": false
|
|
77
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/gemini-md.json",
|
|
4
|
+
"$comment": "https://geminicli.com/docs/cli/gemini-md/#_top",
|
|
5
|
+
"title": "GEMINI.md Format",
|
|
6
|
+
"description": "JSON Schema for GEMINI.md format - plain markdown project-specific AI instructions (NO frontmatter)",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["content"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"content": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Plain markdown content with project-specific instructions, persona definitions, coding style guides, and best practices. No frontmatter allowed. Supports @file.md syntax for importing other files."
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"additionalProperties": false,
|
|
16
|
+
"examples": [
|
|
17
|
+
{
|
|
18
|
+
"content": "# General Instructions\n\nYou are a helpful coding assistant.\n\n## Coding Style\n\n- Use TypeScript strict mode\n- Follow functional programming patterns\n- Write comprehensive tests"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"content": "# Project Context\n\nThis is a Next.js application with TypeScript.\n\n## Architecture\n\n- App Router (not Pages Router)\n- Server Components by default\n- Client Components only when needed\n\n## Database\n\nPostgreSQL with Prisma ORM"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://registry.prpm.dev/api/v1/schemas/gemini.json",
|
|
4
|
+
"$comment": "https://geminicli.com/docs/cli/custom-commands/",
|
|
5
|
+
"title": "Gemini Custom Commands Format",
|
|
6
|
+
"description": "JSON Schema for Gemini CLI custom commands - TOML files stored in .gemini/commands/",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["prompt"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"prompt": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "The instruction text sent to the Gemini model. Can span multiple lines and supports placeholders like {{args}}, !{...} for shell commands, and @{...} for file injection."
|
|
13
|
+
},
|
|
14
|
+
"description": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "A brief, single-line explanation of the command's purpose. Appears in /help menu. If omitted, system generates a generic description from filename."
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"additionalProperties": false,
|
|
20
|
+
"examples": [
|
|
21
|
+
{
|
|
22
|
+
"prompt": "Review the code for potential bugs and suggest improvements.",
|
|
23
|
+
"description": "Code review assistant"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"prompt": "Generate unit tests for {{args}}",
|
|
27
|
+
"description": "Generate unit tests for the specified file"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|