@emaenriquez/projectmanager-cli
v0.1.2
Published
A CLI/TUI application for managing development projects across multiple technologies
Downloads
403
Maintainers
Readme
Centro de Proyectos
Una aplicación CLI/TUI para gestionar proyectos de desarrollo en múltiples tecnologías.
🔗 Repositorio: github.com/emaenriquez/projectmanager-cli
Características
- Análisis de proyectos: Detecta automáticamente proyectos escaneando directorios en busca de archivos de configuración (package.json, Cargo.toml, go.mod, etc.)
- Detección de tecnología: Identifica los lenguajes, marcos de trabajo y herramientas utilizados en cada proyecto
- Interfaz TUI: Interfaz de terminal interactiva con lista de proyectos, panel de detalles y atajos de teclado
- Comandos CLI: Interfaz completa de línea de comandos para scripting y automatización
- Integración con Git: Muestra la rama, los cambios no confirmados y las confirmaciones no enviadas
- Etiquetas y Favoritos: Organiza proyectos con etiquetas personalizadas y márcalos como favoritos
- Búsqueda y Filtros: Encuentra proyectos rápidamente por nombre, tecnología o etiqueta
- Diagnósticos del sistema: Comando
doctorpara verificar las herramientas instaladas y el estado de la base de datos
Inicio Rápido
# Instalar el paquete globalmente
npm install -g @emaenriquez/projectmanager-cli
# Ejecutar en modo TUI (interactivo)
projectmanager-cli
# Escanear un directorio en busca de proyectos
projectmanager-cli scan C:\ruta\a\proyectos
# Agregar un proyecto manualmente
projectmanager-cli add C:\ruta\al\proyecto
# Verificar herramientas instaladas
projectmanager-cli doctorComandos CLI
| Comando | Descripción |
| ---------------------------------- | --------------------------------------------------------------------------- |
| scan [ruta] | Escanea un directorio en busca de proyectos |
| add <ruta> | Agrega un proyecto por ruta |
| remove <id> | Elimina un proyecto |
| open <id> [--with <herramienta>] | Abre un proyecto en un editor |
| doctor | Ejecuta diagnósticos del sistema |
| sync | Sincroniza todos los proyectos (elimina los faltantes, actualiza metadatos) |
| config list | Muestra todas las configuraciones |
| config get <clave> | Obtiene un valor de configuración |
| config set <clave> <valor> | Establece un valor de configuración |
| config reset | Restablece la configuración a los valores predeterminados |
Atajos de Teclado (TUI)
| Tecla | Acción |
| ------------- | --------------------------------- |
| ↑/↓ | Navegar por la lista de proyectos |
| Enter / D | Ver detalles del proyecto |
| A | Agregar un proyecto por ruta |
| S | Escanear un directorio |
| F | Buscar/filtrar proyectos |
| * | Marcar/desmarcar favorito |
| T | Agregar etiqueta al proyecto |
| O | Abrir proyecto en el editor |
| X | Eliminar proyecto |
| R | Actualizar lista |
| Q / Esc | Salir |
Arquitectura
El proyecto sigue los principios de Arquitectura Limpia (Clean Architecture):
src/
├── domain/ # Entidades de negocio, servicios (ProjectScanner, TechnologyDetector, GitService)
├── application/ # Casos de uso (ScanProjects, AddProject, etc.), gestión de estado, manejo de errores
├── infrastructure/ # Base de datos (SQLite), repositorios, marco de UI (Blessed)
└── ui/ # CLI (Commander.js), componentes TUI, vistasTecnologías Utilizadas
- Runtime: Node.js + TypeScript
- Base de datos: SQLite mediante better-sqlite3
- Marco CLI: Commander.js
- Marco TUI: Blessed
- Testing: Jest
Desarrollo
# Ejecutar pruebas
npm test
# Compilar
npm run build
# Correr
npm run devLicencia
MIT
