Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 53 additions & 48 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,49 +1,54 @@
name: Bug Report
description: Create a report to help us improve MateCommit
labels: ["bug"]
body:
- attributes:
value: Gracias por reportar este problema, tu feedback ayuda a mejorar el proyecto.
type: markdown
- attributes:
description: Contame con tus palabras qué problema encontraste
label: ¿Qué pasó?
placeholder: Cuando intento guardar los cambios, la aplicación deja de responder...
id: description
type: textarea
validations:
required: true
- attributes:
description: Detallá los pasos para que pueda reproducir el error
label: ¿Cómo lo reproduzco?
placeholder: "1. \n2. \n3. "
id: steps
type: textarea
validations:
required: true
- attributes:
label: ¿Qué esperabas que pasara?
placeholder: Esperaba que se guardaran los cambios sin problemas
id: expected
type: textarea
validations:
required: true
- attributes:
label: ¿Qué pasó en realidad?
placeholder: La aplicación se quedó trabada y tuve que cerrarla
id: actual
type: textarea
validations:
required: true
- attributes:
label: Versión
placeholder: v1.0.0
id: version
type: input
- attributes:
description: Screenshots, logs, o cualquier detalle que pueda ayudar a entender el problema
label: Información extra
id: additional
type: textarea
description: Crea un reporte para ayudarnos a mejorar
labels:
- bug
name: Reporte de Error
title: '[BUG] '
- type: markdown
attributes:
value: |
Thanks for reporting this issue! Your feedback helps make MateCommit better for everyone.
- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of what the bug is.
placeholder: I was trying to... and then...
validations:
required: true
- type: textarea
id: steps
attributes:
label: Reproduction Steps
description: Tell us how to reproduce the error.
placeholder: |
1. Run `matecommit suggest`
2. ...
3. ...
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What did you expect to happen?
placeholder: I expected the commit message to be...
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What actually happened?
placeholder: The CLI crashed with error...
validations:
required: true
- type: input
id: version
attributes:
label: Version
description: Version of MateCommit (run `matecommit --version`)
placeholder: v1.4.0
- type: textarea
id: additional
attributes:
label: Additional Context
description: Screenshots, logs, or any other information that might help.
67 changes: 33 additions & 34 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,34 @@
name: Feature Request
description: Suggest an idea for MateCommit
labels: ["enhancement"]
body:
- attributes:
value: Gracias por contribuir con ideas para mejorar el proyecto.
type: markdown
- attributes:
description: Contame qué necesidad o dificultad tenés actualmente
label: ¿Qué problema querés resolver?
placeholder: Me cuesta mucho hacer X porque no hay forma de Y...
id: problem
type: textarea
validations:
required: true
- attributes:
description: Describí cómo te imaginás que debería funcionar
label: ¿Qué solución proponés?
placeholder: Estaría bueno poder hacer X desde Y para que sea más rápido...
id: solution
type: textarea
validations:
required: true
- attributes:
description: Si consideraste alternativas, contame cuáles
label: ¿Pensaste en otras opciones?
id: alternatives
type: textarea
- attributes:
description: Screenshots, ejemplos, o links que puedan ayudar a entender la propuesta
label: Contexto adicional
id: additional
type: textarea
description: Sugiere una idea para este proyecto
labels:
- enhancement
name: Solicitud de Funcionalidad
title: '[FEATURE] '
- type: markdown
attributes:
value: |
Thanks for contributing ideas to improve the project!
- type: textarea
id: problem
attributes:
label: Problem Statement
description: Is your feature request related to a problem? Please describe.
placeholder: I'm always frustrated when...
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed Solution
description: A clear and concise description of what you want to happen.
placeholder: It would be great if MateCommit could...
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: A clear and concise description of any alternative solutions or features you've considered.
- type: textarea
id: additional
attributes:
label: Additional Context
description: Add any other context or screenshots about the feature request here.
26 changes: 26 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## Description
Please include a summary of the change and which issue is fixed. Also include relevant motivation and context.

Fixes # (issue)

## Type of Change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update

## How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.

- [ ] Unit tests
- [ ] Integration tests
- [ ] Manual test: (describe below)

## Checklist
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
22 changes: 22 additions & 0 deletions .github/workflows/golangci-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: golangci-lint
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
permissions:
contents: read
jobs:
golangci-lint:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.24'
cache: false
- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
version: v1.60
61 changes: 30 additions & 31 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,71 +6,70 @@ All notable changes to this project will be documented in this file.

[v1.4.0]: https://github.com/Tomas-vilte/MateCommit/compare/v1.3.0...v1.4.0

En esta versión nos enfocamos en transformar tu interacción con la herramienta, mejorando drásticamente la experiencia de usuario con feedback visual en tiempo real y optimizando la automatización de tus procesos de release. Además, potenciamos la inteligencia artificial para un análisis más profundo y contextualizado.
In this release, we focused on transforming your interaction with the tool by drastically improving the user experience with real-time visual feedback and optimizing release process automation. Additionally, we've enhanced the AI for deeper and more contextualized analysis.

