CLI para generar módulos backend con arquitectura limpia
npm install gen-module-cli-v2CLI para generar módulos backend con arquitectura limpia, TypeORM y Express.
``bash`
npm install -g gen-module-clio
yarn global add gen-module-cli
`bash`
gen-module init
Esto crea un archivo gen-module.config.json donde puedes personalizar las rutas.
`bash`
gen-module generate usero usar el alias
gen-module g user
Esto genera:
- ✅ Model (user.model.ts)user.controller.ts
- ✅ Controller ()user.service.ts
- ✅ Service ()user.repository.ts
- ✅ Repository ()user.router.ts
- ✅ Router ()user.schema.ts
- ✅ Schema con validaciones Zod ()user.ts
- ✅ Archivos de idioma ( en lang/es)
- ✅ Utilidades (file.service, paginator-handler, library)
`bashOmitir archivos de ejemplo
gen-module g product --skip-files
$3
`bash
Agregar solo un controller
gen-module add controller userAgregar solo un service
gen-module add service user
`Componentes disponibles:
-
model
- controller
- service
- repository
- route
- schema
- langConfiguración
Ejemplo de
gen-module.config.json:`json
{
"paths": {
"controller": "src/app/controllers/v1",
"repository": "src/app/repositories/v1",
"service": "src/app/services/v1",
"model": "src/app/models",
"route": "src/api/routes/v1",
"schema": "src/api/schemas/v1",
"core": "src/libraries/core",
"langEs": "src/resources/lang/es"
},
"templates": {
"useCustom": false,
"customPath": null
}
}
`Templates personalizados
Puedes usar tus propios templates:
1. Crea una carpeta con tus templates
2. Configura
gen-module.config.json:`json
{
"templates": {
"useCustom": true,
"customPath": "./my-templates"
}
}
`Los templates usan placeholders:
-
{{moduleName}} → nombre del módulo en minúsculas
- {{ModuleName}} → nombre del módulo capitalizadoEjemplo completo
`bash
1. Inicializar
gen-module init2. Generar módulo de usuarios
gen-module g user3. Generar módulo de productos
gen-module g product --skip-files4. Agregar solo un controller a orders
gen-module add controller order
``✅ Templates como archivos reales (mejor edición)
✅ TypeScript con tipos completos
✅ Validación de nombres y rutas
✅ Logs coloridos y claros
✅ Configuración personalizable
✅ Componentes individuales
✅ Manejo de errores robusto
✅ No sobrescribe archivos existentes
Issues y PRs son bienvenidos en: [tu-repo-url]
MIT
\*/