# MRDevs Tools






## 📋 Descripción
**MRDevs Tools** es un conjunto de herramientas diseñado principalmente para el desarrollo en consola, aunque también se adapta a otros entornos. Está fuertemente orientado a **código como servicio**, potenciando el uso de herramientas y metodologías ágiles de **CI/CD** para optimizar el flujo de trabajo de desarrollo. Facilita la creación y gestión de **grupos de trabajo y proyectos**, permitiendo a los desarrolladores organizar su trabajo de manera eficiente y colaborativa en equipos multifuncionales. Utiliza agentes de inteligencia artificial para asistir en la escritura, corrección y refactorización de código, lo que aumenta la productividad y mejora la calidad del software. Además, pone un fuerte énfasis en la **seguridad**, incorporando **firmas GPG** para asegurar la autenticidad e integridad del código y procesos. A través de **SOPS**, facilita la gestión segura de secretos, permitiendo la encriptación y desencriptación de datos sensibles. También habilita conexiones **VPN**, garantizando un acceso seguro a infraestructuras remotas de desarrollo.
## 🚀 Inicio Rápido
### Requisitos Previos
- Git instalado en su sistema
- Permisos de administrador (para algunas operaciones)
- Conexión a Internet
### Instalación
```bash
# Clonar el repositorio
cd $HOME
git clone https://git.rosero.one/mrosero/devs.git
# Instalar herramientas básicas
cd $HOME/devs
bin/bootstrap.sh
# Configurar SOPS para encriptación GPG (obligatorio)
bin/sops_rules.sh
# Actualizar el entorno (opcional)
bin/update.sh
```
> **IMPORTANTE**: La configuración del arcivo de reglas de sops .sops.yaml es un paso obligatorio antes de poder utilizar la plataforma. bin/sops_rules.sh crea el archivo base de configguración sops para el proyecto. Las claves GPG del desarrollador principal debe existir en el repositorio de claves.
### Estructura de Directorios
MRDevs Tools utiliza una estructura organizada que separa el código (en ~/devs) y la configuración (en directorios ocultos):
#### Código y scripts
- `~/devs/bin/`: Scripts ejecutables y herramientas principales
- `lib/`: Bibliotecas compartidas de funciones
- `msg/`: Archivos de mensajes multilingües
- `config/`: Configuración del sistema
#### Configuración y datos
- `~/.sounds/`: Archivos de audio para notificaciones y alertas
- `~/.ollama/`: Configuración, modelos y datos para Ollama AI
- `~/.vosk/`: Modelos para reconocimiento de voz local
- `~/.cortana/`: Configuración y tokens para Claude Code
- `~/.developer/`: Tokens y configuraciones para herramientas de desarrollo
- `~/.cache/devs/`: Caché de descargas y datos temporales
## 🔧 Funcionalidades Principales
### Gestión del Entorno de Desarrollo
| Comando | Descripción |
|---------|-------------|
| `bin/bootstrap.sh` | Instala herramientas básicas (incluyendo oathtool, zbar, redis-cli, gum y glow) y configura la gestión de contenedores |
| `bin/sops_rules.sh` | Configura SOPS con clave GPG para encriptación segura de secretos (paso obligatorio tras la instalación) |
| `bin/update.sh` | Actualiza el entorno de desarrollo y herramientas (incluyendo oathtool, zbar, redis-cli, gum y glow) |
| `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 |
### Herramientas de CLI Modernas
MRDevs Tools integra herramientas modernas de Charm para mejorar la experiencia en la línea de comandos:
| Herramienta | Descripción |
|---------|-------------|
| [Gum](https://github.com/charmbracelet/gum) | Toolkit para interfaces TUI elegantes y funcionales |
| [Glow](https://github.com/charmbracelet/glow) | Renderizador de Markdown para terminal con soporte para temas y paginación |
#### Interfaces de Usuario con Gum
| Comando/Documento | Descripción |
|---------|-------------|
| `docs/forms-gum.md` | Tutorial completo para crear formularios interactivos con Gum |
| `gum style` | Da formato al texto (color, negrita, etc.) |
| `gum input` | Campo de entrada para texto |
| `gum choose` | Menú de selección de opciones |
| `gum confirm` | Diálogo de confirmación (Sí/No) |
### Herramientas de IA y Productividad
| Comando | Descripción |
|---------|-------------|
| `bin/claude_install.sh` | Instala Claude Code CLI |
| `bin/claude_install.sh -u` | Desinstala Claude Code CLI |
| `bin/cortana_token.sh` | Gestiona la encriptación del token de Claude Code vía SOPS |
| `bin/jarvis_token.sh` | Gestiona la encriptación del token de Jarvis vía SOPS |
| `bin/cortana_alias.sh` | Configura alias 'cortana' para Claude Code |
| `bin/cortana_unalias.sh` | Elimina el alias 'cortana' |
| `bin/cortana_enable.sh` | Activa el alias 'cortana' permanentemente |
| `bin/cortana_disable.sh` | Desactiva temporalmente el alias 'cortana' |
| `bin/aider_install.sh` | Instala Aider CLI (asistente de código IA) |
| `bin/aider_install.sh -u` | Desinstala Aider CLI |
| `bin/sora_enable.sh` | Activa el alias 'sora' para Aider permanentemente |
| `bin/sora_disable.sh` | Desactiva el alias 'sora' para Aider |
| `bin/ai_token.sh` | Gestiona tokens de múltiples proveedores de IA vía SOPS |
| `bin/ollama_up.sh` | Inicia el servicio Ollama (IA local) con podman-compose. Crea y configura `~/.ollama/` |
| `bin/ollama_down.sh` | Detiene el servicio Ollama (IA local) |
| `bin/ollama.sh` | Cliente para interactuar con Ollama (auto-inicia el servicio si es necesario) |
| `bin/nodered.sh` | Administra Node-RED con soporte para ejecución, monitoreo y gestión completa del servicio |
### Herramientas para Editores de Código
| Comando | Descripción |
|---------|-------------|
| `bin/helix_install.sh` | Instala Helix Editor con soporte multiplataforma (apt, snap, pacman, etc.) |
| `bin/helix_install.sh -u` | Desinstala Helix Editor del sistema |
| `bin/vscode_install.sh` | Instala Visual Studio Code con detección automática del SO y sus métodos de instalación |
| `bin/vscode_install.sh -u` | Desinstala Visual Studio Code del sistema |
| `bin/zettlr_install.sh` | Instala Zettlr Markdown Editor con detección automática del SO |
| `bin/zettlr_install.sh -u` | Desinstala Zettlr Markdown Editor del sistema |
### Herramientas para Control de Versiones
| Comando | Descripción |
|---------|-------------|
| `bin/backlog.sh ` | Revierte el repositorio o archivos específicos al estado de un commit concreto |
| `bin/ghadmin_install.sh` | Instala GitHub CLI (gh) con soporte multiplataforma |
| `bin/gladmin_install.sh` | Instala GitLab CLI (glab) con múltiples métodos de instalación |
| `bin/fjadmin_install.sh` | Instala Forgejo CLI (berg) para administración de Forgejo/Codeberg |
| `source bin/forgejo_login.sh` | Inicia/cierra sesión en Forgejo usando tokens encriptados con SOPS |
| `source bin/github_login.sh` | Inicia/cierra sesión en GitHub usando tokens encriptados con SOPS |
| `bin/cversion_token.sh` | Gestiona tokens de acceso para plataformas de control de versiones de forma segura |
### Seguridad y Acceso
| Comando | Descripción |
|---------|-------------|
| `bin/sops_rules.sh` | Configura SOPS con clave GPG para encriptación segura de secretos ([documentación](docs/sops_rules.md)) |
| `bin/qr_secret.sh` | Extrae secretos de imágenes QR y los guarda encriptados con [SOPS](docs/sops.md) |
| `bin/vpn_install.sh` | Instala el cliente Pritunl VPN |
| `bin/vpn_install.sh --update` | Actualiza el cliente VPN a la última versión |
| `bin/vpn_users.sh` | Gestiona usuarios de la VPN |
| `bin/vpn_check.sh` | Verifica conexión a VPN y muestra el tipo de VPN activo |
| `bin/gpg_init.sh` | Inicializa configuración GPG para cifrado seguro |
### Gestión de Perfiles
| Comando | Descripción |
|---------|-------------|
| `bin/profile_backup.sh` | Realiza copia de seguridad del perfil del desarrollador (GPG, SSH, Git, y carpeta .developer) |
| `bin/profile_restore.sh ` | Restaura perfil desde copia de seguridad |
### Desarrollo Especializado
| Comando | Descripción |
|---------|-------------|
| `bin/rate_update.py` | Actualiza tarifas por hora de diferentes tipos de programadores |
| `bin/cocomo.py` | Calcula costos de proyecto usando el modelo COCOMO |
## 📚 Guía de Usuario
> **NOTA**: Consulta nuestra documentación detallada en: [SOPS](docs/sops.md), [SOPS Rules](docs/sops_rules.md) y [Gum Forms](docs/forms-gum.md).
### Herramientas de CLI Modernas
MRDevs Tools incluye soporte completo para herramientas modernas de CLI de [Charm](https://charm.sh/):
#### Gum - Interfaces de Texto Elegantes
[Gum](https://github.com/charmbracelet/gum) permite crear interfaces de texto (TUI) elegantes y funcionales:
```bash
# Abrir el tutorial completo sobre Gum
xdg-open ~/devs/docs/forms-gum.md
# Ejemplos rápidos
gum style --border normal --margin "1" --padding "1 2" "Texto con estilo"
gum input --placeholder "Ingresa tu nombre"
gum confirm "¿Deseas continuar?" && echo "Has confirmado" || echo "Has cancelado"
```
El tutorial incluye:
- Ejemplos prácticos de formularios interactivos
- Guía para crear menús de selección
- Técnicas para estilizar texto y crear layouts complejos
- Referencias visuales de cada componente
#### Glow - Renderizador de Markdown
[Glow](https://github.com/charmbracelet/glow) es un renderizador de Markdown para la terminal:
```bash
# Visualizar un archivo Markdown
glow README.md
# Visualizar con tema oscuro
glow -s dark README.md
# Modo paginado para documentos largos
glow -p LICENSE.md
```
Para más detalles, consulta la [documentación completa de estas herramientas](docs/forms-gum.md).
### Preparación del Entorno
El directorio `$HOME/devs` sirve como área principal de desarrollo donde se gestionan diversos ambientes y proyectos. Por razones de seguridad, se prioriza [podman](https://podman.io/) sobre [docker](https://www.docker.com/) como gestor de contenedores.
Para agregar temporalmente los comandos de la plataforma al PATH:
```bash
source ~/devs/bin/devset.sh
```
Este script detecta automáticamente la ubicación correcta del directorio bin y lo agrega al PATH solo para la sesión actual (no es persistente).
Si desea usar Docker en lugar de Podman, debe instalarlo manualmente antes de ejecutar `bootstrap.sh`.
### Gestión Avanzada de Repositorios Git
```bash
# Revertir todo el repositorio a un commit específico
bin/backlog.sh a1b2c3d
# Recuperar solo un archivo específico desde un commit
bin/backlog.sh a1b2c3d --file src/config.js
# Recuperar múltiples archivos usando un patrón
bin/backlog.sh a1b2c3d --files "*.js"
# Ver solo la lista de archivos modificados en un commit
bin/backlog.sh a1b2c3d --list
# Ver la ayuda completa del comando
bin/backlog.sh --help
```
El script `backlog.sh` permite recuperar estados previos del repositorio con varias opciones de seguridad:
- Crea ramas de respaldo automáticamente antes de realizar cambios
- Ofrece guardar cambios no confirmados en stash
- Proporciona confirmaciones interactivas antes de acciones potencialmente destructivas
- Incluye instrucciones para deshacer los cambios si fuera necesario
### Configuración de Herramientas de IA
MRDevs Tools facilita el trabajo con herramientas de IA:
#### Claude Code CLI
```bash
# Instalación
bin/claude_install.sh
# Gestión del token de forma segura
bin/cortana_token.sh
# Crear alias para facilitar su uso (cortana = claude)
bin/cortana_alias.sh
# Habilitar uso del alias permanentemente
bin/cortana_enable.sh
# Deshabilitar temporalmente el alias
bin/cortana_disable.sh
# Eliminar el alias (si es necesario)
bin/cortana_unalias.sh
```
El token se encripta usando SOPS y se almacena de forma segura en `$HOME/.cortana/cortana.sops.yaml`.
##### Control por voz (Experimental)
MRDevs Tools incluye un script experimental para interactuar con Claude Code mediante comandos de voz:
```bash
# Ver instrucciones para instalar dependencias
bin/claude_voice.py --install-deps
# Para sistemas Ubuntu/Debian
sudo apt install python3-pyaudio python3-pip
pip install --user vosk pydub sounddevice wget
# Modo interactivo básico (español por defecto)
bin/claude_voice.py
# Ver idiomas soportados
bin/claude_voice.py --list-languages
# Usar idioma específico (inglés)
bin/claude_voice.py --language en-us
# Modo continuo (escucha hasta que digas "salir")
bin/claude_voice.py --continuous
# Listar dispositivos de audio disponibles
bin/claude_voice.py --list-devices
# Especificar dispositivo de audio por ID
bin/claude_voice.py --device 1
# Ver la versión de Claude Code instalada
bin/claude_voice.py --version
# Modificar tiempo máximo de espera para respuestas (en segundos)
bin/claude_voice.py --timeout 30
# Enviar texto directamente (sin voz)
bin/claude_voice.py --text "Cómo puedo crear un archivo en Python"
```
> **NOTA**: Esta funcionalidad es experimental y requiere un micrófono configurado correctamente. El reconocimiento de voz utiliza Vosk, una solución local que no requiere conexión a Internet. La primera vez que ejecutes el script con un nuevo idioma, descargará automáticamente el modelo de reconocimiento correspondiente. Los archivos de sonido para notificaciones se almacenan en `~/.sounds/`.
#### Aider CLI
```bash
# Instalación
bin/aider_install.sh
# Habilitar alias para facilitar su uso (sora = aider)
bin/sora_enable.sh
# Deshabilitar el alias
bin/sora_disable.sh
# Desinstalar (si es necesario)
bin/aider_install.sh -u
```
Aider es un asistente de código basado en IA que te permite colaborar con modelos de lenguaje de OpenAI directamente desde la terminal. El script de instalación utiliza el instalador oficial de Aider.
#### Gestor de Tokens de IA
```bash
# Gestionar tokens de diferentes proveedores de IA
bin/ai_token.sh
```
El script `ai_token.sh` proporciona una forma centralizada y segura de gestionar tokens de API para múltiples proveedores de IA:
- Muestra un menú interactivo con los proveedores disponibles definidos en `bin/config/ai.tokens`
- Solicita y valida el token de API de forma segura
- Encripta el token usando SOPS y lo almacena en `$HOME/sops/{provider}.sops.yaml`
- Incluye verificaciones de seguridad (longitud del token, caracteres válidos)
- Soporte completo para internacionalización
Proveedores soportados por defecto: Anthropic Claude, OpenAI ChatGPT, Google Gemini, Groq, DeepSeek, HuggingFace, Replicate, OpenRouter, Brave Search, Serper Search, Voyage RAG, Apify y más.
La configuración de proyectos se almacena en `bin/config/projects.dat`, donde se encuentra el nombre de la carpeta de proyectos utilizada por el sistema.
### Instalación de Editores de Código
#### Helix Editor
Helix es un editor de código moderno similar a Vim/Neovim pero con una curva de aprendizaje más amigable:
```bash
# Instalación automatizada
bin/helix_install.sh
```
El script detecta automáticamente tu sistema operativo y utiliza el método de instalación más adecuado:
- En Ubuntu: Instala mediante snap para obtener la versión más reciente
- En Arch Linux: Utiliza pacman
- En Fedora: Instala a través de dnf
- En otros sistemas: Descarga e instala desde el tarball oficial
#### Visual Studio Code
Visual Studio Code es un editor de código potente y extensible con amplio soporte para múltiples lenguajes:
```bash
# Instalación automatizada
bin/vscode_install.sh
# Desinstalación
bin/vscode_install.sh -u
```
El script ofrece una instalación optimizada para cada plataforma:
- En Ubuntu/Debian: Configura el repositorio oficial de Microsoft y utiliza apt
- En Red Hat/Fedora: Configura el repositorio RPM y utiliza dnf
- En Arch Linux: Instala desde AUR o repositorios oficiales
- En macOS: Utiliza Homebrew para la instalación
- En FreeBSD: Instala mediante el gestor de paquetes pkg
#### Zettlr Markdown Editor
Zettlr es un potente editor Markdown centrado en académicos e investigadores, con funcionalidades avanzadas:
```bash
# Instalación automatizada
bin/zettlr_install.sh
# Desinstalación
bin/zettlr_install.sh -u
```
El script proporciona una instalación especializada para cada plataforma:
- En Ubuntu/Debian: Descarga e instala el paquete .deb oficial
- En Red Hat/Fedora: Descarga e instala el paquete .rpm oficial
- En Arch Linux: Instala desde AUR con ayuda de yay
- En macOS: Utiliza Homebrew para instalación
- En FreeBSD: Configuración manual con AppImage (no hay soporte oficial)
Características del instalador:
- Obtiene automáticamente la última versión disponible desde GitHub
- Solicita permisos de administrador cuando son necesarios
- Utiliza interfaz gráfica para confirmación y línea de comandos para instalación
- Limpia archivos de configuración residuales durante la desinstalación
- Proporciona información detallada sobre las características de Zettlr
### Herramientas para Control de Versiones
MRDevs Tools incluye scripts para simplificar la instalación de CLIs para diferentes plataformas Git:
#### GitHub CLI (gh)
```bash
# Instalación automatizada
bin/ghadmin_install.sh
```
El script detecta tu sistema operativo y utiliza el método de instalación más adecuado:
- En Debian/Ubuntu: Añade el repositorio oficial de GitHub y usa apt
- En Red Hat/Fedora: Configura el repositorio rpm y usa dnf
- En Arch Linux: Instala desde los repositorios oficiales
- En macOS: Instala a través de Homebrew
Para aprender a usar GitHub CLI, consulta la [documentación oficial de GitHub CLI](https://cli.github.com/manual/).
#### GitLab CLI (glab)
```bash
# Instalación automatizada
bin/gladmin_install.sh
```
El script prioriza los métodos de instalación en este orden:
1. Paquetes oficiales del sistema si están disponibles
2. Script oficial de instalación de GitLab
3. Gestores de paquetes como snap o Homebrew
4. Binarios precompilados o instalación vía Go
Para aprender a usar GitLab CLI, consulta la [documentación oficial de GitLab CLI](https://gitlab.com/gitlab-org/cli/-/blob/main/docs/index.md).
#### Forgejo CLI (berg)
```bash
# Instalación automatizada
bin/fjadmin_install.sh
```
Este script instala Forgejo CLI (berg), la herramienta de línea de comandos para administrar instancias de Forgejo/Codeberg:
- Verifica e instala las dependencias necesarias (como Rust y Cargo si no están presentes)
- Instala berg de manera optimizada para tu sistema
- Configura el entorno correctamente para usar berg
- Incluye instrucciones posteriores a la instalación
Para aprender a usar Forgejo CLI, consulta la [documentación oficial de Forgejo/Codeberg CLI](https://codeberg.org/RobWalt/berg).
#### Gestión de tokens para control de versiones
```bash
# Gestión segura de tokens de acceso
bin/cversion_token.sh
```
Este script proporciona una interfaz para gestionar tokens de acceso para diferentes plataformas:
- Permite seleccionar entre Github, Gitlab y Forgejo
- Solicita y valida el token de forma segura
- Encripta el token con SOPS y lo almacena en ~/.developer
- Incluye verificación de formato y seguridad de tokens
- Gestiona automáticamente permisos para archivos de tokens
#### Autenticación con Forgejo y GitHub usando token encriptado
```bash
# Iniciar sesión en Forgejo usando el token encriptado
source bin/forgejo_login.sh
# Cerrar sesión de Forgejo
source bin/forgejo_login.sh --logout
# Iniciar sesión en GitHub usando el token encriptado
source bin/github_login.sh
# Cerrar sesión de GitHub
source bin/github_login.sh --logout
```
El script de Forgejo facilita la autenticación con Forgejo/Codeberg CLI (berg):
- Utiliza el token almacenado y encriptado por cversion_token.sh
- Desencripta automáticamente el token usando SOPS
- Detecta la URL de Forgejo basándose en la configuración de git
- Configura la variable BERG_BASE_URL con la URL detectada
- Proporciona opciones para login (por defecto) y logout
El script de GitHub facilita la autenticación con GitHub CLI (gh):
- Utiliza el token almacenado y encriptado por cversion_token.sh
- Desencripta automáticamente el token usando SOPS
- Proporciona opciones para login (por defecto) y logout
### Copias de Seguridad
Para respaldar configuraciones importantes:
```bash
bin/profile_backup.sh
```
Esto crea un archivo ZIP en `$HOME/secure/backups` que incluye:
- Configuración GPG completa
- Claves SSH y configuración
- Configuración Git
- Carpeta .developer (para configuraciones de servidores Git)
La carpeta puede contener múltiples archivos de respaldo con un archivo `gpg.secret` que contiene la contraseña encriptada. La pérdida de este archivo imposibilitará la restauración.
Para restaurar:
```bash
bin/profile_restore.sh
```
### Creación de Proyectos Estandarizados
MRDevs Tools proporciona una forma estandarizada de crear nuevos proyectos con `project_new.sh`:
```bash
# Crear un nuevo proyecto
bin/project_new.sh
```
El script `project_new.sh` crea proyectos con una estructura completa según el tipo seleccionado:
- Solicita nombre, tipo, licencia y descripción del proyecto
- Crea una estructura organizada de carpetas según el tipo de proyecto
- Inicializa un repositorio Git con archivo .gitignore específico
- Configura archivos README.md y documentación básica
- Permite seleccionar el tipo de servidor Git (GitHub, GitLab, Gitea, Forgejo, None)
- Genera un commit inicial automático
Tipos de proyectos soportados:
- Python, Node.js, PHP, Rust, C, C++, C#
- Odoo, Ansible, ESP32/Arduino
- COBOL y otros tipos personalizados
Cada tipo de proyecto incluye:
- Estructura de directorios optimizada
- Archivos de configuración específicos
- Archivos .gitignore personalizados
- Documentación inicial básica
### Gestión de Tarifas y Costos
MRDevs Tools incluye utilidades para la gestión de tarifas y estimación de costos:
#### Actualización de Tarifas
El script `rate_update.py` permite mantener actualizadas las tarifas por hora de diferentes tipos de programadores:
```bash
# Actualizar tarifas faltantes
bin/rate_update.py
# Listar todas las tarifas disponibles
bin/rate_update.py --list
# Actualizar la tarifa de un tipo específico de programador
bin/rate_update.py --type python
# Actualizar todas las tarifas, incluso las existentes
bin/rate_update.py --init
```
Las tarifas se almacenan en archivos individuales dentro de `data/rates/` (directorio sin tracking en git) y pueden ser utilizadas por otras herramientas.
#### Estimación de Costos con COCOMO
El script `cocomo.py` implementa el modelo COCOMO para estimar costos de proyectos de software basados en las líneas de código:
```bash
# Calcular costo de un proyecto
bin/cocomo.py --project /ruta/al/proyecto
# Usar un tipo específico de programador para los costos
bin/cocomo.py --project /ruta/al/proyecto --type devops
# Especificar un modelo COCOMO específico
bin/cocomo.py --project /ruta/al/proyecto --model embedded
# Ignorar patrones adicionales de archivos
bin/cocomo.py --project /ruta/al/proyecto --ignore "*.generated.js" --ignore "vendor/**"
```
El script analizará el código fuente, contará las líneas efectivas, y calculará estimaciones de esfuerzo, tiempo y costos utilizando las tarifas por hora configuradas.
## 🔐 Seguridad y Privacidad
MRDevs Tools está diseñado con la seguridad y privacidad en mente:
- **Almacenamiento seguro**: Todos los tokens y credenciales se almacenan encriptados usando [SOPS](docs/sops.md) con PGP
- **Configuración GPG obligatoria**: El script [`sops_rules.sh`](docs/sops_rules.md) configura la clave maestra para encriptación de secretos
- **Directorios ocultos**: La configuración sensible se almacena en directorios ocultos (con prefijo `.`)
- **Sin telemetría**: Las herramientas no recopilan ni envían datos de uso
- **Podman como predeterminado**: Se usa Podman (sin privilegios) para mayor seguridad en contenedores
- **Ejecución local**: Las funcionalidades como reconocimiento de voz funcionan localmente sin enviar datos
## 🔌 Arquitectura del Sistema
### Estructura de Directorios
```
$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
│ └── data/ # Datos persistentes (no versionados)
│ └── rates/ # Tarifas almacenadas para programadores
│
├── .sounds/ # Archivos de audio para notificaciones
├── .ollama/ # Configuración y datos de Ollama (IA)
│ ├── models/ # Modelos descargados
│ └── podman-compose.yml # Configuración del contenedor
│
├── .vosk/ # Modelos para reconocimiento de voz
│ └── models/ # Modelos de voz por idioma
│
├── .cortana/ # Configuración de Claude Code
│ └── cortana.sops.yaml # Token encriptado
│
└── .developer/ # Tokens y configuraciones de desarrollo
├── github.sops.yaml # Token de GitHub encriptado
└── forgejo.sops.yaml # Token de Forgejo encriptado
└── .sops.yaml # Configuración de SOPS para PGP
```
### Componentes Principales
- **Bibliotecas Base**: Conjunto de funciones reutilizables (`base.lib`, `bootstrap.lib`, `developers.lib`, `console.lib`, etc.)
- **Sistema de Mensajes**: Soporte multilingüe para internacionalización con prefijos específicos por herramienta
- **Gestión de Configuración**: Archivos de configuración centralizados, plantillas .gitignore por tipo de proyecto, configuración SOPS para cifrado GPG
- **Herramientas de Automatización**: Scripts y playbooks de Ansible
- **Gestión de Servicios**: Administración de servicios locales como Node-RED, Ollama y más
- **Creación de Proyectos**: Sistema estandarizado de plantillas para diversos tipos de proyectos
- **Backup y Seguridad**: Herramientas para respaldar configuraciones de desarrollador
- **Integración con IA**: Múltiples herramientas para trabajar con proveedores de IA, tokens y modelos locales
## 💻 Compatibilidad
El proyecto está diseñado para funcionar en múltiples sistemas operativos:
- Ubuntu/Debian (apt)
- Red Hat/Fedora (dnf/yum)
- Arch Linux (pacman)
- BSD (pkg)
- macOS (brew)
## 🤝 Contribución
Para contribuir al proyecto:
1. Asegúrese de seguir las convenciones de codificación
2. Use los mensajes de commit con prefijos estándar:
- `[ADDED]` - Nueva funcionalidad añadida
- `[IMPROVED]` - Mejora en funcionalidad existente
- `[FIXED]` - Corrección de errores
- `[SOPS]` - Cambios relacionados con encriptación/secretos
- `[DOCS]` - Actualización de documentación
- `[INIT]` - Inicialización de proyecto o componente
- `[REFACTORED]` - Reestructuración de código sin cambios funcionales
- `[MODIFIED]` - Cambios menores o ajustes
3. Para scripts bash, use la plantilla de encabezado que está en `bin/config/bash.header`:
```bash
#!/bin/bash
#Script : [Bash Script Name]
#Apps : MRDEVS TOOLS
#Description : [Bash Script Description]
#Author : [Bash Script Author]
#Company Email : [Company Email Author's]
#Personal Email : [Personal Email Author's]
#Created : [Created Date/Time]
#Modified : [Modified Date/Time]
#Version : [Apps Version]
#Use Notes :
```
## 📄 Licencia
Este proyecto está licenciado bajo la [GNU Affero General Public License v3.0](LICENSE.md) (AGPL-3.0).
La licencia AGPL-3.0 garantiza que:
- Puedes usar, modificar y distribuir este software libremente
- Si modificas el software y lo distribuyes o lo ofreces como un servicio de red, debes publicar el código fuente completo
- Cualquier software derivado debe mantener la misma licencia AGPL-3.0
- Se preservan los derechos de autor originales
El texto completo de la licencia está disponible en el archivo [LICENSE.md](LICENSE.md) del repositorio.
## 👥 Colaboradores
- **Mauro Rosero P.** - Desarrollador Principal - [mauro@rosero.one](mailto:mauro@rosero.one)
- **Claude Code** - Asistente Digital - [claude@anthropic.com](mailto:claude@anthropic.com)
- **Cortana Rosero One** - Asistente Digital - [cortana@rosero.one](mailto:cortana@rosero.one)
- **Sora Rosero One** - Asistente Digital - [sora@rosero.one](mailto:sora@rosero.one)
## 📞 Soporte
Para dudas o problemas, contacte con:
- Email: mauro@rosero.one
- Web: https://mauro.rosero.one
---
**MRDevs Tools** - Simplificando el entorno de desarrollo © 2025 Mauro Rosero P.