vtasks-automate-cli
v1.0.1
Published
Automate your vTasks workflow with ease — move tasks between states without opening the app
Readme
vtasks-automate-cli
Automatizá el flujo de trabajo de tus tareas en vTasks con un solo comando.
¿Qué hace este CLI?
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.
Con solo ejecutar el comando en la raíz del proyecto:
npx vtasks-automate-cliLa herramienta hará lo siguiente:
- 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.
- Instala o actualiza la dependencia en
/clienty/server. Si ya está instalada y es la última versión, no hace nada. - Parchea el script
deven elpackage.jsonde cada carpeta para quevtasks-automate-clise ejecute automáticamente antes de iniciar la app. Solo lo agrega si no estaba ya — es idempotente. - Sincroniza los git hooks en
.githooks/con los últimos disponibles.
Requisitos
- Un proyecto con las carpetas
/clienty/o/serveren la raíz (solo estas dos son soportadas). - Cada carpeta debe tener un script
"dev"en supackage.json. Es el único script que se modifica. - Ramas con el formato
{número}_{descripción}para que el número de issue sea detectado automáticamente (ej:12_fix-login).
Cómo funciona en el día a día
Una vez configurado, el sistema actúa en dos momentos:
Al correr npm run dev
Antes de iniciar el servidor o el frontend, el script:
- Verifica si hay una nueva versión del paquete. Si la hay, se actualiza y sincroniza los git hooks.
- Lee la rama actual y extrae el número de issue.
- Si la rama es
qa,dev,master, o no sigue el formato de issue, omite la notificación y continúa. - Llama a la API de vTasks para mover la tarjeta correspondiente a "En Progreso".
Al cambiar de rama (git checkout / git switch)
El hook post-checkout detecta el cambio y también notifica a vTasks sobre la nueva tarea activa.
Git hooks instalados
El setup crea y mantiene actualizados los siguientes archivos en .githooks/:
| Hook | Cuándo corre | Qué hace |
|---|---|---|
| post-checkout | Al cambiar de rama | Notifica a vTasks qué tarea está activa |
| 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 |
| post-commit | Después de cada commit | Refresca el índice de git (git update-index -g) |
| pre-commit | Antes de cada commit | Valida archivos .dist y aplica prettier a los archivos staged |
| pre-push | Antes de cada push | Compila /client y /server con npm run build para detectar errores antes de subir |
| validate-config-dist.js | Llamado por pre-commit | Script auxiliar que verifica que los archivos .dist estén sincronizados con sus pares reales |
Para que los hooks funcionen, git debe estar configurado para usar la carpeta
.githooks:git config core.hooksPath .githooks
Auto-actualización
El paquete es auto-actualizable una vez instalado:
- Al correr
npm run deven/cliento/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. - 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.
Actualizar manualmente
Para actualizar todo de una vez — root, /client, /server y git hooks — correr desde la raíz del proyecto:
npx vtasks-automate-cli@latestEsto 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.
Estructura interna del paquete
vtasks-automate-cli/
hooks/ ← contenido fuente de cada git hook
post-checkout
commit-msg
post-commit
pre-commit
pre-push
validate-config-dist.js
lib/
hooks.js ← lógica de sincronización de hooks
update-hooks.js ← script standalone para actualizar hooks desde content/index.js
content/
index.js ← runtime: notifica a vTasks y maneja auto-update
init.js ← entry point del npx