diff --git a/bin/msg/head.es b/bin/msg/head.es index f9d2ad9..7b04fcc 100644 --- a/bin/msg/head.es +++ b/bin/msg/head.es @@ -55,6 +55,8 @@ proj_008="Seleccione el tipo de proyecto" proj_009="Este tipo determinará la estructura inicial del proyecto" proj_010="El tipo de proyecto seleccionado no es válido" proj_011="Proyecto creado exitosamente en:" +proj_012="Ingrese una descripción del proyecto" +proj_013="Breve descripción del propósito y alcance del proyecto (máximo 3 líneas)" vldt_001="no puede estar en blanco..." vldt_002="Contraseña incorrecta! Intente nuevamente." diff --git a/bin/project_create.sh b/bin/project_create.sh index 3b6dbbe..236af14 100755 --- a/bin/project_create.sh +++ b/bin/project_create.sh @@ -35,6 +35,7 @@ title="${head_000} ${head_002}" apps_title="${proj_001}" PROJECT_FOLDER="" PROJECT_TYPE="" +PROJECT_DESCRIPTION="" VALID_TYPES=("ansible" "odoo" "sp32home" "nodejs" "python" "cobol" "otros") # Verifica que dialog esté instalado @@ -135,6 +136,23 @@ function request_project_type() { fi } +# Función para solicitar la descripción del proyecto +function request_project_description() { + dialog_input_box "${proj_012}" "${proj_013}" "" + + if [ $codex -ne 0 ]; then + echo "${head_canceled}" + exit 1 + fi + + PROJECT_DESCRIPTION="$value" + + # Usar una descripción por defecto si está vacía + if [ -z "$PROJECT_DESCRIPTION" ]; then + PROJECT_DESCRIPTION="Proyecto de tipo $PROJECT_TYPE creado con MRDevs Tools." + fi +} + # Función para crear la estructura del proyecto function create_project_structure() { # Crear la carpeta del proyecto @@ -144,22 +162,203 @@ function create_project_structure() { mkdir -p "$PROJECT_PATH/docs" mkdir -p "$PROJECT_PATH/src" - # Crear archivo README.md básico - cat > "$PROJECT_PATH/README.md" << EOF -# Proyecto $PROJECT_NAME + # Crear archivo setup.md básico + cat > "$PROJECT_PATH/docs/setup.md" << EOF +# Configuración del Entorno de Desarrollo -## Descripción -Proyecto de tipo $PROJECT_TYPE creado con MRDevs Tools. +Este documento describe los pasos necesarios para configurar el entorno de desarrollo para el proyecto $PROJECT_NAME. -## Estructura -- docs/ - Documentación del proyecto -- src/ - Código fuente +## Requisitos Previos + +- [Requisito 1] +- [Requisito 2] +- [Requisito 3] + +## Instalación + +1. Clone el repositorio: + \`\`\`bash + git clone [URL-del-repositorio] + cd $PROJECT_NAME + \`\`\` + +2. Configure el entorno según el tipo de proyecto ($PROJECT_TYPE). + +3. [Pasos adicionales específicos del proyecto] ## Configuración -Para configurar el entorno de desarrollo, siga las instrucciones en docs/setup.md. -## Licencia -Este proyecto está licenciado bajo AGPL-3.0. +[Instrucciones de configuración específicas] + +## Pruebas + +[Instrucciones para ejecutar pruebas] + +## Solución de Problemas + +[Problemas comunes y soluciones] + +--- + +> Nota: Este es un documento de configuración inicial que debe ser completado con la información específica del proyecto. +EOF + + # Obtener fecha actual + CURRENT_DATE=$(date +%Y-%m-%d) + + # Crear archivo README.md mejorado + cat > "$PROJECT_PATH/README.md" << EOF +# $PROJECT_NAME + +![License](https://img.shields.io/badge/License-AGPL--3.0-blue.svg) +![Status](https://img.shields.io/badge/Status-En%20Desarrollo-yellow) + +## 📋 Descripción + +$PROJECT_DESCRIPTION + +## 🔧 Tecnologías + +\`\`\` +Tipo de Proyecto: $PROJECT_TYPE +Fecha de Creación: $CURRENT_DATE +\`\`\` + +## 📁 Estructura + +\`\`\` +$PROJECT_NAME/ +├── docs/ # Documentación del proyecto +├── src/ # Código fuente +EOF + + # Añadir estructura específica según el tipo de proyecto + case "$PROJECT_TYPE" in + "ansible") + cat >> "$PROJECT_PATH/README.md" << EOF +├── inventories/ # Inventarios de Ansible +├── roles/ # Roles de Ansible +└── playbooks/ # Playbooks de Ansible +\`\`\` + +## 🚀 Uso + +1. Actualice el inventario en \`inventories/\` +2. Configure los roles necesarios en \`roles/\` +3. Ejecute los playbooks mediante \`ansible-playbook playbooks/nombre-playbook.yml\` +EOF + ;; + "odoo") + cat >> "$PROJECT_PATH/README.md" << EOF +├── addons/ # Módulos personalizados de Odoo +├── data/ # Archivos de datos +├── scripts/ # Scripts de utilidad +└── build/ # Configuración de construcción +\`\`\` + +## 🚀 Uso + +1. Configure el entorno en la carpeta \`build/\` +2. Ejecute \`scripts/start.sh\` para iniciar el entorno Odoo +3. Acceda a la aplicación en http://localhost:8069 +EOF + ;; + "sp32home") + cat >> "$PROJECT_PATH/README.md" << EOF +├── hardware/ # Diseños y esquemas de hardware +├── firmware/ # Código firmware ESP32 +├── libraries/ # Bibliotecas personalizadas +└── build/ # Archivos de construcción +\`\`\` + +## 🚀 Uso + +1. Revise los esquemas en \`hardware/\` +2. Compile el firmware usando PlatformIO o Arduino IDE +3. Cargue el firmware en su dispositivo ESP32 +EOF + ;; + "nodejs") + cat >> "$PROJECT_PATH/README.md" << EOF +├── src/ +│ ├── controllers/ # Controladores de la aplicación +│ ├── models/ # Modelos de datos +│ └── routes/ # Definición de rutas +├── public/ # Archivos estáticos +└── tests/ # Pruebas unitarias y de integración +\`\`\` + +## 🚀 Uso + +1. Instale las dependencias: \`npm install\` +2. Configure las variables de entorno en \`.env\` +3. Ejecute la aplicación: \`npm start\` +EOF + ;; + "python") + cat >> "$PROJECT_PATH/README.md" << EOF +├── src/ +│ └── $PROJECT_NAME/ # Código fuente del paquete +└── tests/ # Pruebas unitarias +\`\`\` + +## 🚀 Uso + +1. Cree un entorno virtual: \`python -m venv .venv\` +2. Active el entorno virtual: \`source .venv/bin/activate\` +3. Instale las dependencias: \`pip install -r requirements.txt\` +4. Instale el paquete en modo desarrollo: \`pip install -e .\` +EOF + ;; + "cobol") + cat >> "$PROJECT_PATH/README.md" << EOF +├── src/ +│ ├── main/ # Programas principales +│ └── copy/ # Libros de copybook +└── build/ # Archivos de compilación +\`\`\` + +## 🚀 Uso + +1. Configure el entorno COBOL según su implementación (GnuCOBOL, MicroFocus, etc.) +2. Compile los programas usando la configuración en \`build/\` +3. Ejecute los programas compilados +EOF + ;; + "otros") + cat >> "$PROJECT_PATH/README.md" << EOF +\`\`\` + +## 🚀 Uso + +Consulte la documentación específica en la carpeta \`docs/\` para instrucciones de configuración y uso. +EOF + ;; + esac + + # Añadir secciones comunes al final + cat >> "$PROJECT_PATH/README.md" << EOF + +## 🔍 Prerrequisitos + +> Por definir según las necesidades específicas del proyecto + +## ⚙️ Configuración + +Para configurar el entorno de desarrollo, siga las instrucciones en [docs/setup.md](docs/setup.md). + +## 📄 Licencia + +Este proyecto está licenciado bajo la Licencia Pública General Affero de GNU (AGPL-3.0). +Ver el archivo [LICENSE](LICENSE) para más detalles. + +## 👥 Autores + +- [$(git config user.name)] ($(git config user.email)) + +--- + +Generado con MRDevs Tools © $(date +%Y) EOF # Crear estructura específica según el tipo de proyecto @@ -229,6 +428,9 @@ function main() { # Solicitar tipo de proyecto request_project_type + # Solicitar descripción del proyecto + request_project_description + # Crear estructura del proyecto create_project_structure }