Skip to content

Project Creator (infra-project-creator)


infra-project-creator

Backend de la herramienta visual para la creación, renombrado y borrado estructurado de nuevos proyectos en el monorepositorio local IA_Proyectos.

Especificaciones Técnicas

  • Puerto de red: 3300 (Gateway: /api/proj)
  • Ruta física: IA_Infraestructura/infra-project-creator/
  • Requiere variables de entorno (.env): Sí
    • BASE_PROYECTOS_DIR: Ruta absoluta local al directorio del monorepositorio (ej. C:\Users\jjtei\Desktop\IA_Proyectos\).

Funciones Clave

  1. Scaffolding Multi-Tecnología: Genera plantillas base limpias para diferentes tipos de proyectos:
    • vanilla: HTML, CSS y JS básico.
    • react: React clásico con Vite.
    • node / api: Aplicación Node.js básica con Express y CORS configurados.
    • python: Crea un entorno virtual (venv) con scripts básicos.
  2. Ciclo de Vida Integrado:
    • Inicializa el repositorio Git (si aplica), crea un commit inicial y empuja.
    • Registra de forma automática la nueva aplicación en projects.json.
    • Crea automáticamente subdominios CNAME en Cloudflare mediante dnsService.
    • Crea un Issue de inicio en GitHub.
  3. Ejecución Asíncrona (Jobs):
    • Las operaciones pesadas (como instalaciones de npm y compilación inicial) se ejecutan asíncronamente en segundo plano.
    • Retorna un jobId que permite monitorizar el estado del scaffolding.

Endpoints del Servicio

MétodoRutaDescripción
GET/api/diagnoseDiagnóstico de herramientas del sistema (node, git, npm, python)
GET/api/projectsLista todos los proyectos registrados en projects.json
POST/api/projects/createCrea un nuevo proyecto (asíncrono, retorna jobId)
GET/api/statusObtiene el estado y logs de un job mediante ?jobId=...
DELETE/api/projects/:nameElimina un proyecto (archivos, registro json, Git e IP DNS)
POST/api/projects/renameRenombra una carpeta y actualiza todas las referencias del proyecto
POST/api/shutdownApaga de forma limpia el servidor del Project Creator
GET/pingHealthcheck del servicio