Skip to content

feat: Issue context para commits#40

Merged
thomas-vilte merged 5 commits into
masterfrom
feat/39-issue-context-integration
Dec 12, 2025
Merged

feat: Issue context para commits#40
thomas-vilte merged 5 commits into
masterfrom
feat/39-issue-context-integration

Conversation

@thomas-vilte

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

Copy link
Copy Markdown
Owner

Closes #39

  • 1. Implementación de detección y contextualización automática de issues en commits:

    • Propósito: Aborda directamente la Issue feat: Agregar contexto de problema/ticket a confirmaciones y solicitudes de incorporación de cambios #39 al integrar la detección automática de issues (desde nombres de ramas y commits recientes) y la especificación manual (--issue). Esto enriquece las sugerencias de commit generadas por la IA con información relevante del issue, mejorando la calidad y coherencia de los mensajes.
    • Impacto técnico:
      • Se introducen nuevos mecanismos de detección de issues en el CommitService y se añade el flag --issue al comando suggest.
      • Se actualizan los prompts de la IA (commit_summarizer_service) para incluir y validar referencias a issues en los títulos de los commits, añadiendo lógica de post-procesamiento para asegurar el formato (#N).
      • Se define el modelo models.Issue y se extiende la interfaz ports.VCSClient con GetIssue.
  • 2. Habilitación de la obtención de mensajes de commits recientes:

    • Propósito: Proporciona la infraestructura necesaria en GitService para que el CommitService pueda analizar los mensajes de commits anteriores. Esto es fundamental para la detección automática de issues basada en referencias en el historial de commits, apoyando directamente la funcionalidad principal de la Issue feat: Agregar contexto de problema/ticket a confirmaciones y solicitudes de incorporación de cambios #39.
    • Impacto técnico:
      • Se añade el método GetRecentCommitMessages a la interfaz ports.GitService y su implementación en internal/infrastructure/git/git_service.go.
      • Se actualizan los mocks (internal/cli/command/handler/suggestions_test.go, internal/cli/command/release/mocks.go, internal/services/mocks.go) para soportar la nueva funcionalidad.
  • 3. Refactorización y unificación de nombres de módulos CLI y servicios:

    • Propósito: Mejora la estructura y la claridad del código al unificar los nombres de paquetes y archivos, como pr a pull_requests y suggest a suggests_commits, y los servicios de IA. Aunque es un cambio de limpieza, facilita la integración de nuevas funcionalidades como la Issue feat: Agregar contexto de problema/ticket a confirmaciones y solicitudes de incorporación de cambios #39 y mejora la mantenibilidad general.
    • Impacto técnico:
      • Renombre de directorios y archivos (internal/cli/command/pr a pull_requests, internal/cli/command/suggest a suggests_commits, internal/infrastructure/ai/gemini/gemini_service.go a commit_summarizer_service.go, etc.).
      • Actualización de referencias de importación y registro de comandos en cmd/main.go.

Test Plan

thomas-vilte and others added 5 commits December 12, 2025 00:44
Implements automatic issue/ticket context integration for commit suggestions:

- Add --issue flag to suggest command for manual issue specification
- Auto-detect issues from branch names (patterns: #N, issue-N, N-desc, etc.)
- Auto-detect issues from recent commit messages (fixes/closes keywords)
- Integrate with VCS client (GitHub) to fetch issue details
- Include issue context (title, description, labels) in AI prompts
- Update AI prompts to enforce issue reference in commit titles
- Add post-processing fallback to ensure issue references (#N)
- Full i18n support (EN/ES) for all issue-related messages
- Graceful degradation when issue fetch fails

The feature works provider-agnostic (GitHub, GitLab, etc.) through
the VCSClient interface and includes lazy initialization for optimal
performance.

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
# Conflicts:
#	internal/domain/ports/vcs_client.go
#	internal/infrastructure/vcs/github/github_service.go
#	internal/infrastructure/vcs/github/github_service_test.go
#	internal/services/pull_request_service_test.go
@thomas-vilte thomas-vilte merged commit de74a3f into master Dec 12, 2025
1 of 4 checks passed
@thomas-vilte thomas-vilte changed the title Feat/39 issue context integration feat: Contexto Issues en Sugerencias Commit Dec 12, 2025
@thomas-vilte thomas-vilte added feature New features infra Infrastructure and DevOps refactor Code restructuring or cleaning without functional changes test Testing, trials, and coverage labels Dec 12, 2025
@thomas-vilte thomas-vilte changed the title feat: Contexto Issues en Sugerencias Commit feat: Contexto de issues y auto-detección Dec 12, 2025
@thomas-vilte thomas-vilte added the docs Changes in documentation label Dec 12, 2025
@thomas-vilte thomas-vilte changed the title feat: Contexto de issues y auto-detección feat: Auto-detecta issues para commits Dec 12, 2025
@thomas-vilte thomas-vilte changed the title feat: Auto-detecta issues para commits feat: Issue context para commits Dec 12, 2025
thomas-vilte added a commit that referenced this pull request Dec 21, 2025
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 infra Infrastructure and DevOps 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: Agregar contexto de problema/ticket a confirmaciones y solicitudes de incorporación de cambios

1 participant