# MRDevs Tools
![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-blue.svg) ![Version: 1.3.1](https://img.shields.io/badge/version-1.3.1-green.svg) ![Shell: 80%](https://img.shields.io/badge/Shell-80%25-yellow.svg) ![Python: 5%](https://img.shields.io/badge/Python-5%25-blue.svg) ![Bash Lib: 13%](https://img.shields.io/badge/Bash_Lib-13%25-orange.svg) ![Config: 2%](https://img.shields.io/badge/Config-2%25-lightgrey.svg)
## 📋 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 - [Sora](docs/sora.md): Guía del asistente basado en IA colaborativo para programación ## 🔐 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 ## 🤖 Asistentes de IA para el Desarrollo MRDevs Tools integra potentes asistentes de IA que transforman el proceso de desarrollo: ### Cortana y Sora: Desarrollo Potenciado por IA Nuestros asistentes de IA están diseñados para acelerar y mejorar el ciclo de desarrollo: - **[Cortana](docs/cortana.md)** - Asistente general basado en Claude: - **Generación de Código**: Crea funciones, clases y módulos completos con instrucciones en lenguaje natural - **Documentación Automática**: Genera documentación técnica, comentarios de código y README - **Resolución de Problemas**: Analiza errores y propone soluciones precisas - **Refactorización Inteligente**: Mejora código existente manteniendo su funcionalidad - **Control por Voz**: Interactúa mediante comandos hablados con reconocimiento local - **[Sora](docs/sora.md)** - Asistente colaborativo para programación: - **Pair Programming**: Trabaja directamente con tus repositorios Git - **Edición Colaborativa**: Modifica archivos existentes aplicando cambios automáticamente - **Integración con Git**: Crea commits, ramas y gestiona cambios con instrucciones naturales - **Desarrollo Multidocumento**: Comprende y modifica sistemas completos de múltiples archivos - **Seguimiento de Contexto**: Mantiene el estado de la conversación para desarrollos complejos ### Casos de Uso Principales ```bash # Cortana: Generación de código basada en especificaciones cortana "Crea una API REST en Express.js para gestionar una biblioteca con préstamos" # Sora: Modificación de código existente en repositorio sora src/*.js > Añade validación de datos a todos los formularios y manejo de errores ``` Para una documentación completa de ambos asistentes, consulta: - [Manual completo de Cortana](docs/cortana.md) - [Manual completo de Sora](docs/sora.md) ## 🔌 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.