Episodio 006 — Formateando el futuro
Serie: bitácora de ingeniería — caprini.dev
Slug: 006-formateando-el-futuro
Resumen: la API de GitLab nos entrega hechos en bruto: SHA, timestamps, message, metadatos de autor. Eso es oro para la máquina y poco amable para el ojo humano en un feed. En SPEC-001 (fase 2) el progress tracker aprende a vestir ese dato con la piel Caprini: cabecera con emoji de taller, línea de hito, fecha legible y enlace canónico al commit, más hashtags que anclan el relato (#SpecDrivenDevelopment, #Vibecoding, #Astro).
Datos crudos vs narrativa
- Crudo: un objeto JSON fiel al contrato REST; útil para depurar (
console.logde la respuesta sigue ahí). - Forma: una función pura
formatForTwitter(commit)que no llama a redes: solo texto listo para copiar. Publicar en X sigue siendo decisión humana; evitamos SDKs de Twitter y credenciales extra hasta que lo specifiquemos.
Qué quedó hecho
projects/001-progress-tracker/tracker.mjs: doble salida en consola — respuesta API (JSON indentado) y tweet listo para copiar.- Variable opcional
GITLAB_PROJECT_PATHen.env.examplecuandoPROJECT_IDes numérico y hace falta el path web para armar la URL/-/commit/:sha.
Próximo paso lógico
Tests unitarios del formateador con mocks de commit (sin red), y pulir límites de longitud o truncado del cuerpo del mensaje si X empieza a recortar en la práctica.