Skip to content

Commit 2dff72c

Browse files
authored
Merge pull request #54 from Tomas-vilte/feature/issue-generator
feat(issue): Implemento comando 'issue' para generación inteligente y gestión de issues
2 parents ea2576a + bb5c1a3 commit 2dff72c

45 files changed

Lines changed: 3795 additions & 531 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
body:
2+
- attributes:
3+
value: Gracias por reportar este problema, tu feedback ayuda a mejorar el proyecto.
4+
type: markdown
5+
- attributes:
6+
description: Contame con tus palabras qué problema encontraste
7+
label: ¿Qué pasó?
8+
placeholder: Cuando intento guardar los cambios, la aplicación deja de responder...
9+
id: description
10+
type: textarea
11+
validations:
12+
required: true
13+
- attributes:
14+
description: Detallá los pasos para que pueda reproducir el error
15+
label: ¿Cómo lo reproduzco?
16+
placeholder: "1. \n2. \n3. "
17+
id: steps
18+
type: textarea
19+
validations:
20+
required: true
21+
- attributes:
22+
label: ¿Qué esperabas que pasara?
23+
placeholder: Esperaba que se guardaran los cambios sin problemas
24+
id: expected
25+
type: textarea
26+
validations:
27+
required: true
28+
- attributes:
29+
label: ¿Qué pasó en realidad?
30+
placeholder: La aplicación se quedó trabada y tuve que cerrarla
31+
id: actual
32+
type: textarea
33+
validations:
34+
required: true
35+
- attributes:
36+
label: Versión
37+
placeholder: v1.0.0
38+
id: version
39+
type: input
40+
- attributes:
41+
description: Screenshots, logs, o cualquier detalle que pueda ayudar a entender el problema
42+
label: Información extra
43+
id: additional
44+
type: textarea
45+
description: Crea un reporte para ayudarnos a mejorar
46+
labels:
47+
- bug
48+
name: Reporte de Error
49+
title: '[BUG] '

.github/ISSUE_TEMPLATE/custom.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
body:
2+
- attributes:
3+
value: Describí el tema que querés reportar o discutir.
4+
type: markdown
5+
- attributes:
6+
description: Contame de qué se trata
7+
label: Descripción
8+
placeholder: Quisiera proponer/reportar/discutir...
9+
id: description
10+
type: textarea
11+
validations:
12+
required: true
13+
- attributes:
14+
description: Cualquier detalle extra que sea relevante
15+
label: Información adicional
16+
id: additional
17+
type: textarea
18+
description: Crea una issue personalizada
19+
labels: []
20+
name: Issue Personalizada
21+
title: '[ISSUE] '
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
body:
2+
- attributes:
3+
value: Gracias por contribuir con ideas para mejorar el proyecto.
4+
type: markdown
5+
- attributes:
6+
description: Contame qué necesidad o dificultad tenés actualmente
7+
label: ¿Qué problema querés resolver?
8+
placeholder: Me cuesta mucho hacer X porque no hay forma de Y...
9+
id: problem
10+
type: textarea
11+
validations:
12+
required: true
13+
- attributes:
14+
description: Describí cómo te imaginás que debería funcionar
15+
label: ¿Qué solución proponés?
16+
placeholder: Estaría bueno poder hacer X desde Y para que sea más rápido...
17+
id: solution
18+
type: textarea
19+
validations:
20+
required: true
21+
- attributes:
22+
description: Si consideraste alternativas, contame cuáles
23+
label: ¿Pensaste en otras opciones?
24+
id: alternatives
25+
type: textarea
26+
- attributes:
27+
description: Screenshots, ejemplos, o links que puedan ayudar a entender la propuesta
28+
label: Contexto adicional
29+
id: additional
30+
type: textarea
31+
description: Sugiere una idea para este proyecto
32+
labels:
33+
- enhancement
34+
name: Solicitud de Funcionalidad
35+
title: '[FEATURE] '

cmd/main.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ import (
99
"github.com/Tomas-vilte/MateCommit/internal/cli/command/completion"
1010
"github.com/Tomas-vilte/MateCommit/internal/cli/command/config"
1111
"github.com/Tomas-vilte/MateCommit/internal/cli/command/handler"
12+
"github.com/Tomas-vilte/MateCommit/internal/cli/command/issues"
1213
"github.com/Tomas-vilte/MateCommit/internal/cli/command/pull_requests"
1314
"github.com/Tomas-vilte/MateCommit/internal/cli/command/release"
1415
"github.com/Tomas-vilte/MateCommit/internal/cli/command/suggests_commits"
1516
"github.com/Tomas-vilte/MateCommit/internal/cli/command/update"
1617
"github.com/Tomas-vilte/MateCommit/internal/cli/registry"
1718
cfg "github.com/Tomas-vilte/MateCommit/internal/config"
19+
"github.com/Tomas-vilte/MateCommit/internal/domain/ports"
1820
"github.com/Tomas-vilte/MateCommit/internal/i18n"
1921
"github.com/Tomas-vilte/MateCommit/internal/infrastructure/ai/gemini"
2022
"github.com/Tomas-vilte/MateCommit/internal/infrastructure/di"
@@ -101,6 +103,14 @@ func initializeApp() (*cli.Command, error) {
101103
log.Fatalf("Error al registrar el comando 'suggest': %v", err)
102104
}
103105

106+
issueServiceProvider := func(ctx context.Context) (ports.IssueGeneratorService, error) {
107+
return container.GetIssueGeneratorService(ctx)
108+
}
109+
110+
if err := registerCommand.Register("issue", issues.NewIssuesCommandFactory(issueServiceProvider, container.GetIssueTemplateService())); err != nil {
111+
log.Fatalf("Error al registrar el comando 'issue': %v", err)
112+
}
113+
104114
if err := registerCommand.Register("config", config.NewConfigCommandFactory()); err != nil {
105115
log.Fatalf("Error al registrar el comando 'config': %v", err)
106116
}

internal/cli/command/config/doctor.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ func (d *DoctorCommand) checkGeminiAPIKey(ctx context.Context, t *i18n.Translati
206206
testCtx, cancel := context.WithTimeout(ctx, 5*time.Second)
207207
defer cancel()
208208

209-
service, err := gemini.NewGeminiService(testCtx, cfg, t)
209+
service, err := gemini.NewGeminiCommitSummarizer(testCtx, cfg, t)
210210
if err != nil {
211211
return checkResult{
212212
status: checkStatusError,

internal/cli/command/config/init.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ func validateGeminiAPIKey(ctx context.Context, apiKey string, t *i18n.Translatio
382382
testCtx, cancel := context.WithTimeout(ctx, 10*time.Second)
383383
defer cancel()
384384

385-
_, err := gemini.NewGeminiService(testCtx, testCfg, t)
385+
_, err := gemini.NewGeminiCommitSummarizer(testCtx, testCfg, t)
386386
if err != nil {
387387
spinner.Error(t.GetMessage("config.api_key_invalid", 0, nil))
388388
ui.PrintError(t.GetMessage("config.check_api_key_error", 0, map[string]interface{}{

0 commit comments

Comments
 (0)