[ADDED] Soporte para gum (Charm TUI toolkit)
- Añadida instalación de gum a bootstrap.sh - Implementada actualización automática de gum en update.sh - Agregada función gum_install en bootstrap.lib - Actualizada documentación en README para reflejar el nuevo componente - Actualizada la estructura de directorios con el nuevo directorio data/ - Actualizada versión a 1.3.1 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
4a372209d9
commit
2d9afccca0
4 changed files with 103 additions and 16 deletions
26
README.md
26
README.md
|
@ -63,8 +63,8 @@ MRDevs Tools utiliza una estructura organizada que separa el código (en ~/devs)
|
|||
|
||||
| Comando | Descripción |
|
||||
|---------|-------------|
|
||||
| `bin/bootstrap.sh` | Instala herramientas básicas (incluyendo oathtool, zbar y redis-cli) y configura la gestión de contenedores |
|
||||
| `bin/update.sh` | Actualiza el entorno de desarrollo y herramientas (incluyendo oathtool, zbar y redis-cli) |
|
||||
| `bin/bootstrap.sh` | Instala herramientas básicas (incluyendo oathtool, zbar, redis-cli y gum) y configura la gestión de contenedores |
|
||||
| `bin/update.sh` | Actualiza el entorno de desarrollo y herramientas (incluyendo oathtool, zbar, redis-cli y gum) |
|
||||
| `bin/npm_install.sh` | Instala NodeJS y npm de forma interactiva |
|
||||
| `bin/project_new.sh` | Crea un nuevo proyecto con estructura estandarizada según el tipo seleccionado |
|
||||
|
||||
|
@ -548,16 +548,18 @@ MRDevs Tools está diseñado con la seguridad y privacidad en mente:
|
|||
```
|
||||
$HOME/
|
||||
├── devs/ # Directorio principal del proyecto
|
||||
│ └── bin/ # Scripts ejecutables y herramientas
|
||||
│ ├── lib/ # Bibliotecas compartidas
|
||||
│ ├── msg/ # Archivos de mensajes multilingües
|
||||
│ ├── config/ # Configuraciones y parámetros
|
||||
│ │ └── *.gitignore # Plantillas para proyectos
|
||||
│ ├── bootstrap.sh # Instalador básico
|
||||
│ ├── update.sh # Actualizador de entorno
|
||||
│ ├── ollama*.sh # Scripts de Ollama
|
||||
│ ├── claude_voice.py # Asistente de voz para Claude Code
|
||||
│ └── ... # Otros scripts
|
||||
│ ├── bin/ # Scripts ejecutables y herramientas
|
||||
│ │ ├── lib/ # Bibliotecas compartidas
|
||||
│ │ ├── msg/ # Archivos de mensajes multilingües
|
||||
│ │ ├── config/ # Configuraciones y parámetros
|
||||
│ │ │ └── *.gitignore # Plantillas para proyectos
|
||||
│ │ ├── bootstrap.sh # Instalador básico
|
||||
│ │ ├── update.sh # Actualizador de entorno
|
||||
│ │ ├── ollama*.sh # Scripts de Ollama
|
||||
│ │ ├── claude_voice.py # Asistente de voz para Claude Code
|
||||
│ │ └── ... # Otros scripts
|
||||
│ └── data/ # Datos persistentes (no versionados)
|
||||
│ └── rates/ # Tarifas almacenadas para programadores
|
||||
│
|
||||
├── .sounds/ # Archivos de audio para notificaciones
|
||||
├── .ollama/ # Configuración y datos de Ollama (IA)
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
#Company Email : mauro@rosero.one
|
||||
#Personal Email : mauro.rosero@gmail.com
|
||||
#Created : 2025/03/19 11:57:08
|
||||
#Modified : 2025/03/30 16:30:00
|
||||
#Version : 1.3.0
|
||||
#Modified : 2025/04/04 14:00:00
|
||||
#Version : 1.3.1
|
||||
#Use Notes :
|
||||
#==============================================================================
|
||||
# Derechos de Autor [2025] [Mauro Rosero P. <mauro@rosero.one>]
|
||||
|
@ -89,6 +89,7 @@ install() {
|
|||
local OATHTOOL_PACKAGE=oathtool
|
||||
local ZBAR_PACKAGE=zbar
|
||||
local REDIS_CLI_PACKAGE=redis-tools
|
||||
local GUM_PACKAGE=gum
|
||||
|
||||
# Load base bash library
|
||||
BIN_HOME=$BIN_PATH
|
||||
|
@ -230,6 +231,14 @@ install() {
|
|||
echo "Instalando redis-cli..."
|
||||
os_pkgs_install $REDIS_CLI_PACKAGE
|
||||
fi
|
||||
|
||||
# Install gum if not already installed
|
||||
command_installed gum
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Instalando gum..."
|
||||
gum_install
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -465,3 +465,51 @@ function zbar_install() {
|
|||
echo "zbar instalado correctamente."
|
||||
return 0
|
||||
}
|
||||
|
||||
# Install gum package (TUI toolkit)
|
||||
function gum_install() {
|
||||
echo "Instalando gum (toolkit para interfaces TUI)..."
|
||||
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
# En macOS, instalamos a través de Homebrew
|
||||
brew install gum
|
||||
elif [ -f /etc/debian_version ] || [ -f /etc/os-release ]; then
|
||||
# En sistemas Debian y derivados
|
||||
mkdir -p /etc/apt/keyrings
|
||||
curl -fsSL https://repo.charm.sh/apt/gpg.key | gpg --dearmor -o /etc/apt/keyrings/charm.gpg
|
||||
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" > /etc/apt/sources.list.d/charm.list
|
||||
apt update
|
||||
apt install -y gum
|
||||
elif [ -f /etc/redhat-release ]; then
|
||||
# En sistemas Red Hat
|
||||
echo '[charm]
|
||||
name=Charm
|
||||
baseurl=https://repo.charm.sh/yum/
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.charm.sh/yum/gpg.key' | tee /etc/yum.repos.d/charm.repo
|
||||
dnf install -y gum
|
||||
elif [ -f /etc/arch-release ]; then
|
||||
# En Arch Linux, instalamos desde AUR
|
||||
command_installed "yay"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Instalando yay para acceder a AUR..."
|
||||
pacman -Sy --noconfirm git base-devel
|
||||
git clone https://aur.archlinux.org/yay.git /tmp/yay
|
||||
cd /tmp/yay
|
||||
makepkg -si --noconfirm
|
||||
cd - > /dev/null
|
||||
rm -rf /tmp/yay
|
||||
fi
|
||||
yay -S --noconfirm gum
|
||||
elif [ -f /etc/rc.conf ]; then
|
||||
# En FreeBSD
|
||||
pkg install -y gum
|
||||
else
|
||||
echo "${os_nofound}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "gum instalado correctamente."
|
||||
return 0
|
||||
}
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
#Company Email : mauro@rosero.one
|
||||
#Personal Email : mauro.rosero@gmail.com
|
||||
#Created : 2024/12/09 10:27:00
|
||||
#Modified : 2025/03/30 16:30:00
|
||||
#Version : 1.3.0
|
||||
#Modified : 2025/04/04 14:00:00
|
||||
#Version : 1.3.1
|
||||
#Use Notes :
|
||||
#==============================================================================
|
||||
# Derechos de Autor [2025] [Mauro Rosero P. <mauro@rosero.one>]
|
||||
|
@ -288,6 +288,34 @@ update_additional_tools() {
|
|||
fi
|
||||
echo -e "${head_info}: redis-cli actualizado correctamente."
|
||||
fi
|
||||
|
||||
# Actualizar gum si está instalado
|
||||
command_installed gum
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "\n${head_info}: Actualizando gum (Charm TUI toolkit)..."
|
||||
if [ -f /etc/debian_version ] || [ -f /etc/os-release ]; then
|
||||
# Para sistemas basados en Debian
|
||||
apt update
|
||||
apt install --only-upgrade -y gum
|
||||
elif [ -f /etc/redhat-release ]; then
|
||||
# Para sistemas basados en Red Hat
|
||||
dnf upgrade -y gum
|
||||
elif [ -f /etc/arch-release ]; then
|
||||
# Para Arch Linux con yay
|
||||
command_installed yay
|
||||
if [ $? -eq 0 ]; then
|
||||
yay -Syu --noconfirm gum
|
||||
else
|
||||
echo -e "${head_error}: yay no está instalado, no se puede actualizar gum"
|
||||
fi
|
||||
elif [ "$(uname)" == "Darwin" ]; then
|
||||
# Para macOS con Homebrew
|
||||
brew upgrade gum
|
||||
else
|
||||
echo -e "${head_error}: Sistema operativo no soportado para actualizar gum"
|
||||
fi
|
||||
echo -e "${head_info}: gum actualizado correctamente."
|
||||
fi
|
||||
}
|
||||
|
||||
# Actualizar herramientas adicionales con sudo si están instaladas
|
||||
|
|
Loading…
Reference in a new issue