Skip to content

feat: Mejora UX con spinners, colores y preview de diff (#45)#46

Merged
thomas-vilte merged 3 commits into
masterfrom
feat/45-improve-ux-spinners-colors
Dec 15, 2025
Merged

feat: Mejora UX con spinners, colores y preview de diff (#45)#46
thomas-vilte merged 3 commits into
masterfrom
feat/45-improve-ux-spinners-colors

Conversation

@thomas-vilte

@thomas-vilte thomas-vilte commented Dec 14, 2025

Copy link
Copy Markdown
Owner

Closes #45

Este Pull Request introduce mejoras significativas en la experiencia de usuario (UX) de la herramienta, abordando la falta de feedback visual y la interacción durante la generación y confirmación de commits. La terminal ya no se "congela" y ofrece una interfaz más intuitiva y colorida.

Cambios Clave:

  • Implementación de Feedback Visual con Spinners y Colores:

    • Propósito: Resolver el problema de la terminal "congelada" y mejorar la legibilidad. Se integra la librería github.com/briandowns/spinner para mostrar progreso durante operaciones largas (ej. generación de sugerencias, adición de archivos al staging, creación de commits) y github.com/fatih/color para una salida de texto más clara y diferenciada.
    • Impacto Técnico: Se introduce un nuevo paquete internal/ui que encapsula toda la lógica de interacción con el usuario, incluyendo spinners inteligentes, mensajes con colores (éxito, error, advertencia, información) y banners de sección. Esto centraliza la gestión de la UI y facilita futuras mejoras.
  • Previsualización de Cambios (Diff) y Confirmación Interactiva:

    • Propósito: Permitir a los usuarios revisar los cambios antes de confirmar un commit y ofrecer un control explícito sobre la operación. Esto mejora la confianza del usuario y reduce errores.
    • Impacto Técnico: El SuggestionHandler ahora utiliza ui.AskConfirmation para preguntar si se desea ver el diff de los archivos seleccionados y si se confirma el commit. La función ui.ShowDiff se encarga de ejecutar git diff con formato de color para una visualización clara en la terminal.
  • Actualización Automática de Checklists en Issues de GitHub:

    • Propósito: Automatizar el marcado de criterios de aceptación completados en issues de GitHub, mejorando la gestión de tareas y la sincronización entre el código y el seguimiento del proyecto.
    • Impacto Técnico: Se añade un vcsClient al SuggestionHandler y se implementa el método UpdateIssueChecklist en github_service.go. Este método parsea el cuerpo del issue, identifica los checkboxes y marca como completados aquellos cuyos índices son proporcionados por la IA. Esto se activa si la IA detecta criterios completados en la sugerencia de commit.
  • Mejora en la Presentación de Sugerencias y Manejo de Errores:

    • Propósito: Hacer que las sugerencias de commit sean más fáciles de leer y entender, y proporcionar un feedback más útil en caso de errores.
    • Impacto Técnico: El método displaySuggestions en suggestions.go ha sido refactorizado para usar colores y emojis, mejorando la estructura visual de la información (análisis de código, archivos modificados, análisis de requisitos). Además, el comando suggests_commits ahora utiliza el paquete ui para mostrar mensajes de error más descriptivos y sugerencias para su resolución (ej. API key faltante, no hay cambios detectados).

Impacto Técnico General:

La introducción del paquete internal/ui representa una refactorización significativa que desacopla la lógica de presentación de la lógica de negocio, haciendo el código más modular y mantenible. Las dependencias github.com/briandowns/spinner y github.com/fatih/color se han añadido a go.mod y go.sum. La integración del vcsClient en el flujo de sugerencias de commit abre la puerta a una mayor automatización en la interacción con sistemas de control de versiones y gestión de tickets.

Test Plan

@thomas-vilte thomas-vilte force-pushed the feat/45-improve-ux-spinners-colors branch from 03cd6ab to fe6642f Compare December 14, 2025 06:47
@thomas-vilte thomas-vilte changed the title feat: Mejora UX con spinners, colores y preview de diff (#45) feat: Mejora UX con spinners, colores y preview de diff (Closes #45) Dec 15, 2025
@thomas-vilte thomas-vilte added feature New features refactor Code restructuring or cleaning without functional changes labels Dec 15, 2025
@thomas-vilte thomas-vilte merged commit a601b8b into master Dec 15, 2025
1 of 4 checks passed
@thomas-vilte thomas-vilte changed the title feat: Mejora UX con spinners, colores y preview de diff (Closes #45) feat: Mejoras de UX con spinners, colores y preview de diff (#45) Dec 15, 2025
@thomas-vilte thomas-vilte added the docs Changes in documentation label Dec 15, 2025
@thomas-vilte thomas-vilte changed the title feat: Mejoras de UX con spinners, colores y preview de diff (#45) feat: Mejora UX con spinners, colores y preview de diff (#45) Dec 15, 2025
@thomas-vilte thomas-vilte added the test Testing, trials, and coverage label Dec 15, 2025
thomas-vilte added a commit that referenced this pull request Dec 18, 2025
…olors

feat: Mejora UX con spinners, colores y preview de diff (Closes #45)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Changes in documentation feature New features refactor Code restructuring or cleaning without functional changes test Testing, trials, and coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Mejorar UX con spinners, colores y preview de diff

1 participant