[IMPROVED] Reescribir README.md con documentación estructurada y completa

- Añadir tablas de comandos organizadas por categoría
- Incorporar sección de inicio rápido
- Incluir instrucciones detalladas para cada funcionalidad
- Mejorar estructura con secciones claras para usuario y desarrollador
- Agregar badges e iconos para mejor visualización

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Mauro Rosero P. 2025-03-11 07:59:15 -05:00
parent c62a89223d
commit 6891a5734a
Signed by: mrosero
GPG key ID: 83BD2A5F674B7E26

178
README.md
View file

@ -1,96 +1,168 @@
# AMBIENTE LOCAL PARA DESARROLLADORES (MRDEVS TOOLS)
## GUÍA PARA DESARROLLADORES - REV. 17/12/2024
# MRDevs Tools
### PREPARACIÓN DE AMBIENTE LOCAL PARA DESARROLLADORES
<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>
#### Creación del área local de trabajo para desarrolladores
## 📋 Descripción
En la carpeta $HOME descargue el repositorio devs (la carpeta no debe existir):
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.
$ cd $HOME
$ git clone https://git.rosero.one/mrosero/devs.git
## 🚀 Inicio Rápido
**Nota:** Previamente, debe tener instalado el comando git.
### Requisitos Previos
#### Instalación de herramientas básicas y de gestión de contenedores
- Git instalado en su sistema
- Permisos de administrador (para algunas operaciones)
- Conexión a Internet
A partir de este momento, la carpeta <u>**$HOME/devs**</u> será nuestra área de desarrollo; donde se descargaran los diversos ambientes de desarrollo y proyectos gestionados. Como primer paso instalaremos las herramientas básicas y de gestión de contenedores. Por razones de seguridad, priorizamos el uso de [podman](https://podman.io/) sobre [docker](https://www.docker.com/) como gestor de contendores.
### Instalación
Sí deseas usar [docker](https://www.docker.com/) en vez de [podman](https://podman.io/) deberás instalar [docker](https://www.docker.com/) manualmente antes de ejecutar esto:
```bash
# Clonar el repositorio
cd $HOME
git clone https://git.rosero.one/mrosero/devs.git
$ cd $HOME/devs
$ bin/bootstrap.sh
# Instalar herramientas básicas
cd $HOME/devs
bin/bootstrap.sh
#### Actualización de ambiente local de desarrollo
# Actualizar el entorno (opcional)
bin/update.sh
```
Actualice los nuevos cambios y funcionalidades del ambiente de desarrollo local raíz
## 🔧 Funcionalidades Principales
$ cd $HOME/devs
$ bin/update.sh
### Gestión del Entorno de Desarrollo
### ACCESO VPN A INFRAESTRUCTURA MRDEVS PARA DESARROLLADORES
| 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 |
#### Instalación de Cliente Pritunl VPN con ambiente GUI (gráfico)
### Herramientas de IA y Productividad
Para tener acceso a todos los recursos y servidores de desarrollo se requiere acceder vía VPN a nuestra infraestructura de desarrollo. Para esto, requieres tener una cuenta de desarrollador con nosotros y posteriormente instalar el [Cliente PRITUNL](https://client.pritunl.com/) como sigue:
| 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 |
$ cd $HOME/devs
$ bin/vpn_install.sh [--help] [--version] [--update]
### Seguridad y Acceso
Nota: En determinadas versiones, las actualizaciones a partir de los repositorios no es posible por lo que usamos el argumento --update. Si no eres desarrollador nuestro, puedes obviar este paso y los siguientes relacionados a acceso VPN.
| 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 |
#### Instalación de Cliente OpenVPN con ambiente TUI (texto)
### Gestión de Perfiles
(pendiente)
| 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 |
#### Obtener archivo de configuración para acceso VPN
### Desarrollo Especializado
(pendiente)
| Comando | Descripción |
|---------|-------------|
| `bin/odoodevs_set.sh` | Prepara entorno para desarrollo de proyectos Odoo |
### GESTIONANDO PERIFL DEL DESARROLLADOR
## 📚 Guía de Usuario
#### Inicialización de carpeta de accesos SSH para desarrolladores
### Preparación del Entorno
(pendiente)
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.
#### Configuración por defecto de comportamineto GPG
Si desea usar Docker en lugar de Podman, debe instalarlo manualmente antes de ejecutar `bootstrap.sh`.
En la carpeta **$HOME/devs/bin/config** existe un archivo de configuración **gpg.config** que contiene los parámetros de comportamiento por defecto para **[GNUGP](https://gnupg.org/)** que son los recomendados para el uso de la plataforma. Si tienes alguno en uso, está función le sacará previamente una copia y aplicará el de la plataforma siguiendo los siguientes pasos:
### Configuración de Claude Code (Cortana)
$ cd $HOME/devs
$ bin/gpg_init.sh
MRDevs Tools facilita el trabajo con herramientas de IA como Claude Code CLI:
#### Copia de seguridad básica del perfil del desarrollador
```bash
# Instalación
bin/cortana_install.sh
Para realizar una copia de seguridad de sus configuraciones de desarrollador que involucran claves GPG, claves SSH, configuración GIT y otros, ejecute los siguientes comandos:
# Gestión del token de forma segura
bin/cortana_token.sh
$ cd $HOME/devs
$ bin/profile_backup.sh
# Crear alias para facilitar su uso
bin/cortana_alias.sh
```
Nota: Solo utilice está función si realiza cambios a su configuración GIT, GPG o SSH. Esto creará un archivo zip en la carpeta $HOME/secure/backups (por defecto). En la carpeta de backups podrán existir múltiples archivo zip (uno por cada vez que se realizó un backup) y deberá un archivo gpg.secret que contedrá la contraseña encriptada para restaurar el backup. Si pierde o elimina el archivo de secretos la restauración no podrá ser realizada. El archivo de secretos solo será creado si no existe. Su contenido no debe ser modificado. Procuré no tener archivos ZIP que no correspondan a la contraseña vigente; ya que estos no podrán ser restaurados.
El token se encripta usando SOPS y se almacena de forma segura en `$HOME/.cortana/cortana.sops.yaml`.
#### Restaurando configuraciones del perfil del desarrollador
### Copias de Seguridad
Para poder restaurar el perfil de desarrollador de una copia de seguridad realice las siguientes operaciones:
Para respaldar configuraciones importantes:
$ cd $HOME/devs
$ bin/profile_restore.sh <backup zipfile> [--help] [--version]
```bash
bin/profile_backup.sh
```
Donde **<backup zipzile>** debe ser la ruta al archivo de copia de seguridad del perfil de desarrollador que se desea restaurar. Esto es útil cuando el desarrollador tiene diferentes dispositivos de trabajo.
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.
#### Enviando secure a repositorio central
Para restaurar:
(pendiente)
```bash
bin/profile_restore.sh <archivo-zip-backup>
```
#### Obtebiendo secure desde repositorio central
## 🔌 Arquitectura del Sistema
(pendiente)
### Estructura de Directorios
### AMBIENTE DE DESARROLLO ODOO
```
bin/
├── lib/ # Bibliotecas compartidas
├── msg/ # Archivos de mensajes multilingües
├── config/ # Configuraciones y parámetros
└── ansible/ # Recursos para automatización
```
#### Preparación de ambiente local de desarrollo Odoo
### Componentes Principales
Instale el área de trabajo para desarrollo de proyectos Odoo
- **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
$ cd $HOME/devs
$ bin/odoodevs_set.sh
## 💻 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.