api-starter-cli
v1.12.0
Published
Una CLI interactiva para inicializar proyectos Node.js con Express, plantillas con capas, y opciones de base de datos (MongoDB/Sequelize).
Maintainers
Readme
🚀 API Starter CLI
Una CLI profesional e interactiva para inicializar proyectos backend robustos.
api-starter-cli no solo crea una estructura de carpetas; genera una arquitectura escalable, configura tu base de datos (MongoDB, SQL o Prisma), implementa autenticación, inicializa tu repositorio Git, configura Docker y prepara tu proyecto para producción desde el primer día.
✨ Características Principales
- 🔐 Autenticación JWT: Controladores de Login/Registro, middlewares de protección y hash de contraseñas con
bcryptjs. - 🟦 Soporte TypeScript: Plantillas modernas con tipos estrictos,
tsxy ESLint 9. - 🐳 Soporte Docker: Genera automáticamente
Dockerfileydocker-compose.yml. - 🎨 Experiencia Visual: Spinners, tablas y feedback en tiempo real.
- 📦 Multi-Gestor: Soporte para npm, yarn y pnpm.
- 🛡️ Validaciones: Node.js, nombres de proyecto y permisos.
- 🔍 Modo Dry-Run: Simula sin crear archivos (
--dry-run). - 🚀 Listo para Producción: Crea archivo
PRODUCTION.mdautomáticamente.
⚡ Uso Rápido
npx api-starter-cli create my-secure-api💻 Instalación Global
npm install -g api-starter-cli
# O con Yarn
yarn global add api-starter-cliUsa el comando corto:
astarter create mi-proyecto📚 Plantillas Disponibles
1. express-api-basic (JavaScript)
Estructura plana y simple. Ideal para prototipos, microservicios ligeros o aprendizaje de Express.
No soporta integraciones avanzadas (DB, Auth, Docker).
2. express-api-layered (JavaScript)
Arquitectura profesional en capas (Controller–Service–Repository). Soporta todas las integraciones avanzadas.
3. express-api-layered-ts (TypeScript)
Versión moderna tipada con TS:
- NodeNext
- TS 5.x
- ESLint 9 (Flat Config)
- Prettier
- Dev con
tsx - Build con
tsc
🗄️ Módulos Opcionales (solo plantillas layered)
Bases de Datos
- MongoDB (Mongoose)
- SQL (PostgreSQL, MySQL, SQLite con Sequelize)
- Prisma ORM
Autenticación JWT
Incluye:
- Middleware
auth.middleware.js - Controlador
auth.controller.js - Rutas
/api/auth/loginy/api/auth/register - Configuración de
JWT_SECRETen.env.example
Docker
Genera:
Dockerfiledocker-compose.yml- Configuración para levantar API + DB con un comando
🛠️ Flags Disponibles
| Opción | Alias | Descripción |
| ----------- | ----- | ------------------------------------------------------ |
| --dry-run | -d | Simula la creación del proyecto sin escribir archivos. |
| --version | -v | Muestra la versión. |
| --help | -h | Muestra la ayuda. |
📝 Requisitos
- Node.js >= 18 (Recomendado 20+)
- Windows, macOS o Linux
🤝 Contribución
Fork del proyecto
Crear rama:
git checkout -b feature/AmazingFeatureEjecutar pruebas:
npm run qualityCommit:
git commit -m "Add some AmazingFeature"Push:
git push origin feature/AmazingFeatureAbrir Pull Request
📄 Licencia
MIT License.
Hecho con ❤️ por Daniel Riverol
