# 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
Para comenzar a utilizar MRDevs Tools, consulte la [Guía de Uso Completa](docs/uso.md) que incluye instrucciones detalladas de instalación, comandos disponibles y ejemplos de uso.
### Requisitos Previos
- Git instalado en su sistema
- Permisos de administrador (para algunas operaciones)
- Conexión a Internet
### Instalación Básica
```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
```
> **IMPORTANTE**: La configuración del archivo de reglas de sops .sops.yaml es un paso obligatorio antes de poder utilizar la plataforma. Para más detalles, consulte la [documentación de SOPS Rules](docs/sops_rules.md).
## 📚 Documentación
MRDevs Tools cuenta con documentación detallada para todas sus funcionalidades:
- [Guía de Uso](docs/uso.md): Manual completo de instalación y uso de todas las herramientas
- [SOPS](docs/sops.md): Guía para la gestión segura de secretos
- [SOPS Rules](docs/sops_rules.md): Configuración de reglas para encriptación
- [Gum](docs/gum.md): Tutorial para interfaces TUI interactivas
- [Glow](docs/glow.md): Guía de uso del renderizador de Markdown
- [Cortana](docs/cortana.md): Manual completo del asistente de desarrollo basado en IA
## 🔐 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.