afap-cli
v1.0.4
Published
CLI para generar microservicios Java basados en el skeleton estándar de AFAP.
Maintainers
Readme
AFAP-CLI
CLI para crear microservicios Java usando el arquetipo oficial skeleton-afap y librerías base usando skeleton-lib-afap, aplicando convenciones de nombre y paquetes según el tipo de servicio.
¿Qué hace?
- Genera un nuevo proyecto desde los repositorios de arquetipo:
- Microservicios: se generan a partir de skeleton
- Librerías: se generan a partir de skeleton-lib
- Renombra artefactos, paquetes y carpetas al nombre del servicio (sin guiones en packages Java).
- Ofrece modo de actualización para sincronizar config con la plantilla.
🚀 Requisitos
- Node.js >= 16 (probado en 20).
- npm (incluido con Node).
- git instalado y en el
PATH. - Acceso a los repositorios de arquetipo (
skeleton-afapyskeleton-lib-afap) con credenciales configuradas en git.
Compatibilidad: Windows, macOS y Linux. En Windows se recomienda usar PowerShell o Git Bash; para ver diffs se necesita el comando diff (incluido en Git Bash).
📦 Instalación
Desde el registry (recomendado)
# global
npm install -g afap-cli
# sin instalar global
npx afap-cli --helpLocal para desarrollo del CLI
npm install
npm install -g .🧭 Uso básico
Crear un servicio o librería (elige tipo interactivo):
afap-cli create <nombre_servicio>
# o simplemente: afap-cli create (pregunta el nombre)Actualizar configuración desde la plantilla:
# muestra diff (requiere comando diff disponible; en Windows, Git Bash)
afap-cli update
# aplica los archivos de config directamente
afap-cli update --apply🛠 Solución de problemas comunes
- No se reconoce el comando: verifica el
PATHdel npm global (npm config get prefix) y que contenga la carpetanpm/bin. Alternativa: usarnpx afap-cli .... - Falla al clonar la plantilla: confirma que
gitestá instalado y que tus credenciales de acceso a la plantilla están configuradas. El CLI usa HTTPS. - En Windows sin comando
diff: usaafap-cli update --applyo instala Git Bash.
💻 Desarrollo
- Ejecuta
npm install. - Prueba el comando localmente con
node index.js ...o instalando connpm install -g ..
