playbook/outfitter-agents/scripts/cleanup-local-install.sh

110 lines
3.6 KiB
Bash
Executable File

#!/bin/bash
# Cleanup script to remove all local outfitter plugin installations
# Run this BEFORE reinstalling from GitHub
#
# Usage: bash scripts/cleanup-local-install.sh
#
# What this does:
# 1. Removes cached plugin files
# 2. Removes entries from installed_plugins.json
# 3. Removes entries from known_marketplaces.json
# 4. Removes entries from settings.json enabledPlugins
set -e
CLAUDE_DIR="$HOME/.claude"
PLUGINS_DIR="$CLAUDE_DIR/plugins"
echo "=== Outfitter Plugin Cleanup ==="
echo ""
# 1. Remove cache directories
echo "1. Removing cache directories..."
if [ -d "$PLUGINS_DIR/cache/outfitter" ]; then
rm -rf "$PLUGINS_DIR/cache/outfitter"
echo " ✓ Removed $PLUGINS_DIR/cache/outfitter"
else
echo " - $PLUGINS_DIR/cache/outfitter (not found)"
fi
if [ -d "$PLUGINS_DIR/cache/outfitter-internal" ]; then
rm -rf "$PLUGINS_DIR/cache/outfitter-internal"
echo " ✓ Removed $PLUGINS_DIR/cache/outfitter-internal"
else
echo " - $PLUGINS_DIR/cache/outfitter-internal (not found)"
fi
# 2. Remove from installed_plugins.json
echo ""
echo "2. Cleaning installed_plugins.json..."
INSTALLED_FILE="$PLUGINS_DIR/installed_plugins.json"
if [ -f "$INSTALLED_FILE" ]; then
# Create backup
cp "$INSTALLED_FILE" "$INSTALLED_FILE.bak"
# Remove all outfitter-related entries
jq 'del(.plugins["but@outfitter"]) |
del(.plugins["claude-dev@outfitter"]) |
del(.plugins["cli-dev@outfitter"]) |
del(.plugins["gt@outfitter"]) |
del(.plugins["outfitter@outfitter"]) |
del(.plugins["outfitter-dev@outfitter-internal"])' \
"$INSTALLED_FILE.bak" > "$INSTALLED_FILE"
echo " ✓ Removed outfitter entries from installed_plugins.json"
echo " ✓ Backup saved to installed_plugins.json.bak"
fi
# 3. Remove from known_marketplaces.json
echo ""
echo "3. Cleaning known_marketplaces.json..."
MARKETPLACES_FILE="$PLUGINS_DIR/known_marketplaces.json"
if [ -f "$MARKETPLACES_FILE" ]; then
# Create backup
cp "$MARKETPLACES_FILE" "$MARKETPLACES_FILE.bak"
# Remove outfitter marketplace entry
jq 'del(.outfitter) | del(.["outfitter-internal"])' \
"$MARKETPLACES_FILE.bak" > "$MARKETPLACES_FILE"
echo " ✓ Removed outfitter from known_marketplaces.json"
echo " ✓ Backup saved to known_marketplaces.json.bak"
fi
# 4. Remove from settings.json enabledPlugins
echo ""
echo "4. Cleaning settings.json..."
SETTINGS_FILE="$CLAUDE_DIR/settings.json"
if [ -f "$SETTINGS_FILE" ]; then
# Create backup
cp "$SETTINGS_FILE" "$SETTINGS_FILE.bak"
# Remove outfitter entries from enabledPlugins
jq 'del(.enabledPlugins["outfitter@outfitter"]) |
del(.enabledPlugins["outfitter-dev@outfitter-internal"]) |
del(.enabledPlugins["but@outfitter"]) |
del(.enabledPlugins["gt@outfitter"]) |
del(.enabledPlugins["cli-dev@outfitter"]) |
del(.enabledPlugins["claude-dev@outfitter"])' \
"$SETTINGS_FILE.bak" > "$SETTINGS_FILE"
echo " ✓ Removed outfitter entries from settings.json"
echo " ✓ Backup saved to settings.json.bak"
fi
echo ""
echo "=== Cleanup Complete ==="
echo ""
echo "Next steps:"
echo " 1. Commit and push the version bump to GitHub"
echo " 2. Run: /plugin marketplace add outfitter-dev/agents"
echo " 3. Run: /plugin install outfitter@outfitter"
echo " 4. Run: /plugin install gt@outfitter"
echo " 5. Run: /plugin install but@outfitter"
echo " 6. Run: /plugin install cli-dev@outfitter"
echo ""
echo "To restore from backups if needed:"
echo " cp $INSTALLED_FILE.bak $INSTALLED_FILE"
echo " cp $MARKETPLACES_FILE.bak $MARKETPLACES_FILE"
echo " cp $SETTINGS_FILE.bak $SETTINGS_FILE"