### Highlights
### Highlights

- **Experiencia de Usuario Renovada:** Implementamos spinners, colores y una previsualización de cambios (diff) para un feedback visual en tiempo real. Además, agregamos un comando `doctor` para validar tu clave de API de Gemini y mejoramos la previsualización de commits, permitiéndote editar el mensaje antes de confirmar.
- **Automatización Integral de Releases:** Simplificamos y automatizamos la generación de notas de release para `CHANGELOG.md`, la actualización de la versión de la aplicación y el commit automático del changelog. Ahora también podés editar releases existentes, agilizando tu flujo de trabajo.
- **Inteligencia Artificial Contextualizada:** Mejoramos la capacidad de la IA para entender el contexto de tus commits y solicitudes de incorporación (PRs). Ahora detecta automáticamente issues, breaking changes y planes de prueba, enriqueciendo los resúmenes de PR y las notas de release con información más relevante.
- **Análisis de Dependencias Multi-lenguaje:** Agregamos la capacidad de analizar cambios en las dependencias de tus proyectos, incluso en entornos multi-lenguaje, brindando una visión más completa y detallada de cada release.
- **Mejoras en la Interfaz de Línea de Comandos (CLI):** Implementamos autocompletado para comandos y flags, haciendo tu experiencia en la terminal mucho más fluida y eficiente.
- **Correcciones y Estabilidad:** Aseguramos que el resumidor de PRs utilice correctamente la plantilla para las instrucciones de formato JSON, garantizando la consistencia en la generación de resúmenes.
- **Renovated User Experience:** Implemented spinners, colors, and change previews (diff) for real-time visual feedback. Added a `doctor` command to validate your Gemini API key and improved commit previews, allowing message editing before confirmation.
- **Comprehensive Release Automation:** Simplified and automated release note generation for `CHANGELOG.md`, version updates, and automatic changelog commits. You can now also edit existing releases, streamlining your workflow.
- **Contextualized AI:** Enhanced the AI's ability to understand the context of your commits and Pull Requests (PRs). It now automatically detects issues, breaking changes, and test plans, enriching PR summaries and release notes with more relevant information.
- **Multi-language Dependency Analysis:** Added the ability to analyze dependency changes in your projects, even in multi-language environments, providing a more complete and detailed view of each release.
- **CLI Improvements:** Implemented autocompletion for commands and flags, making your terminal experience smoother and more efficient.
- **Fixes and Stability:** Ensured the PR summarizer correctly uses the JSON format template, guaranteeing consistency in summary generation.

## [v1.3.0] - 2025-12-09

[v1.3.0]: https://github.com/Tomas-vilte/MateCommit/compare/v1.2.0...v1.3.0

En esta versión, nos enfocamos en simplificar y automatizar aún más sus flujos de trabajo, desde la gestión de releases hasta la interacción con Pull Requests. También mejoramos la experiencia de configuración y la estabilidad general de la aplicación.
In this release, we focused on further simplifying and automating your workflows, from release management to Pull Request interaction. We also improved the configuration experience and general application stability.

### Highlights
### Highlights

- Simplificamos la gestión de releases y la publicación: Ahora pueden generar y publicar nuevas versiones de forma más fluida con comandos dedicados y un asistente de prompts que utiliza un tono natural y en primera persona, haciendo el proceso más intuitivo y automatizado.
- Renovamos la configuración y la asistencia en la CLI: Introdujimos el comando `config init` para guiarlos en la configuración inicial, un comando `edit` para ajustar fácilmente los parámetros, y un comando `help` para que siempre tengan la información a mano. También optimizamos la guía para la configuración de VCS y agregamos una etiqueta de 'performance' para la IA.
- Potenciamos la interacción con Pull Requests: Ahora detectamos automáticamente la información del repositorio para los comandos de PR, validamos y normalizamos las etiquetas, y manejamos mejor los diffs grandes con un sistema de fallback, asegurando un flujo de trabajo más robusto.
- Mejoramos la localización y claridad de los mensajes: Agregamos mensajes internacionalizados para errores de permisos de token de GitHub y para el procesamiento de diffs grandes en PRs, brindando un feedback más claro y útil en español.
- Actualizamos nuestros modelos de IA: Migramos a los modelos Gemini v2.5, lo que nos permite ofrecer respuestas más precisas y eficientes. También mejoramos la configuración de la IA para que puedan ajustarla a sus necesidades.
- Correcciones de Estabilidad y Calidad: Solucionamos un problema que causaba errores en el servicio de IA en ciertas situaciones, mejoramos la precisión de `git add` y corregimos un error de ortografía en nuestros mensajes en español para una experiencia más pulcra.
- **Simplified Release Management:** You can now generate and publish new versions more smoothly with dedicated commands and a prompt assistant using a natural first-person tone.
- **Renewed CLI Configuration & Assistance:** Introduced `config init` to guide you through initial setup, an `edit` command to easily adjust parameters, and a `help` command. Optimized VCS configuration guides and added a 'performance' tag for AI.
- **Enhanced PR Interaction:** Automatically detect repository information for PR commands, validate and normalize tags, and handle large diffs better with a fallback system.
- **Improved Localization:** Added internationalized messages for GitHub token permission errors and large PR diff processing, providing clearer feedback in both English and Spanish.
- **AI Model Updates:** Migrated to Gemini v1.5/2.0 models for more accurate and efficient responses.
- **Stability Fixes:** Resolved AI service errors in specific scenarios, improved `git add` precision, and corrected spelling in Spanish messages.

