[IMPROVED] Solicitar descripción de proyecto y generar README.md profesional
This commit is contained in:
parent
81cf86f290
commit
a2e1ce6681
2 changed files with 215 additions and 11 deletions
|
@ -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."
|
||||
|
|
|
@ -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
|
||||
|
||||

|
||||

|
||||
|
||||
## 📋 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
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue