Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 09:04:17 +08:00
commit 652915e226
62 changed files with 8212 additions and 0 deletions

View File

@@ -0,0 +1,105 @@
#!/usr/bin/env bash
# Script: fix-hardcoded-paths.sh
# Purpose: Fix hardcoded multiagent-core paths to use simple project-relative paths
# Usage: ./fix-hardcoded-paths.sh [--dry-run]
set -euo pipefail
DRY_RUN=false
if [[ "${1:-}" == "--dry-run" ]]; then
DRY_RUN=true
echo "DRY RUN MODE - No files will be changed"
echo ""
fi
PLUGINS_DIR="$HOME/.claude/marketplaces/multiagent-dev/plugins"
echo "=== Fixing Hardcoded Paths in Plugins ==="
echo ""
# Complex path pattern that needs replacement
COMPLEX_CONFIG_PATH='$([ -f "$([ -d "$HOME/.claude/marketplaces/multiagent-dev/plugins/*/skills/*/config" ] && echo "$HOME/.claude/marketplaces/multiagent-dev/plugins/*/skills/*/config" || find "$HOME/.claude/marketplaces/multiagent-dev/plugins/multiagent-config" -type d -path "*/skills/*" -name "config" 2>/dev/null | head -1).json" ] && echo "$([ -d "$HOME/.claude/marketplaces/multiagent-dev/plugins/*/skills/*/config" ] && echo "$HOME/.claude/marketplaces/multiagent-dev/plugins/*/skills/*/config" || find "$HOME/.claude/marketplaces/multiagent-dev/plugins/multiagent-config" -type d -path "*/skills/*" -name "config" 2>/dev/null | head -1).json" || find "$HOME/.claude/marketplaces/multiagent-dev/plugins/multiagent-core/skills/*" -name "config.json" -type f 2>/dev/null | head -1)'
SIMPLE_CONFIG_PATH='.multiagent/config.json'
# Count before
COMPLEX_PATHS_BEFORE=$(grep -r "multiagent-core/skills" "$PLUGINS_DIR"/*/commands/*.md "$PLUGINS_DIR"/*/agents/*.md 2>/dev/null | wc -l)
echo "Before:"
echo " - Complex multiagent-core paths: $COMPLEX_PATHS_BEFORE"
echo ""
if $DRY_RUN; then
echo "[DRY RUN] Would perform these replacements:"
echo ""
fi
FIXED_FILES=0
# Fix all agent and command files
for file in "$PLUGINS_DIR"/*/agents/*.md "$PLUGINS_DIR"/*/commands/*.md; do
[ -f "$file" ] || continue
# Check if file has hardcoded multiagent-core references
if grep -q "multiagent-core" "$file" 2>/dev/null; then
if $DRY_RUN; then
echo "[DRY RUN] Would fix: $file"
grep -n "multiagent-core" "$file" | head -3
echo ""
else
# Create backup
cp "$file" "$file.backup"
# Replace all complex config paths with simple .multiagent/config.json
sed -i 's|\$HOME/\.\(claude\|multiagent\)/[^"]*config\.json|.multiagent/config.json|g' "$file"
sed -i 's|\$(find[^)]*multiagent-core[^)]*)|.multiagent/config.json|g' "$file"
sed -i 's|\$(find[^)]*multiagent-config[^)]*)|.multiagent/config.json|g' "$file"
# Fix script references
sed -i 's|\$HOME/\.\(claude\|multiagent\)/[^"]*\.sh|.multiagent/scripts/\$(basename \$0)|g' "$file"
sed -i 's|\$(find[^)]*multiagent-core[^)]*\.sh[^)]*)|.multiagent/scripts/\$(basename \$0)|g' "$file"
# Fix template references
sed -i 's|\$HOME/\.\(claude\|multiagent\)/[^"]*templates|.multiagent/templates|g' "$file"
sed -i 's|\$(find[^)]*multiagent-core[^)]*templates[^)]*)|.multiagent/templates|g' "$file"
# Fix specific worktree reference
sed -i 's|../multiagent-core-worktrees/|../PROJECT-worktrees/|g' "$file"
# Fix validation reference
sed -i 's|--plugin multiagent-core|--plugin \$(basename \$(git rev-parse --show-toplevel))|g' "$file"
echo "✓ Fixed: $file"
((FIXED_FILES++))
fi
fi
done
echo ""
if $DRY_RUN; then
echo "[DRY RUN] Would fix $FIXED_FILES files"
else
echo "✓ Fixed $FIXED_FILES files"
# Count after
COMPLEX_PATHS_AFTER=$(grep -r "multiagent-core" "$PLUGINS_DIR"/*/commands/*.md "$PLUGINS_DIR"/*/agents/*.md 2>/dev/null | wc -l || echo 0)
echo ""
echo "After:"
echo " - Complex multiagent-core paths: $COMPLEX_PATHS_AFTER (was $COMPLEX_PATHS_BEFORE)"
echo ""
if [ "$COMPLEX_PATHS_AFTER" -eq 0 ]; then
echo "🎉 All hardcoded paths fixed!"
else
echo "⚠️ Some references remain - may need manual review"
echo ""
echo "Remaining issues:"
grep -rn "multiagent-core" "$PLUGINS_DIR"/*/commands/*.md "$PLUGINS_DIR"/*/agents/*.md 2>/dev/null | head -5
fi
echo ""
echo "Backups saved with .backup extension"
echo "To restore: find $PLUGINS_DIR -name '*.backup' -exec bash -c 'mv \"\$0\" \"\${0%.backup}\"' {} \\;"
fi