ArchForge — Enterprise Scaffolding Generator
Genera proyectos Fullstack profesionales (Next.js + NestJS) con Clean Architecture, DDD, DevOps y módulos CRUD automáticos — directamente desde Visual Studio Code.
✨ ¿Qué hace?
ArchForge es una extensión de VS Code que funciona como un Project Scaffolding Generator
de nivel empresarial. En lugar de copiar y pegar boilerplate, generas en segundos
arquitecturas completas, escalables y listas para producción.
- 🧙 Asistente visual (Webview) paso a paso para crear proyectos.
- 🏗️ 6 tipos de proyecto: Fullstack, Frontend, Backend, Monorepo, Microservicios y SaaS Multiempresa.
- 🧩 Generador de módulos backend (Clean Architecture) y frontend (Next.js modular).
- ⚙️ Generador de CRUD completo: entidad, DTOs, repositorio, servicio, controlador, hooks, formularios y tablas.
- 🔐 Sistema de autenticación JWT + Refresh Tokens + RBAC listo para usar.
- 🐳 DevOps automático: Docker, Docker Compose, CI con GitHub Actions y hooks de Git.
- 🏢 Infraestructura SaaS multi-tenant (aislamiento por empresa).
🚀 Comandos disponibles
Abre la paleta de comandos (Ctrl+Shift+P) y escribe ArchForge:
| Comando |
Descripción |
ArchForge: Crear Proyecto (Asistente Visual) |
Abre el wizard de 5 pasos. |
ArchForge: Crear Proyecto (rápido) |
Creación guiada con QuickPicks. |
ArchForge: Crear Módulo Backend |
Módulo NestJS con Clean Architecture. |
ArchForge: Crear Módulo Frontend |
Módulo Next.js modular. |
ArchForge: Generar CRUD Completo |
CRUD backend + frontend de un recurso. |
ArchForge: Generar Configuración Docker |
Dockerfiles + Compose + CI. |
ArchForge: Generar Sistema de Autenticación |
JWT + Refresh Tokens + RBAC. |
ArchForge: Generar Estructura SaaS Multiempresa |
Infraestructura multi-tenant. |
También dispones de la barra lateral ArchForge (icono en la Activity Bar) con
accesos directos, y de un menú contextual al hacer clic derecho sobre una carpeta.
📐 Arquitectura generada
Backend (NestJS · Clean Architecture / DDD)
src/modules/<recurso>/
├── domain/ ← entidades y contratos de repositorio (puertos)
├── application/ ← DTOs, validación y casos de uso (servicios)
└── infrastructure/ ← repositorios concretos y controladores REST
Incluye Prisma ORM, filtros e interceptores globales, healthchecks y Swagger.
Frontend (Next.js 14 · App Router modular)
src/modules/<recurso>/
├── types/ ← modelos TypeScript
├── services/ ← cliente Axios de la API
├── hooks/ ← hooks con TanStack Query
└── components/ ← formularios (RHF + Zod) y tablas
🧑💻 Uso rápido del wizard
- Ejecuta
ArchForge: Crear Proyecto (Asistente Visual).
- Elige nombre, ubicación y tipo de proyecto.
- Configura backend, frontend y DevOps.
- Pulsa Generar proyecto. ArchForge crea las carpetas, escribe los archivos,
inicializa Git e instala dependencias.
Al generar un módulo, define sus campos con la sintaxis
nombre:tipo separada por comas — por ejemplo:
name:string, price:number, stock:number?, active:boolean
(el sufijo ? marca el campo como opcional).
⚙️ Configuración
Ajustes disponibles en settings.json (sección archforge):
| Ajuste |
Por defecto |
Descripción |
archforge.packageManager |
npm |
Gestor de paquetes (npm/pnpm/yarn). |
archforge.autoInstallDependencies |
true |
Instala dependencias al generar. |
archforge.gitInit |
true |
Inicializa un repositorio Git. |
archforge.openProjectAfterCreate |
true |
Abre el proyecto al terminar. |
archforge.defaultArchitecture |
clean |
Arquitectura backend por defecto. |
archforge.author |
"" |
Autor incluido en los proyectos. |
🛠️ Desarrollo de la extensión
npm install # instala dependencias
npm run compile # compila TypeScript a out/
npm run watch # compilación incremental
npm run lint # análisis estático
Pulsa F5 en VS Code para abrir una ventana de desarrollo (Extension Host)
y probar la extensión.
Verificación de las plantillas
node scripts/smoke-test.cjs # genera un proyecto de ejemplo
node scripts/verify-syntax.cjs # valida la sintaxis del código generado
🧱 Estructura del proyecto de la extensión
src/
├── commands/ ← comandos de VS Code y prompts de usuario
├── core/ ← logger, sistema de archivos y constantes
├── config/ ← tipos del dominio y acceso a la configuración
├── services/ ← procesos externos, instalador de dependencias
├── generators/ ← orquestadores de generación de proyectos y módulos
├── templates/ ← plantillas de código (backend, frontend, devops, saas)
├── views/ ← proveedores de la barra lateral
├── webviews/ ← asistente visual (Webview)
└── extension.ts ← punto de entrada
📄 Licencia
MIT © SmartSystems Dev