move claude-marketplace to ai-proj-helper

This commit is contained in:
2026-03-12 21:42:30 +08:00
parent d7b6835e1d
commit 43585b8504
188 changed files with 39510 additions and 0 deletions

102
generate-marketplace.sh Executable file
View File

@@ -0,0 +1,102 @@
#!/bin/bash
# Generate marketplace.json from converted plugins
TARGET_DIR="/Users/junhuang/coolbuy/claude-marketplace/plugins"
MARKETPLACE_FILE="/Users/junhuang/coolbuy/claude-marketplace/.claude-plugin/marketplace.json"
echo "Generating marketplace.json..."
# Start JSON
cat > "$MARKETPLACE_FILE" << 'EOF'
{
"name": "coolbuy-claude-plugins",
"owner": {
"name": "Donglin Lai (qiudl)",
"email": "qiudl@zhiyuncai.com"
},
"metadata": {
"description": "Custom Claude Code plugins for development workflows, DevOps, and business operations",
"version": "1.0.0",
"pluginRoot": "./plugins"
},
"plugins": [
EOF
# Loop through each plugin and extract info
first=true
for plugin_dir in "$TARGET_DIR"/*-plugin; do
if [ ! -d "$plugin_dir" ]; then
continue
fi
plugin_name=$(basename "$plugin_dir")
manifest="$plugin_dir/.claude-plugin/plugin.json"
if [ ! -f "$manifest" ]; then
continue
fi
# Extract info from plugin.json using grep and sed
description=$(grep '"description"' "$manifest" | head -1 | sed 's/.*"description": *"\([^"]*\)".*/\1/')
version=$(grep '"version"' "$manifest" | head -1 | sed 's/.*"version": *"\([^"]*\)".*/\1/')
# Determine category based on plugin name
category="utility"
keywords=""
case "$plugin_name" in
*dev-*|*coding*|*frontend*)
category="development"
keywords='["development", "coding", "workflow"]'
;;
*ops-*|*deploy*|*server*)
category="devops"
keywords='["devops", "deployment", "operations"]'
;;
*ai-proj*|*req*)
category="productivity"
keywords='["project-management", "tasks", "requirements"]'
;;
*feishu*|*wecom*|*siyuan*)
category="integration"
keywords='["integration", "automation", "productivity"]'
;;
*biz-*)
category="business"
keywords='["business", "planning", "contracts"]'
;;
*session*)
category="workflow"
keywords='["session", "workflow", "productivity"]'
;;
esac
# Add comma if not first entry
if [ "$first" = true ]; then
first=false
else
echo "," >> "$MARKETPLACE_FILE"
fi
# Write plugin entry
cat >> "$MARKETPLACE_FILE" << ENTRY
{
"name": "$plugin_name",
"source": "$plugin_name",
"description": "$description",
"version": "$version",
"category": "$category",
"keywords": $keywords,
"strict": false
}ENTRY
done
# Close JSON
cat >> "$MARKETPLACE_FILE" << 'EOF'
]
}
EOF
echo "✓ Generated marketplace.json with $(grep -c '"name"' "$MARKETPLACE_FILE" | awk '{print $1-1}') plugins"