commit 03984de92b2f7d0f22e5be2f7c40e19990349ea6 Author: Zhongwei Li Date: Sat Nov 29 18:20:12 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..6ea4eb5 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -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" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0a3d41a --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# marketplace-manager + +A collection of tools to create a marketplace or plugins for claude code diff --git a/commands/create-claude-marketplace.md b/commands/create-claude-marketplace.md new file mode 100644 index 0000000..abd8bee --- /dev/null +++ b/commands/create-claude-marketplace.md @@ -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. \ No newline at end of file diff --git a/commands/create-claude-plugin.md b/commands/create-claude-plugin.md new file mode 100644 index 0000000..7cb7924 --- /dev/null +++ b/commands/create-claude-plugin.md @@ -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 +``` + diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..1f226c6 --- /dev/null +++ b/plugin.lock.json @@ -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": [] + } +} \ No newline at end of file