create-proyect-cli
v2.2.0
Published
CLI para crear proyectos rápidamente (Express, Rust, Python, Angular, Vue, React)
Maintainers
Readme
Create Proyect CLI 🚀
Create Proyect CLI es una herramienta de línea de comandos diseñada para acelerar la creación y gestión de proyectos de software mediante una interfaz interactiva rápida y sencilla.
Originalmente desarrollado en Node.js, este CLI fue reescrito completamente en Rust para ofrecer:
- ⚡ Inicio instantáneo
- 🚀 Alto rendimiento
- 🧠 Experiencia de CLI interactiva moderna
- 📦 Distribución multiplataforma
Con esta herramienta puedes crear proyectos, clonar repositorios, instalar dependencias y gestionar estructuras completas de aplicaciones en segundos.
📦 Instalación
Puedes instalar el CLI desde dos ecosistemas diferentes.
1️⃣ Instalación con NPM (recomendado para desarrolladores web)
npm install -g create-proyect-cli2️⃣ Instalación con Cargo (usuarios de Rust)
Si tienes Rust instalado:
cargo install create-proyect-cli💻 Uso
El CLI soporta dos modos de operación:
Modo Interactivo (por defecto)
create-proyect-cliSe abrirá un menú interactivo donde podrás seleccionar la acción que deseas realizar.
Modo Comandos
# Crear proyecto React
create-proyect-cli create --template=react --name=my-app
# Crear proyecto Vue
create-proyect-cli generate --template=vue --name=my-vue-app
# Crear API Express con Drizzle
create-proyect-cli new --template=api --name=my-api --orm=drizzle --database=postgresql --jwt --security --swagger
# Ver ayuda
create-proyect-cli --help
create-proyect-cli create --help🛠️ Comandos y Banderas
Subcomandos
| Comando | Descripción |
|---------|-------------|
| create | Crear un nuevo proyecto |
| generate | Generar un nuevo proyecto (alias de create) |
| new | Crear un nuevo proyecto (alias de create) |
| interactive | Iniciar el CLI en modo interactivo |
Banderas Disponibles
| Bandera | Descripción | Valores |
|--------|------------|---------|
| --template | Tipo de proyecto | react, vue, angular, ionic, api, rust, python |
| --name | Nombre del proyecto | string |
| --orm | ORM a usar (API) | drizzle, prisma, typeorm |
| --database | Base de datos | mysql, postgresql, sqlite |
| --jwt | Incluir autenticación JWT | flag |
| --security | Incluir seguridad (helmet, rate-limit, zod) | flag |
| --swagger | Incluir Swagger | flag |
| --jest | Incluir Jest para testing | flag |
| --winston | Incluir Winston para logs | flag |
| --docker | Incluir Docker | flag |
| --docker-compose | Incluir Docker Compose con DB | flag |
| --git | Inicializar repositorio Git | flag |
| --install | Instalar dependencias automáticamente | flag |
🛠️ Funcionalidades
🚀 Crear Proyecto
Genera automáticamente estructuras completas de proyectos.
Frontend y Mobile
- React - Con Vite (
npm create vite) - Vue - Con Vite (
npm create vite) - Angular
- Ionic
Backend (API Express + TypeScript)
Genera una arquitectura SOLID moderna con:
src/
├── domain/
│ ├── entities/ # Interfaces y DTOs
│ └── repositories/ # Interfaces de repositorio
├── application/
│ └── usecases/ # Casos de uso
└── infrastructure/
├── controllers/ # Controladores
├── middleware/ # Middlewares (auth, error handling)
├── repositories/ # Implementaciones
└── routes/ # RutasOpciones de ORM:
- Drizzle - ORM moderno y liviano
- Prisma - ORM robusto con migración
- TypeORM - ORM con patrón ActiveRecord
Seguridad integrada:
- Helmet - Headers de seguridad
- express-rate-limit - Limitación de peticiones
- Zod - Validación de datos
- CORS - Configuración de CORS
- JWT - Autenticación con JSON Web Tokens
- bcryptjs - Hash de contraseñas
Documentación:
- Swagger/OpenAPI - Documentación automática (
swagger-ui-express)
Logging:
- Winston - Sistema de logs configurable
Testing:
- Jest - Framework de testing
Contenedores:
- Docker - Imagen optimizada
- Docker Compose - Con base de datos
Python
- Proyecto base con
venvautomático
Rust
- Proyecto base usando
cargo
📂 Acciones Disponibles
Además del generador de proyectos, el CLI permite realizar tareas comunes de desarrollo.
📥 Clonar repositorio
Clona cualquier repositorio Git indicando su URL y carpeta destino.
📦 Instalar dependencias
Detecta automáticamente el gestor de paquetes:
- npm
- pnpm
- bun
- deno
🗑️ Eliminar repositorio local
Elimina de forma segura directorios o proyectos locales.
🎯 Ejemplos
# Crear proyecto React con todas las opciones
create-proyect-cli create --template=react --name=my-app --install
# Crear API Express con Drizzle y todas las features
create-proyect-cli create --template=api --name=my-api \
--orm=drizzle \
--database=postgresql \
--jwt \
--security \
--swagger \
--jest \
--winston \
--docker \
--docker-compose \
--git \
--install
# Crear proyecto Vue
create-proyect-cli generate --template=vue --name=my-vue-app --install🎯 Objetivo del proyecto
Este CLI busca convertirse en una herramienta para:
- ⚡ acelerar el bootstrap de proyectos
- 🧰 automatizar configuraciones repetitivas
- 🧠 mejorar la productividad de desarrolladores
🤝 Contribuir
Las contribuciones son bienvenidas. Puedes ayudar de varias maneras:
- reportando bugs
- proponiendo nuevas features
- enviando pull requests
Repositorio oficial:
https://github.com/CARLOSMARES/proyecto-cli
👨💻 Autor
Carlos Ignacio Olano Mares
📄 Licencia
Este proyecto está licenciado bajo GPL-3.0.
Consulta el archivo LICENSE para más detalles.
