- Añadir sistema de respaldo para cuando la API de Perplexity no está disponible
- Crear función get_fallback_rate para generar estimaciones basadas en datos de mercado
- Mejorar la extracción de valores numéricos con múltiples estrategias de parsing
- Permitir estimaciones aproximadas cuando no hay datos del año actual
- Implementar factores regionales para ajustar tarifas según la ubicación
- Continuar con valores de respaldo cuando hay errores de API consecutivos
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Mejorar la función query_perplexity con mejor manejo de errores y debugging
- Actualizar el modelo por defecto de 'o1' a 'sonar' que es compatible con la API
- Expandir get_perplexity_api_key para buscar la clave en múltiples ubicaciones
- Implementar sistema de control de errores consecutivos para detener el proceso
- Agregar validación del formato de la API key
- Mejorar registro de depuración para identificar problemas de conexión
- Incluir pausa entre solicitudes tras errores para evitar limitaciones de la API
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Usar advertencias en lugar de errores cuando falta pycountry
- Continuar la ejecución sin validación en lugar de detener el script
- Proporcionar instrucciones claras para instalar pycountry manualmente
- Evitar intentar instalar dependencias sin privilegios de administrador
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Definir todas las funciones necesarias dentro de update_python_and_pip
- Pasar command_installed explícitamente al subproceso sudo
- Eliminar dependencia de bibliotecas externas en el subproceso
- Mejorar la autonomía del script para actualizaciones con privilegios elevados
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Adoptar el enfoque de bootstrap.sh para la elevación de privilegios
- Encapsular la actualización de Python y pip en una función dedicada
- Usar sudo con bash -c para pasar funciones y variables correctamente
- Mejorar mensajes y flujo de ejecución en el script update.sh
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Crear funciones is_root y escalate_privileges en base.lib
- Modificar update.sh para verificar y escalar privilegios antes de actualizar Python y pip
- Mejorar manejo de errores cuando no es posible obtener privilegios
- Agregar verificación de existencia de sudo
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Agregar mensajes de error claros cuando Python o pip no están instalados
- Eliminar dependencia de dialog en update.sh
- Mantener mensajes informativos simples usando variables del sistema
- Sugerir ejecutar bootstrap.sh para instalar dependencias faltantes
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Crear función pip_update específica para actualizar pip
- Crear función python3_update específica para actualizar Python
- Modificar update.sh para actualizar Python y pip por separado
- Mejorar manejo de errores y verificación de instalación previa
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Crear función pip_install específica para la instalación de pip
- Simplificar función python3_install para que solo instale Python
- Actualizar bootstrap.sh para verificar pip3 y usar la nueva función
- Mejorar la compatibilidad entre sistemas operativos
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Solucionar SyntaxError relacionado con la declaración global
- Usar globals() para actualizar la variable global pycountry_available
- Mejorar el flujo de ejecución del programa
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Salir del programa con mensaje de error si pip no está instalado
- Mejores mensajes de error para problemas con Python y pip
- Instrucciones más claras para la instalación de dependencias
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir detección robusta de pip y manejo de errores
- Incluir lista predefinida de códigos de país cuando pycountry no está disponible
- Corregir problemas de inicialización de logging
- Mejor manejo de errores y mensajes informativos
- Funcionamiento garantizado incluso sin pycountry instalado
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Instala automáticamente la biblioteca pycountry si no está disponible
- Valida códigos de país usando la base de datos de pycountry
- Acepta códigos especiales como 'ww' (mundial) y 'la' (Latinoamérica)
- Genera advertencias para códigos de país inválidos pero continúa el proceso
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Se añade script rate_update.py para:
- Analizar archivos .rate en la carpeta de configuración
- Consultar a la API de Perplexity para obtener tarifas actualizadas
- Guardar valores numéricos con 2 decimales en los archivos correspondientes
- Preservar archivos especiales como kdevs.rate sin modificarlos
- Soportar diferentes tipos de programadores y regiones
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Se añaden archivos de configuración que definen las tarifas por hora en dólares para diferentes habilidades técnicas y regiones:
- [habilidad]_[región].rate: Donde la habilidad puede ser bash, python, fullstack, etc.
- Las regiones incluyen 'la' (Latinoamérica) y 'ww' (mundial/worldwide)
- kdevs.rate define un multiplicador para cálculos relacionados
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Amplía la caja de diálogo de éxito para mejor visualización de la ruta del proyecto
- Aumenta altura del diálogo a 12 líneas y ancho a 80 caracteres
- Personaliza el diálogo para evitar truncamiento de rutas largas
- Mantiene consistencia con otros mensajes del sistema
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Elimina la función odoo_developers que ya no es necesaria
- Simplifica la biblioteca odoo.lib al eliminar código obsoleto
- Mejora la mantenibilidad del código al remover funciones innecesarias
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Elimina todas las referencias a odoo.repo que requerían archivos de configuración adicionales
- Simplifica la función odoo_developers para crear directorios sin depender de repositorios Git
- Reduce las dependencias externas para mejorar la portabilidad del script
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Elimina referencia a odoo.version que causaba error si el archivo no existía
- Añade manejo de errores para la lectura de archivos de configuración de Odoo
- Evita que el script falle cuando no hay configuraciones previas de Odoo
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Reemplaza incorrecta llave de cierre '}' con 'fi' para cerrar correctamente el bloque if
- Soluciona error que impedía la ejecución del script odoo_set.sh
- Crea carpeta configs de Odoo faltante y el archivo odoo.version
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Reordena los mensajes en odoo.es para mantener una secuencia lógica de números
- Mejora el manejo de variables en el subshell de la barra de progreso para evitar pérdida de valor
- Implementa un método más robusto para actualizar la descripción en README.md existentes
- Añade respaldo automático de README.md antes de modificarlo
- Mejora manejo de errores en la generación de archivos
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Simplifica a un solo mensaje: "Descripción del Proyecto Odoo:"
- Elimina textos explicativos adicionales para mantener una interfaz limpia
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Solicita una descripción de proyecto al usuario mediante dialog
- Utiliza la descripción en el archivo README.md generado
- Actualiza la descripción si el proyecto ya existe
- Añade nuevos mensajes en odoo.es para la funcionalidad
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remueve el script odoodevs_set.sh que ha sido reemplazado por odoo_set.sh
- Actualiza la documentación en README.md para eliminar referencias al script obsoleto
- Simplifica las instrucciones para desarrollo con Odoo
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añade entrada en la sección de Desarrollo Especializado
- Crea una nueva sección de Guía de Usuario para el desarrollo con Odoo
- Proporciona detalles sobre las funcionalidades de odoo_set.sh
- Incluye instrucciones de uso para crear y ejecutar proyectos Odoo
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Crea una estructura completa de proyecto Odoo
- Incluye carpetas build y settings requeridas
- Genera archivo .typset con tipo de proyecto
- Configura entorno básico para desarrollo Odoo
- Utiliza funciones de console.lib para la interfaz de usuario
- Añade mensajes en odoo.es para internacionalización
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Detecta automáticamente el sistema operativo y utiliza el método de instalación adecuado
- Soporta instalación mediante snap en Ubuntu
- Fallback a instalación desde tarball cuando es necesario
- Mensajes externalizados en head.es para facilitar la localización
- Uso de la librería console.lib para el manejo de interfaces con dialog
- Actualizado README.md con información sobre la nueva funcionalidad
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir tablas de comandos organizadas por categoría
- Incorporar sección de inicio rápido
- Incluir instrucciones detalladas para cada funcionalidad
- Mejorar estructura con secciones claras para usuario y desarrollador
- Agregar badges e iconos para mejor visualización
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Mejorar pre_anthropic para detectar shell y configurar PATH correctamente
- Agregar función remove_cortana_alias para eliminar alias
- Crear scripts cortana_enable.sh y cortana_disable.sh con soporte para sesión actual
- Agregar nuevos mensajes de localización para funcionalidad de alias
- Mejorar el manejo de rutas de ejecutable de Claude Code
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- bootstrap.sh: se corrige la instalación de ansilbe usando paquete de sistema
- vpn_users.sh: se usa la función para el despliegue de titulo de proyecto global devs