Initial commit
This commit is contained in:
12
.claude-plugin/plugin.json
Normal file
12
.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "marketplace-manager",
|
||||
"description": "A collection of tools to create a marketplace or plugins for claude code",
|
||||
"version": "0.0.1",
|
||||
"author": {
|
||||
"name": "Joel Humberto Gomez Paredes",
|
||||
"email": "elmaildeldezkareid@gmail.com"
|
||||
},
|
||||
"commands": [
|
||||
"./commands"
|
||||
]
|
||||
}
|
||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# marketplace-manager
|
||||
|
||||
A collection of tools to create a marketplace or plugins for claude code
|
||||
61
commands/create-claude-marketplace.md
Normal file
61
commands/create-claude-marketplace.md
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
allowed-tools: Bash(mkdir:*), Bash(cat:*), Bash(git config --list)
|
||||
argument-hint: [marketplace-name] [marketplace-description]
|
||||
description: Create skeleton for marketplace
|
||||
---
|
||||
|
||||
## Rules
|
||||
- The #$1 (marketplace name) is mandatary, if is not provided you should ask for it
|
||||
|
||||
## Your task
|
||||
|
||||
You will create a claude code marketplace following the next subtasks:
|
||||
|
||||
### 1. Create setup folders and files
|
||||
|
||||
Create file marketplace.json in folder .claude-plugin
|
||||
|
||||
Write marketplace.json add the marketplace name (should be kebab notation), if #$2 marketplace description is not provided, don't include the field.
|
||||
|
||||
This is the template
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "",
|
||||
"metadata": {
|
||||
"description": "",
|
||||
"version": "0.0.1"
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
### 2. Add owner information
|
||||
Get git config information to add owner information, the only required information is the name.
|
||||
|
||||
If name is missing ask for it.
|
||||
|
||||
If url is found, show the example of how will be added to owner field (this should be an HTTPS URL) and ask to procced (user can give you the value of field too)
|
||||
|
||||
```json
|
||||
{
|
||||
"owner": {
|
||||
"name": "",
|
||||
"email": "",
|
||||
"url": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ask to user if he wants to add additional information to file.
|
||||
|
||||
### 3. Add documentation
|
||||
|
||||
Create a README.md with market place information
|
||||
|
||||
Add "Installation" information section, about how to install it and use the repository information to modify template information about owner and repo of the next template
|
||||
|
||||
```
|
||||
/plugin marketplace add owner/repo
|
||||
```
|
||||
|
||||
Before to finish ask to user verify result and make modifications if he wants.
|
||||
77
commands/create-claude-plugin.md
Normal file
77
commands/create-claude-plugin.md
Normal file
@@ -0,0 +1,77 @@
|
||||
---
|
||||
allowed-tools: Bash(mkdir:*), Bash(cat:*), Bash(git config --list)
|
||||
argument-hint: [plugin-name] [plugin-description]
|
||||
description: Create skeleton for plugin
|
||||
---
|
||||
|
||||
## Context
|
||||
- Main folder is where is execute this session
|
||||
- Plugin folder is inside of #$1 (kebab-notation) folder.
|
||||
|
||||
## Rules
|
||||
- The #$1 (plugin name) is mandatary, if is not provided you should ask for it
|
||||
|
||||
## Your task
|
||||
|
||||
You will create a claude code plugin following the next subtasks:
|
||||
|
||||
### 1. Create setup folders and files
|
||||
|
||||
Create folder plugins and create folder with the name of plugin-name (should be kebab notation). This should be the plugin folder.
|
||||
|
||||
In plugin folder create the plugin.json inside .claude-plugin.
|
||||
|
||||
Get information about author using `git config --list`
|
||||
|
||||
Use the next template to write information
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "",
|
||||
"description": "",
|
||||
"version": "0.0.1",
|
||||
"author": {
|
||||
"name": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Show to the user the information before to write. Ask to user if he wants to add additional information to file.
|
||||
|
||||
### 2. Add plugin to marketplace
|
||||
Modify plugins property in .claude-plugin/marketplace.json of main folder using the plugin.json information and the change the source property with using the relative path to plugin folder:
|
||||
|
||||
```json
|
||||
{
|
||||
"plugins":[
|
||||
{
|
||||
// Plugin information
|
||||
"source": "./plugins/:plugin-name",
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 3. Create agents, commands and or skills
|
||||
|
||||
Ask to user if he wants to create agents, commands and/or skills, he only needs to say the names and descriptions.
|
||||
|
||||
You should create files with extension.md using the names in kebab notation in folders: agents, commands or skills inside plugin folder.
|
||||
|
||||
```
|
||||
---
|
||||
name:
|
||||
description:
|
||||
---
|
||||
```
|
||||
|
||||
### 3. Add README.md in plugin folder
|
||||
|
||||
Create a README.md with plugin information like name and description
|
||||
|
||||
Add section installation using marketplace.json and plugin.json information, marketplace name and plugin name:
|
||||
|
||||
```
|
||||
/plugin install plugin-name@market-place-name
|
||||
```
|
||||
|
||||
49
plugin.lock.json
Normal file
49
plugin.lock.json
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"$schema": "internal://schemas/plugin.lock.v1.json",
|
||||
"pluginId": "gh:dezkareid/claude-code-marketplace:plugins/marketplace-manager",
|
||||
"normalized": {
|
||||
"repo": null,
|
||||
"ref": "refs/tags/v20251128.0",
|
||||
"commit": "acaa9ae173453a3342b27d36827259448ec60786",
|
||||
"treeHash": "77cb4d8fe363da6a8553980c257d807f2bd3a8d26585acb4ee047d73d627f817",
|
||||
"generatedAt": "2025-11-28T10:16:22.322945Z",
|
||||
"toolVersion": "publish_plugins.py@0.2.0"
|
||||
},
|
||||
"origin": {
|
||||
"remote": "git@github.com:zhongweili/42plugin-data.git",
|
||||
"branch": "master",
|
||||
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
|
||||
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
|
||||
},
|
||||
"manifest": {
|
||||
"name": "marketplace-manager",
|
||||
"description": "A collection of tools to create a marketplace or plugins for claude code",
|
||||
"version": "0.0.1"
|
||||
},
|
||||
"content": {
|
||||
"files": [
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "39293318f108a7c25b675667b6167eccb13dcec03e16e3e66087f94fa31dc940"
|
||||
},
|
||||
{
|
||||
"path": ".claude-plugin/plugin.json",
|
||||
"sha256": "a8aa1831f983f9cf7e35b686156f9f4137faaca87a7fd5b1efdd52a02c26d93e"
|
||||
},
|
||||
{
|
||||
"path": "commands/create-claude-marketplace.md",
|
||||
"sha256": "bd1ba54b80a4d831d436ea83ca553230601870986c52e661e850608d1fea47db"
|
||||
},
|
||||
{
|
||||
"path": "commands/create-claude-plugin.md",
|
||||
"sha256": "09f95e3f578194728fd362aca6245c5ad4dfdf28091a588633864bb987e959dd"
|
||||
}
|
||||
],
|
||||
"dirSha256": "77cb4d8fe363da6a8553980c257d807f2bd3a8d26585acb4ee047d73d627f817"
|
||||
},
|
||||
"security": {
|
||||
"scannedAt": null,
|
||||
"scannerVersion": null,
|
||||
"flags": []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user