## [v1.2.0] - 2025-02-18

[v1.2.0]: https://github.com/Tomas-vilte/MateCommit/compare/v1.1.1...v1.2.0

En esta versión de MateCommit, nos complace presentar una nueva funcionalidad que te va a ahorrar tiempo: la capacidad de resumir Pull Requests. Además, aprovechamos para fortalecer la aplicación mejorando el manejo de errores y su adaptabilidad, para que tu experiencia sea aún más fluida y confiable.
In this version of MateCommit, we're excited to introduce a time-saving feature: Pull Request Summarization. We've also strengthened the application by improving error handling and adaptability.

### Highlights
### Highlights

- Resumen de Pull Requests: Agregamos el comando `summarize-pr`, una herramienta potente que te permite obtener resúmenes concisos de tus Pull Requests directamente desde la terminal. Para hacer esto posible, implementamos un cliente de GitHub robusto que facilita la interacción con tus repositorios.
- Estabilidad y Adaptabilidad Mejoradas: Optimizamos significativamente el manejo de errores para que la aplicación sea más robusta frente a situaciones inesperadas. También ampliamos la internacionalización, haciendo a MateCommit más adaptable y fácil de usar en distintos contextos.
- **Pull Request Summary:** Added the `summarize-pr` command to get concise PR summaries directly from the terminal. Implemented a robust GitHub client for smoother repository interaction.
- **Improved Stability & Adaptability:** Significantly optimized error handling and expanded internationalization for a more adaptable and reliable experience.

## [v1.1.1] - 2025-02-06

[v1.1.1]: https://github.com/Tomas-vilte/MateCommit/compare/v1.1.0...v1.1.1

En esta versión nos enfocamos en fortalecer la robustez de la aplicación. Implementamos mejoras clave en el manejo de errores para que las operaciones sean más estables y el feedback, más preciso.
Focused on strengthening application robustness with key error handling improvements for more stable operations and precise feedback.

### Highlights
### Highlights

- Manejo de Errores Mejorado: Reforzamos la gestión de errores al agregar archivos al staging. Esto significa que la aplicación es más robusta y te brindará información más clara si surge algún problema durante esta operación.
- **Enhanced Error Handling:** Reinforced error management when staging files, providing clearer information if issues arise.

## [v1.1.0] - 2025-02-05

[v1.1.0]: https://github.com/Tomas-vilte/MateCommit/compare/v1.0.0...v1.1.0

En esta versión de MateCommit, nos enfocamos en expandir las capacidades de nuestra interfaz de línea de comandos. Ahora, los usuarios podrán configurar la inteligencia artificial directamente desde la CLI, lo que facilita una mayor personalización y control sobre sus flujos de trabajo.
Expanded CLI capabilities, allowing users to configure AI settings directly from the terminal for greater personalization and control.

### Highlights
### Highlights

- Configuración de IA en la CLI: Agregamos una nueva funcionalidad que permite configurar la inteligencia artificial directamente desde la línea de comandos, ofreciendo una experiencia más integrada y un control detallado para los usuarios avanzados.
- **AI Configuration via CLI:** New functionality to configure AI settings directly from the command line, offering an integrated experience for advanced users.

## [v1.0.0] - 2025-01-15

[v1.0.0]: https://github.com/Tomas-vilte/MateCommit/releases/tag/v1.0.0

En esta primera versión de MateCommit, nos enfocamos en potenciar tu flujo de trabajo con la integración de inteligencia artificial. Ahora, generar mensajes de commit descriptivos y profesionales es más fácil que nunca, y te damos una bienvenida más cálida al iniciar la herramienta.
The first version of MateCommit focuses on boosting your workflow with AI integration. Generating descriptive and professional commit messages is now easier than ever.

### ✨ Highlights

- **Sugerencias de Mensajes de Commit con IA:** Implementamos la integración con modelos de IA (como Gemini) para que MateCommit te ofrezca sugerencias inteligentes y relevantes para tus mensajes de commit. Esto te ayuda a mantener un historial de cambios claro y consistente sin esfuerzo.
- **Bienvenida Mejorada en la CLI:** Agregamos un mensaje de saludo al iniciar la aplicación, haciendo la experiencia de usuario más amigable y dándote la bienvenida a MateCommit.
### Highlights

- **AI-Powered Commit Suggestions:** Integration with AI models (like Gemini) to offer intelligent and relevant commit message suggestions.
- **Improved CLI Welcome:** Added a greeting message to make the user experience friendlier from the start.
Loading
Loading