- Crear alias 'fj' que apunta a 'berg' al iniciar sesión
- Eliminar alias cuando se cierra sesión (--logout)
- Implementar funciones create_fj_alias() y remove_fj_alias()
- Usar script de shell y enlaces simbólicos para crear el alias
- Manejar diferentes ubicaciones según permisos (/usr/local/bin o ~/.local/bin)
- Proporcionar instrucciones para añadir ~/.local/bin al PATH si es necesario
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Modificar la función get_forgejo_url() para devolver solo el dominio sin protocolo
- Eliminar la adición del protocolo https:// que era innecesaria
- Ajustar para cumplir con el requisito de usar solo el dominio para BERG_BASE_URL
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Agregar función get_forgejo_url() para extraer URL de configuración git
- Configurar automáticamente BERG_BASE_URL antes de la autenticación
- Buscar en múltiples ubicaciones: configuración global, directorio actual y repos del HOME
- Extraer el dominio base de diferentes formatos de URL (https://, git@, etc.)
- Mejorar mensajes informativos sobre la URL del servidor utilizada
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Crear script para gestionar la autenticación con Forgejo/Codeberg
- Implementar parámetros --login (default) y --logout para iniciar/cerrar sesión
- Desencriptar el token almacenado en forgejo.sops.yaml usando SOPS
- Decodificar el token desde base64 y usarlo para autenticación
- Integrar con berg (CLI de Forgejo) para la autenticación segura
- Verificar requisitos (berg, SOPS) antes de proceder
- Usar DEVELOPER_DIR de base.lib para la ubicación estándar del token
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir variable global DEVELOPER_DIR=${HOME}/.developer a base.lib
- Eliminar definición redundante en cversadm_token.sh y usar la variable global
- Actualizar todas las referencias a la variable en las funciones del script
- Centralizar definición de la ruta para uso consistente en todo el proyecto
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Cambiar DEVELOPERS_DIR de "$HOME/.developers" a "$HOME/.developer"
- Actualizar comentarios para reflejar el cambio de ruta
- Mantener consistencia con el uso estándar de la carpeta .developer
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Reemplazar dialog_input_pass por llamada directa a dialog para mejor compatibilidad
- Usar --stdout para capturar correctamente la entrada del usuario
- Mejorar formato del cuadro de diálogo con dimensiones apropiadas (8x60)
- Mantener validaciones mientras se soluciona el problema de entrada en blanco
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implementar validación completa de tokens (longitud, formato, caracteres especiales)
- Encriptar tokens en base64 antes de guardarlos con SOPS
- Usar nombre de archivo temporal único con $$ para prevenir colisiones
- Añadir comprobaciones de seguridad adicionales para tokens
- Mover todos los mensajes de validación a developers.es
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Mover mensajes de error de SOPS a developers.es (cvmsg_013 y cvmsg_014)
- Modificar check_sops_installed para usar las variables de mensajes
- Mantener todos los mensajes en el archivo de idioma para facilitar localización
- Seguir la política de que todos los mensajes deben estar en developers.es
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Modificar check_sops_installed() para usar dialog en lugar de echo
- Usar dialog_error_box para mostrar mensajes de error en la interfaz gráfica
- Mejorar mensaje de error con instrucciones sobre cómo instalar SOPS
- Mantener consistencia con el estilo de interfaz del resto del script
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implementar política general persistente: verificar que dialog esté instalado
- Añadir función check_dialog_installed() para validar la disponibilidad de dialog
- Mostrar mensaje de error (head_001) si dialog no está instalado
- Agregar esta verificación como primer paso antes de ejecutar funciones de interfaz
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir detección automática del idioma del shell (BIN_LANG=${LANG:0:2})
- Cargar archivos de mensajes según el idioma del sistema
- Seguir política general persistente para todos los scripts bash del proyecto
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Modificar la variable title para usar head_000 y head_002 en lugar de valor estático
- Asegurar consistencia con el diseño de otros scripts del sistema
- Utilizar las variables de mensajes estándar para el título
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Agregar 4 líneas en blanco al menú de selección de plataforma
- Aumentar el valor de la altura del menú de 5 a 9 líneas
- Mejorar la legibilidad y apariencia visual del menú
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Obtener DEVSPATH desde bin/config/devspath.dat para determinar la ubicación correcta
- Usar "devs" como valor predeterminado si el archivo de configuración no existe
- Configurar BIN_HOME usando la ruta obtenida para mayor flexibilidad
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Corregir ruta para cargar mensajes con load_messages
- Usar menu_actions en lugar de dialog_input_menu para mayor compatibilidad
- Añadir variables head_exit y head_key_end necesarias para menus
- Agregar inicialización de variables head_000 y head_002 para el título
- Incluir llamada a display_text_header para mostrar el encabezado
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir variable head_error necesaria para diálogos de error
- Aumentar tamaño de ventana del menú para evitar problemas de visualización
- Mejorar comentarios para mayor claridad
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implementa interfaz mediante dialog para seleccionar plataforma (Github, Gitlab, Forgejo)
- Solicita token mediante entrada segura (oculta)
- Encripta token con SOPS y lo guarda en ~/.developers/[plataforma].sops.yaml
- Añade mensajes en español en developers.es
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Cambiada URL de API de HTTPS a HTTP por defecto
- Implementada detección automática del protocolo correcto (HTTP/HTTPS)
- Añadido soporte para certificados autofirmados con la opción -k
- Mejor diagnóstico de conectividad con pruebas de puerto 80 y 443
- Información detallada sobre problemas de conexión y respuestas de API
- Salida de depuración enriquecida para facilitar la resolución de problemas
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Actualizada URL de API a git.rosero.one
- Añadidos timeouts en las peticiones curl para evitar bloqueos
- Mejorado diagnóstico de conectividad con verificación de DNS y puertos
- Mejor extracción de URL base del servidor
- Detección más precisa de problemas de conexión vs. problemas de autenticación
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadidas verificaciones preliminares de conectividad a la API
- Validación del token antes de crear el repositorio
- Mejor extracción de URL (con fallback a html_url)
- Instrucciones detalladas para generar token en Forgejo
- Diagnóstico mejorado cuando falla la creación del proyecto
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadida función forgejo_create_project en developers.lib
- Creado nuevo script bin/forgejo_project.sh para facilitar el uso
- Integración con tokens de Forgejo almacenados en .developer
- Configuración automática de repositorio local
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Creados archivos .gitignore para cada tipo de proyecto con reglas específicas
- Para Odoo, se excluye de seguimiento la carpeta data y su contenido
- Integrados en project_new.sh para copiarse automáticamente al crear un proyecto
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Actualizar las fechas de modificación para incluir formato de hora completo
- Aplicar formato consistente "YYYY-MM-DD HH:MM:SS" en todos los archivos
- Actualizar archivos: project_create.sh, project_new.sh y cortana_token.sh
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Crear una copia del script project_create.sh con el nuevo nombre project_new.sh
- Actualizar cabecera con el nuevo nombre de archivo y fecha de modificación
- Mantener toda la funcionalidad existente para crear nuevos proyectos
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir inicialización automática de git al crear nuevo proyecto
- Incluir commit inicial con etiqueta [INIT] según estándares del proyecto
- Mantener estructura y navegación de directorios durante el proceso
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir Claude Code como colaborador digital en README
- Mejorar la visualización del autor principal en READMEs de nuevos proyectos
- Ajustar parámetros del diálogo de selección de licencia en project_create.sh
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir rates.prompt con la plantilla de consulta para tarifas
- Eliminar archivos de tarifas antiguos de la ubicación original
- Organizar archivos para nueva estructura donde las tarifas se guardan por tipo
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Leer el prompt desde el archivo rates.prompt en lugar de tenerlo hardcoded
- Traducir tipos de programadores a sus equivalentes en inglés
- Adaptar sistema de prompts para trabajar con textos en inglés
- Mejorar instrucciones al modelo para obtener solo valores numéricos
- Agregar manejo de errores si el archivo del prompt no existe
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Eliminar toda la lógica compleja relacionada con factores de conversión
- Simplificar el proceso de extracción numérica de respuestas de Perplexity
- Usar prompt más directo enfocado específicamente en la tarifa por hora
- Reemplazar función get_fallback_rate por get_default_rate más simple
- Eliminar código innecesario para análisis de períodos de tiempo
- Mantener la lógica central de consulta a la API y extracción de valores
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Reorganizar la lógica para crear un archivo por tipo de programador
- Simplificar la estructura de archivos usando [tipo].rate
- Crear tarifas solo para tipos de programadores que no tengan archivo existente
- Mejorar prompts para obtener específicamente tarifas por hora
- Añadir función get_programmer_types para centralizar la lista de profesionales
- Optimizar la función get_fallback_rate para soportar nueva estructura
- Aplicar consistentemente el límite de 200 USD/hora para todas las tarifas
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Eliminar archivo kdevs.rate ya que no es necesario
- Mover todos los archivos .rate a la carpeta bin/config/rates
- Actualizar rate_update.py para usar la nueva ubicación de archivos
- Agregar creación automática de la carpeta rates si no existe
- Actualizar manejo de casos especiales en el código
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Considerar solo tarifas que no exceden el umbral al calcular promedios
- Añadir mensajes de log detallados sobre tarifas incluidas o excluidas
- Eliminar verificación redundante de umbral en el cálculo del promedio
- Mejorar la claridad de los mensajes sobre tarifas válidas utilizadas
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Asegurar que el promedio calculado nunca exceda el umbral de 200.00 USD/hora
- Modificar el cálculo de fallback para respetar estrictamente el umbral
- Aplicar límite explícito en todos los casos de cálculo de tarifa
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir parámetro temperature=0.2 para respuestas más consistentes
- Implementar límite de tarifa máxima de 200.00 USD/hora
- Calcular promedio de tarifas del mismo tipo si se supera el límite
- Usar fallback ajustado si no hay datos para calcular promedio
- Mejorar mensajes de log para casos donde se ajustan tarifas
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Detectar período de tiempo mencionado en la respuesta (hora, día, semana, mes, año)
- Aplicar factores de conversión automáticos para estandarizar a tarifa por hora
- Mejorar patrones de búsqueda para detectar valores con comas y diferentes formatos
- Ajustar rangos de validación según el período de tiempo detectado
- Aclarar en el prompt que se necesita específicamente la tarifa POR HORA
- Mejorar la extracción de números con formato miles (1,000.00)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Eliminar declaración global SHOW_RESULTS innecesaria
- Eliminar uso de globals() que causaba SyntaxError
- Simplificar el manejo de variables globales
- Eliminar asignación redundante a variable pycountry_available
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Modificar el nivel de log para mostrar solo errores y resultados importantes
- Añadir función show_result para controlar la salida de resultados
- Agregar opciones de línea de comandos para controlar verbosidad (-v, -q)
- Mostrar solo el valor guardado para cada archivo procesado
- Añadir manejo de errores global para mejor experiencia de usuario
- Proporcionar retroalimentación clara sobre éxito o fracaso
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir declaración de codificación UTF-8 en el encabezado del script
- Especificar codificación UTF-8 en todas las operaciones de lectura de archivos
- Especificar codificación UTF-8 en todas las operaciones de escritura de archivos
- Mejorar compatibilidad con caracteres internacionales en múltiples sistemas
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Cambiar el modelo por defecto de 'o1' a 'sonar' para mejor compatibilidad con la API
- Actualizar el archivo de configuración rate_model.ai
- Simplificar la lógica de selección de modelo
- Usar el modelo más estable y preciso disponible en Perplexity
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Eliminar el salto de línea al escribir el valor en los archivos .rate
- Asegurar que el archivo contenga solamente el valor numérico con separador decimal
- Mantener el formato consistente con los demás archivos del sistema
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 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>
- 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>
- 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
- Se cambia la libreria gpg a developers
- Se cambia el comando gpg_backup.sh a profile_backup.sh
- Se hacen mejoras a la documentación del sistema
- El respaldo ahora incluye las carpetas .ssh, .gnugp y .gitconfig del usuario
- Otros cambios menores