@emaenriquez/projectmanager-cli 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -69
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,98 +1,103 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Centro de Proyectos
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Una aplicación CLI/TUI para gestionar proyectos de desarrollo en múltiples tecnologías.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
🔗 **Repositorio**: [github.com/emaenriquez/projectmanager-cli](https://github.com/emaenriquez/projectmanager-cli)
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- **Technology Detection**: Identifies languages, frameworks, and tools used in each project
|
|
9
|
-
- **TUI Interface**: Interactive terminal UI with project list, details panel, and keyboard shortcuts
|
|
10
|
-
- **CLI Commands**: Full command-line interface for scripting and automation
|
|
11
|
-
- **Git Integration**: Shows branch, uncommitted changes, and unpushed commits
|
|
12
|
-
- **Tags & Favorites**: Organize projects with custom tags and mark favorites
|
|
13
|
-
- **Search & Filter**: Find projects quickly by name, technology, or tag
|
|
14
|
-
- **System Diagnostics**: `doctor` command to verify installed tools and database health
|
|
7
|
+
## Características
|
|
15
8
|
|
|
16
|
-
|
|
9
|
+
- **Análisis de proyectos**: Detecta automáticamente proyectos escaneando directorios en busca de archivos de configuración (package.json, Cargo.toml, go.mod, etc.)
|
|
10
|
+
- **Detección de tecnología**: Identifica los lenguajes, marcos de trabajo y herramientas utilizados en cada proyecto
|
|
11
|
+
- **Interfaz TUI**: Interfaz de terminal interactiva con lista de proyectos, panel de detalles y atajos de teclado
|
|
12
|
+
- **Comandos CLI**: Interfaz completa de línea de comandos para scripting y automatización
|
|
13
|
+
- **Integración con Git**: Muestra la rama, los cambios no confirmados y las confirmaciones no enviadas
|
|
14
|
+
- **Etiquetas y Favoritos**: Organiza proyectos con etiquetas personalizadas y márcalos como favoritos
|
|
15
|
+
- **Búsqueda y Filtros**: Encuentra proyectos rápidamente por nombre, tecnología o etiqueta
|
|
16
|
+
- **Diagnósticos del sistema**: Comando `doctor` para verificar las herramientas instaladas y el estado de la base de datos
|
|
17
|
+
|
|
18
|
+
## Inicio Rápido
|
|
17
19
|
|
|
18
20
|
```bash
|
|
19
|
-
#
|
|
20
|
-
npm install
|
|
21
|
+
# Instalar el paquete globalmente
|
|
22
|
+
npm install -g @emaenriquez/projectmanager-cli
|
|
21
23
|
|
|
22
|
-
#
|
|
23
|
-
|
|
24
|
+
# Ejecutar en modo TUI (interactivo)
|
|
25
|
+
projectmanager-cli
|
|
26
|
+
|
|
27
|
+
# Escanear un directorio en busca de proyectos
|
|
28
|
+
projectmanager-cli scan C:\ruta\a\proyectos
|
|
24
29
|
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
# Agregar un proyecto manualmente
|
|
31
|
+
projectmanager-cli add C:\ruta\al\proyecto
|
|
32
|
+
|
|
33
|
+
# Verificar herramientas instaladas
|
|
34
|
+
projectmanager-cli doctor
|
|
30
35
|
```
|
|
31
36
|
|
|
32
|
-
## CLI
|
|
33
|
-
|
|
34
|
-
|
|
|
35
|
-
|
|
36
|
-
| `scan [
|
|
37
|
-
| `add <
|
|
38
|
-
| `remove <id>`
|
|
39
|
-
| `open <id> [--with <
|
|
40
|
-
| `doctor`
|
|
41
|
-
| `sync`
|
|
42
|
-
| `config list`
|
|
43
|
-
| `config get <
|
|
44
|
-
| `config set <
|
|
45
|
-
| `config reset`
|
|
46
|
-
|
|
47
|
-
##
|
|
48
|
-
|
|
49
|
-
|
|
|
50
|
-
|
|
51
|
-
| `↑/↓`
|
|
52
|
-
| `Enter` / `D` |
|
|
53
|
-
| `A`
|
|
54
|
-
| `S`
|
|
55
|
-
| `F`
|
|
56
|
-
| `*`
|
|
57
|
-
| `T`
|
|
58
|
-
| `O`
|
|
59
|
-
| `X`
|
|
60
|
-
| `R`
|
|
61
|
-
| `Q` / `Esc`
|
|
62
|
-
|
|
63
|
-
##
|
|
64
|
-
|
|
65
|
-
|
|
37
|
+
## Comandos CLI
|
|
38
|
+
|
|
39
|
+
| Comando | Descripción |
|
|
40
|
+
| ---------------------------------- | --------------------------------------------------------------------------- |
|
|
41
|
+
| `scan [ruta]` | Escanea un directorio en busca de proyectos |
|
|
42
|
+
| `add <ruta>` | Agrega un proyecto por ruta |
|
|
43
|
+
| `remove <id>` | Elimina un proyecto |
|
|
44
|
+
| `open <id> [--with <herramienta>]` | Abre un proyecto en un editor |
|
|
45
|
+
| `doctor` | Ejecuta diagnósticos del sistema |
|
|
46
|
+
| `sync` | Sincroniza todos los proyectos (elimina los faltantes, actualiza metadatos) |
|
|
47
|
+
| `config list` | Muestra todas las configuraciones |
|
|
48
|
+
| `config get <clave>` | Obtiene un valor de configuración |
|
|
49
|
+
| `config set <clave> <valor>` | Establece un valor de configuración |
|
|
50
|
+
| `config reset` | Restablece la configuración a los valores predeterminados |
|
|
51
|
+
|
|
52
|
+
## Atajos de Teclado (TUI)
|
|
53
|
+
|
|
54
|
+
| Tecla | Acción |
|
|
55
|
+
| ------------- | --------------------------------- |
|
|
56
|
+
| `↑/↓` | Navegar por la lista de proyectos |
|
|
57
|
+
| `Enter` / `D` | Ver detalles del proyecto |
|
|
58
|
+
| `A` | Agregar un proyecto por ruta |
|
|
59
|
+
| `S` | Escanear un directorio |
|
|
60
|
+
| `F` | Buscar/filtrar proyectos |
|
|
61
|
+
| `*` | Marcar/desmarcar favorito |
|
|
62
|
+
| `T` | Agregar etiqueta al proyecto |
|
|
63
|
+
| `O` | Abrir proyecto en el editor |
|
|
64
|
+
| `X` | Eliminar proyecto |
|
|
65
|
+
| `R` | Actualizar lista |
|
|
66
|
+
| `Q` / `Esc` | Salir |
|
|
67
|
+
|
|
68
|
+
## Arquitectura
|
|
69
|
+
|
|
70
|
+
El proyecto sigue los principios de **Arquitectura Limpia (Clean Architecture)**:
|
|
66
71
|
|
|
67
72
|
```
|
|
68
73
|
src/
|
|
69
|
-
├── domain/ #
|
|
70
|
-
├── application/ #
|
|
71
|
-
├── infrastructure/ #
|
|
72
|
-
└── ui/ # CLI (Commander.js), TUI
|
|
74
|
+
├── domain/ # Entidades de negocio, servicios (ProjectScanner, TechnologyDetector, GitService)
|
|
75
|
+
├── application/ # Casos de uso (ScanProjects, AddProject, etc.), gestión de estado, manejo de errores
|
|
76
|
+
├── infrastructure/ # Base de datos (SQLite), repositorios, marco de UI (Blessed)
|
|
77
|
+
└── ui/ # CLI (Commander.js), componentes TUI, vistas
|
|
73
78
|
```
|
|
74
79
|
|
|
75
|
-
##
|
|
80
|
+
## Tecnologías Utilizadas
|
|
76
81
|
|
|
77
82
|
- **Runtime**: Node.js + TypeScript
|
|
78
|
-
- **
|
|
79
|
-
- **CLI
|
|
80
|
-
- **TUI
|
|
83
|
+
- **Base de datos**: SQLite mediante better-sqlite3
|
|
84
|
+
- **Marco CLI**: Commander.js
|
|
85
|
+
- **Marco TUI**: Blessed
|
|
81
86
|
- **Testing**: Jest
|
|
82
87
|
|
|
83
|
-
##
|
|
88
|
+
## Desarrollo
|
|
84
89
|
|
|
85
90
|
```bash
|
|
86
|
-
#
|
|
91
|
+
# Ejecutar pruebas
|
|
87
92
|
npm test
|
|
88
93
|
|
|
89
|
-
#
|
|
94
|
+
# Compilar
|
|
90
95
|
npm run build
|
|
91
96
|
|
|
92
|
-
#
|
|
93
|
-
npm run
|
|
97
|
+
# Correr
|
|
98
|
+
npm run dev
|
|
94
99
|
```
|
|
95
100
|
|
|
96
|
-
##
|
|
101
|
+
## Licencia
|
|
97
102
|
|
|
98
103
|
MIT
|
package/package.json
CHANGED