- Actualizar hook de monitoreo para repo seguidorDeLotes - Actualizar README con nombre y descripción del proyecto - Agregar scripts de Chrome MCP y documentación
137 lines
3.9 KiB
Bash
Executable File
137 lines
3.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# Script de configuración automática de Chrome DevTools MCP
|
|
|
|
PROJECT_NAME=$(basename $(pwd))
|
|
CHROME_PORT=$((9222 + $(echo $PROJECT_NAME | cksum | cut -d' ' -f1) % 100))
|
|
CLAUDE_CONFIG_DIR="$HOME/.config/claudecode"
|
|
CLAUDE_CONFIG_FILE="$CLAUDE_CONFIG_DIR/mcp.json"
|
|
|
|
echo "======================================"
|
|
echo "Configuración de Chrome DevTools MCP"
|
|
echo "Proyecto: $PROJECT_NAME"
|
|
echo "Puerto: $CHROME_PORT"
|
|
echo "======================================"
|
|
echo ""
|
|
|
|
# Crear directorio de configuración si no existe
|
|
if [ ! -d "$CLAUDE_CONFIG_DIR" ]; then
|
|
echo "Creando directorio de configuración de Claude Code..."
|
|
mkdir -p "$CLAUDE_CONFIG_DIR"
|
|
fi
|
|
|
|
# Función para crear configuración nueva
|
|
create_new_config() {
|
|
cat > "$CLAUDE_CONFIG_FILE" << EOF
|
|
{
|
|
"mcpServers": {
|
|
"chrome-devtools": {
|
|
"command": "npx",
|
|
"args": [
|
|
"chrome-devtools-mcp@latest",
|
|
"--browserUrl=http://localhost:${CHROME_PORT}",
|
|
"--isolated"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
EOF
|
|
echo "✓ Configuración creada exitosamente"
|
|
}
|
|
|
|
# Función para actualizar configuración existente
|
|
update_existing_config() {
|
|
# Hacer backup
|
|
cp "$CLAUDE_CONFIG_FILE" "$CLAUDE_CONFIG_FILE.backup"
|
|
echo "✓ Backup creado: $CLAUDE_CONFIG_FILE.backup"
|
|
|
|
# Usar jq para actualizar si está disponible
|
|
if command -v jq &> /dev/null; then
|
|
jq ".mcpServers[\"chrome-devtools\"].args = [\"chrome-devtools-mcp@latest\", \"--browserUrl=http://localhost:${CHROME_PORT}\", \"--isolated\"]" \
|
|
"$CLAUDE_CONFIG_FILE.backup" > "$CLAUDE_CONFIG_FILE"
|
|
echo "✓ Configuración actualizada con jq"
|
|
else
|
|
echo "⚠ jq no está instalado. Mostrando configuración manual..."
|
|
echo ""
|
|
echo "Por favor, editá manualmente $CLAUDE_CONFIG_FILE"
|
|
echo "y cambiá el --browserUrl a: http://localhost:${CHROME_PORT}"
|
|
echo "y agregá --isolated como tercer argumento"
|
|
echo ""
|
|
echo "O instalá jq: sudo apt install jq"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# Verificar si existe config.json
|
|
if [ -f "$CLAUDE_CONFIG_FILE" ]; then
|
|
echo "Archivo de configuración existente encontrado."
|
|
echo "Opciones:"
|
|
echo " 1) Actualizar configuración existente (recomendado)"
|
|
echo " 2) Sobrescribir con nueva configuración"
|
|
echo " 3) Mostrar configuración manual"
|
|
echo " 4) Cancelar"
|
|
echo ""
|
|
read -p "Seleccioná una opción (1-4): " option
|
|
|
|
case $option in
|
|
1)
|
|
update_existing_config
|
|
;;
|
|
2)
|
|
echo "⚠ Esto sobrescribirá toda tu configuración actual."
|
|
read -p "¿Estás seguro? (s/N): " confirm
|
|
if [[ $confirm =~ ^[Ss]$ ]]; then
|
|
create_new_config
|
|
else
|
|
echo "Operación cancelada"
|
|
exit 0
|
|
fi
|
|
;;
|
|
3)
|
|
echo ""
|
|
echo "Configuración manual:"
|
|
echo "1. Editá: $CLAUDE_CONFIG_FILE"
|
|
echo "2. Agregá o modificá la sección mcpServers:"
|
|
echo ""
|
|
cat << 'EOF'
|
|
{
|
|
"mcpServers": {
|
|
"chrome-devtools": {
|
|
"command": "npx",
|
|
"args": [
|
|
"chrome-devtools-mcp@latest",
|
|
EOF
|
|
echo " \"--browserUrl=http://localhost:${CHROME_PORT}\","
|
|
cat << 'EOF'
|
|
"--isolated"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
EOF
|
|
exit 0
|
|
;;
|
|
4)
|
|
echo "Operación cancelada"
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "Opción inválida"
|
|
exit 1
|
|
;;
|
|
esac
|
|
else
|
|
echo "No se encontró configuración existente. Creando nueva..."
|
|
create_new_config
|
|
fi
|
|
|
|
echo ""
|
|
echo "======================================"
|
|
echo "✓ Configuración completada"
|
|
echo "======================================"
|
|
echo ""
|
|
echo "Próximos pasos:"
|
|
echo "1. Iniciá el navegador: ./start-browser.sh"
|
|
echo "2. Reiniciá Claude Code para aplicar cambios"
|
|
echo ""
|
|
echo "Ver documentación completa: .claude/CHROME_SETUP.md"
|