gen-module-cli-v2
v2.0.8
Published
CLI para generar módulos backend con arquitectura limpia
Maintainers
Readme
Gen Module CLI 🚀
CLI para generar módulos backend con arquitectura limpia, TypeORM y Express.
Instalación
npm install -g gen-module-cli
# o
yarn global add gen-module-cliUso
1. Inicializar configuración (opcional)
gen-module initEsto crea un archivo gen-module.config.json donde puedes personalizar las rutas.
2. Generar un módulo completo
gen-module generate user
# o usar el alias
gen-module g userEsto genera:
- ✅ Model (
user.model.ts) - ✅ Controller (
user.controller.ts) - ✅ Service (
user.service.ts) - ✅ Repository (
user.repository.ts) - ✅ Router (
user.router.ts) - ✅ Schema con validaciones Zod (
user.schema.ts) - ✅ Archivos de idioma (
user.tsen lang/es) - ✅ Utilidades (file.service, paginator-handler, library)
3. Opciones adicionales
# Omitir archivos de ejemplo
gen-module g product --skip-files
# Omitir tests
gen-module g product --skip-tests
# Usar configuración personalizada
gen-module g product --config ./my-config.json4. Agregar componentes individuales
# Agregar solo un controller
gen-module add controller user
# Agregar solo un service
gen-module add service userComponentes disponibles:
modelcontrollerservicerepositoryrouteschemalang
Configuración
Ejemplo de gen-module.config.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:
- Crea una carpeta con tus templates
- Configura
gen-module.config.json:
{
"templates": {
"useCustom": true,
"customPath": "./my-templates"
}
}Los templates usan placeholders:
{{moduleName}}→ nombre del módulo en minúsculas{{ModuleName}}→ nombre del módulo capitalizado
Ejemplo completo
# 1. Inicializar
gen-module init
# 2. Generar módulo de usuarios
gen-module g user
# 3. Generar módulo de productos
gen-module g product --skip-files
# 4. Agregar solo un controller a orders
gen-module add controller orderCaracterísticas
✅ 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
Contribuir
Issues y PRs son bienvenidos en: [tu-repo-url]
Licencia
MIT */
