🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
264 lines
No EOL
8.4 KiB
Markdown
264 lines
No EOL
8.4 KiB
Markdown
# MRDevs Tools
|
|
|
|
<p align="center">
|
|
<img src="https://img.shields.io/badge/License-AGPL--3.0-blue.svg" alt="License: AGPL-3.0">
|
|
<img src="https://img.shields.io/badge/version-1.0.0-green.svg" alt="Version: 1.0.0">
|
|
</p>
|
|
|
|
## 📋 Descripción
|
|
|
|
MRDevs Tools es un conjunto integral de herramientas para entornos de desarrollo que facilita la instalación, configuración y gestión de aplicaciones y servicios en múltiples sistemas operativos. Diseñado para aumentar la productividad de los desarrolladores, este toolkit automatiza tareas repetitivas y estandariza entornos 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
|
|
|
|
# Actualizar el entorno (opcional)
|
|
bin/update.sh
|
|
```
|
|
|
|
## 🔧 Funcionalidades Principales
|
|
|
|
### Gestión del Entorno de Desarrollo
|
|
|
|
| Comando | Descripción |
|
|
|---------|-------------|
|
|
| `bin/bootstrap.sh` | Instala herramientas básicas y configura la gestión de contenedores |
|
|
| `bin/update.sh` | Actualiza el entorno de desarrollo con las últimas funcionalidades |
|
|
| `bin/npm_install.sh` | Instala NodeJS y npm de forma interactiva |
|
|
|
|
### Herramientas de IA y Productividad
|
|
|
|
| Comando | Descripción |
|
|
|---------|-------------|
|
|
| `bin/cortana_install.sh` | Instala Claude Code CLI (Cortana) |
|
|
| `bin/cortana_install.sh -u` | Desinstala Claude Code CLI |
|
|
| `bin/cortana_token.sh` | Gestiona la encriptación del token de Cortana vía SOPS |
|
|
| `bin/cortana_alias.sh` | Configura alias de línea de comandos para Cortana |
|
|
| `bin/cortana_enable.sh` | Activa el uso de Cortana |
|
|
| `bin/cortana_disable.sh` | Desactiva temporalmente Cortana |
|
|
|
|
### Herramientas para Editores de Código
|
|
|
|
| Comando | Descripción |
|
|
|---------|-------------|
|
|
| `bin/helix_install.sh` | Instala Helix Editor con soporte multiplataforma (apt, snap, pacman, etc.) |
|
|
|
|
### Seguridad y Acceso
|
|
|
|
| Comando | Descripción |
|
|
|---------|-------------|
|
|
| `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/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 |
|
|
| `bin/profile_restore.sh <archivo>` | Restaura perfil desde copia de seguridad |
|
|
|
|
### Desarrollo Especializado
|
|
|
|
| Comando | Descripción |
|
|
|---------|-------------|
|
|
| `bin/odoo_set.sh` | Crea un nuevo proyecto Odoo con estructura completa |
|
|
| `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
|
|
|
|
### 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.
|
|
|
|
Si desea usar Docker en lugar de Podman, debe instalarlo manualmente antes de ejecutar `bootstrap.sh`.
|
|
|
|
### Configuración de Claude Code (Cortana)
|
|
|
|
MRDevs Tools facilita el trabajo con herramientas de IA como Claude Code CLI:
|
|
|
|
```bash
|
|
# Instalación
|
|
bin/cortana_install.sh
|
|
|
|
# Gestión del token de forma segura
|
|
bin/cortana_token.sh
|
|
|
|
# Crear alias para facilitar su uso
|
|
bin/cortana_alias.sh
|
|
|
|
# Habilitar uso de Cortana
|
|
bin/cortana_enable.sh
|
|
|
|
# Deshabilitar temporalmente Cortana
|
|
bin/cortana_disable.sh
|
|
```
|
|
|
|
El token se encripta usando SOPS y se almacena de forma segura en `$HOME/.cortana/cortana.sops.yaml`.
|
|
|
|
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 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
|
|
|
|
### Copias de Seguridad
|
|
|
|
Para respaldar configuraciones importantes:
|
|
|
|
```bash
|
|
bin/profile_backup.sh
|
|
```
|
|
|
|
Esto crea un archivo ZIP en `$HOME/secure/backups`. 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 <archivo-zip-backup>
|
|
```
|
|
|
|
### Desarrollo con Odoo
|
|
|
|
MRDevs Tools facilita el desarrollo de proyectos Odoo con el script especializado:
|
|
|
|
```bash
|
|
# Crear un nuevo proyecto Odoo
|
|
bin/odoo_set.sh
|
|
```
|
|
|
|
El script `odoo_set.sh` crea automáticamente una estructura completa para un proyecto Odoo:
|
|
- Estructura de carpetas (addons, build, settings, data, scripts, etc.)
|
|
- Archivos de configuración iniciales (Dockerfile, docker-compose.yml)
|
|
- Scripts de utilidad para el desarrollo
|
|
- Marca el proyecto con el archivo `.typset` para identificarlo como proyecto Odoo
|
|
|
|
Para iniciar el entorno Odoo después de la creación:
|
|
```bash
|
|
cd [ruta-al-proyecto]
|
|
./scripts/start.sh
|
|
```
|
|
|
|
### 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 `bin/config/rates/` 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.
|
|
|
|
## 🔌 Arquitectura del Sistema
|
|
|
|
### Estructura de Directorios
|
|
|
|
```
|
|
bin/
|
|
├── lib/ # Bibliotecas compartidas
|
|
├── msg/ # Archivos de mensajes multilingües
|
|
├── config/ # Configuraciones y parámetros
|
|
└── ansible/ # Recursos para automatización
|
|
```
|
|
|
|
### Componentes Principales
|
|
|
|
- **Bibliotecas Base**: Conjunto de funciones reutilizables (`base.lib`, `bootstrap.lib`, etc.)
|
|
- **Sistema de Mensajes**: Soporte multilingüe para internacionalización
|
|
- **Gestión de Configuración**: Archivos de configuración centralizados
|
|
- **Herramientas de Automatización**: Scripts y playbooks de Ansible
|
|
|
|
## 💻 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], [IMPROVED], [FIXED], [SOPS]
|
|
3. Documente cualquier nueva funcionalidad añadida
|
|
|
|
## 📄 Licencia
|
|
|
|
Este proyecto está licenciado bajo la Licencia Pública General Affero (AGPL) - vea el archivo LICENSE para más detalles.
|
|
|
|
## 📞 Soporte
|
|
|
|
Para dudas o problemas, contacte con:
|
|
- Email: mauro@rosero.one
|
|
- Web: https://rosero.one
|
|
|
|
---
|
|
|
|
**MRDevs Tools** - Simplificando el entorno de desarrollo © 2025 Mauro Rosero P. |