vtasks-automate-cli 0.10.0 → 1.0.0
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 +108 -94
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,94 +1,108 @@
|
|
|
1
|
-
# vtasks-automate-cli
|
|
2
|
-
|
|
3
|
-
Automatizá el flujo de trabajo de tus tareas en **vTasks** con un solo comando.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
##
|
|
8
|
-
|
|
9
|
-
`vtasks-automate-cli`
|
|
10
|
-
|
|
11
|
-
Con solo ejecutar el comando en la raíz del proyecto:
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npx vtasks-automate-cli
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
La herramienta hará lo siguiente:
|
|
18
|
-
|
|
19
|
-
1.
|
|
20
|
-
2.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
Para
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
1
|
+
# vtasks-automate-cli
|
|
2
|
+
|
|
3
|
+
Automatizá el flujo de trabajo de tus tareas en **vTasks** con un solo comando.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## ¿Qué hace este CLI?
|
|
8
|
+
|
|
9
|
+
`vtasks-automate-cli` se integra en proyectos con una carpeta `/client` (frontend) y `/server` (backend), y automatiza el movimiento de tarjetas en **vTasks** mientras trabajás con ramas vinculadas a tareas.
|
|
10
|
+
|
|
11
|
+
Con solo ejecutar el comando en la raíz del proyecto:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx vtasks-automate-cli
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
La herramienta hará lo siguiente:
|
|
18
|
+
|
|
19
|
+
1. **Se auto-actualiza**: si el paquete ya estaba instalado en el root con una versión anterior, se actualiza a la más reciente y re-ejecuta el setup con el nuevo código.
|
|
20
|
+
2. **Instala o actualiza la dependencia** en `/client` y `/server`. Si ya está instalada y es la última versión, no hace nada.
|
|
21
|
+
3. **Parchea el script `dev`** en el `package.json` de cada carpeta para que `vtasks-automate-cli` se ejecute automáticamente antes de iniciar la app. Solo lo agrega si no estaba ya — es idempotente.
|
|
22
|
+
4. **Sincroniza los git hooks** en `.githooks/` con los últimos disponibles.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Requisitos
|
|
27
|
+
|
|
28
|
+
- Un proyecto con las carpetas `/client` y/o `/server` en la raíz (solo estas dos son soportadas).
|
|
29
|
+
- Cada carpeta debe tener un script `"dev"` en su `package.json`. Es el único script que se modifica.
|
|
30
|
+
- Ramas con el formato `{número}_{descripción}` para que el número de issue sea detectado automáticamente (ej: `12_fix-login`).
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Cómo funciona en el día a día
|
|
35
|
+
|
|
36
|
+
Una vez configurado, el sistema actúa en dos momentos:
|
|
37
|
+
|
|
38
|
+
### Al correr `npm run dev`
|
|
39
|
+
Antes de iniciar el servidor o el frontend, el script:
|
|
40
|
+
- Verifica si hay una nueva versión del paquete. Si la hay, se actualiza y sincroniza los git hooks.
|
|
41
|
+
- Lee la rama actual y extrae el número de issue.
|
|
42
|
+
- Si la rama es `qa`, `dev`, `master`, o no sigue el formato de issue, omite la notificación y continúa.
|
|
43
|
+
- Llama a la API de **vTasks** para mover la tarjeta correspondiente a "En Progreso".
|
|
44
|
+
|
|
45
|
+
### Al cambiar de rama (`git checkout` / `git switch`)
|
|
46
|
+
El hook `post-checkout` detecta el cambio y también notifica a vTasks sobre la nueva tarea activa.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Git hooks instalados
|
|
51
|
+
|
|
52
|
+
El setup crea y mantiene actualizados los siguientes archivos en `.githooks/`:
|
|
53
|
+
|
|
54
|
+
| Hook | Cuándo corre | Qué hace |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| `post-checkout` | Al cambiar de rama | Notifica a vTasks qué tarea está activa |
|
|
57
|
+
| `commit-msg` | Al hacer commit | Augmenta el mensaje con un resumen generado por Claude CLI; agrega el número de issue en la primera línea y al final del mensaje |
|
|
58
|
+
| `post-commit` | Después de cada commit | Refresca el índice de git (`git update-index -g`) |
|
|
59
|
+
| `pre-commit` | Antes de cada commit | Valida archivos `.dist` y aplica prettier a los archivos staged |
|
|
60
|
+
| `pre-push` | Antes de cada push | Compila `/client` y `/server` con `npm run build` para detectar errores antes de subir |
|
|
61
|
+
| `validate-config-dist.js` | Llamado por `pre-commit` | Script auxiliar que verifica que los archivos `.dist` estén sincronizados con sus pares reales |
|
|
62
|
+
|
|
63
|
+
> Para que los hooks funcionen, git debe estar configurado para usar la carpeta `.githooks`:
|
|
64
|
+
> ```bash
|
|
65
|
+
> git config core.hooksPath .githooks
|
|
66
|
+
> ```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Auto-actualización
|
|
71
|
+
|
|
72
|
+
El paquete es auto-actualizable una vez instalado:
|
|
73
|
+
|
|
74
|
+
- **Al correr `npm run dev`** en `/client` o `/server`: verifica la versión instalada contra la última en npm. Si hay una más nueva, la instala y sincroniza los git hooks automáticamente.
|
|
75
|
+
- **Al correr `npx vtasks-automate-cli`**: si el paquete ya estaba instalado en el root con una versión antigua, se actualiza y re-ejecuta el setup completo con el código nuevo.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Actualizar manualmente
|
|
80
|
+
|
|
81
|
+
Para actualizar todo de una vez — root, `/client`, `/server` y git hooks — correr desde la raíz del proyecto:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npx vtasks-automate-cli@latest
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Esto fuerza la descarga de la última versión y ejecuta el setup completo con el código nuevo, independientemente de qué versión haya instalada localmente.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Estructura interna del paquete
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
vtasks-automate-cli/
|
|
95
|
+
hooks/ ← contenido fuente de cada git hook
|
|
96
|
+
post-checkout
|
|
97
|
+
commit-msg
|
|
98
|
+
post-commit
|
|
99
|
+
pre-commit
|
|
100
|
+
pre-push
|
|
101
|
+
validate-config-dist.js
|
|
102
|
+
lib/
|
|
103
|
+
hooks.js ← lógica de sincronización de hooks
|
|
104
|
+
update-hooks.js ← script standalone para actualizar hooks desde content/index.js
|
|
105
|
+
content/
|
|
106
|
+
index.js ← runtime: notifica a vTasks y maneja auto-update
|
|
107
|
+
init.js ← entry point del npx
|
|
108
|
+
```
|