interactive-git-versioneer 0.10.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. interactive_git_versioneer-0.10.4/.github/workflows/auto-tag.yml +37 -0
  2. interactive_git_versioneer-0.10.4/.gitignore +17 -0
  3. interactive_git_versioneer-0.10.4/CHANGELOG.md +87 -0
  4. interactive_git_versioneer-0.10.4/CITATION.cff +8 -0
  5. interactive_git_versioneer-0.10.4/LICENSE +21 -0
  6. interactive_git_versioneer-0.10.4/PKG-INFO +144 -0
  7. interactive_git_versioneer-0.10.4/README.md +124 -0
  8. interactive_git_versioneer-0.10.4/docs/_assets/igv-quick_demo.gif +0 -0
  9. interactive_git_versioneer-0.10.4/docs/api.md +11 -0
  10. interactive_git_versioneer-0.10.4/docs/index.md +17 -0
  11. interactive_git_versioneer-0.10.4/docs/modules/core_ai.md +24 -0
  12. interactive_git_versioneer-0.10.4/docs/modules/core_git_ops.md +24 -0
  13. interactive_git_versioneer-0.10.4/docs/modules/releases.md +18 -0
  14. interactive_git_versioneer-0.10.4/docs/modules/tagger.md +17 -0
  15. interactive_git_versioneer-0.10.4/docs/troubleshooting-cicd.md +48 -0
  16. interactive_git_versioneer-0.10.4/docs/usage.md +31 -0
  17. interactive_git_versioneer-0.10.4/jenkins/configure-igv.sh +30 -0
  18. interactive_git_versioneer-0.10.4/jenkins/deploy.sh +67 -0
  19. interactive_git_versioneer-0.10.4/mkdocs.yml +24 -0
  20. interactive_git_versioneer-0.10.4/pyproject.toml +36 -0
  21. interactive_git_versioneer-0.10.4/setup.cfg +4 -0
  22. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/__init__.py +48 -0
  23. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/config/__init__.py +23 -0
  24. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/config/config.py +100 -0
  25. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/config/menu.py +630 -0
  26. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/core/__init__.py +57 -0
  27. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/core/ai.py +209 -0
  28. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/core/git_ops.py +189 -0
  29. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/core/models.py +29 -0
  30. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/core/ui.py +544 -0
  31. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/core/version_ops.py +151 -0
  32. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/main.py +304 -0
  33. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/releases/__init__.py +1 -0
  34. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/releases/changelog_actions.py +970 -0
  35. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/releases/changelog_gen.py +299 -0
  36. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/releases/changelog_progress.py +71 -0
  37. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/releases/gh_auth.py +113 -0
  38. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/releases/gh_releases.py +921 -0
  39. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/releases/menus.py +444 -0
  40. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/releases/sync.py +163 -0
  41. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/tags/__init__.py +101 -0
  42. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/tags/actions.py +629 -0
  43. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/tags/ai.py +347 -0
  44. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/tags/menus.py +444 -0
  45. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/tags/tagger.py +971 -0
  46. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer/tags/views.py +470 -0
  47. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer.egg-info/PKG-INFO +144 -0
  48. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer.egg-info/SOURCES.txt +54 -0
  49. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer.egg-info/dependency_links.txt +1 -0
  50. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer.egg-info/entry_points.txt +2 -0
  51. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer.egg-info/requires.txt +6 -0
  52. interactive_git_versioneer-0.10.4/src/interactive_git_versioneer.egg-info/top_level.txt +1 -0
  53. interactive_git_versioneer-0.10.4/tests/__init__.py +0 -0
  54. interactive_git_versioneer-0.10.4/tests/test_config.py +71 -0
  55. interactive_git_versioneer-0.10.4/tests/test_git_ops.py +113 -0
  56. interactive_git_versioneer-0.10.4/tests/test_models.py +51 -0
@@ -0,0 +1,37 @@
1
+ name: interactive-git-versioneer Release
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ tag:
10
+ runs-on: ubuntu-latest
11
+ permissions:
12
+ contents: write
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ with:
16
+ fetch-depth: 0
17
+
18
+ - uses: actions/setup-python@v5
19
+ with:
20
+ python-version: '3.11'
21
+ cache: 'pip'
22
+
23
+ - name: Install package
24
+ run: pip install -e .
25
+
26
+ - name: Configure API
27
+ run: |
28
+ python -m interactive_git_versioneer.main config set OPENAI.key "${{ secrets.GROQ_API_KEY }}"
29
+ python -m interactive_git_versioneer.main config set OPENAI.baseURL "https://api.groq.com/openai/v1"
30
+ python -m interactive_git_versioneer.main config set OPENAI.model "llama-3.3-70b-versatile"
31
+
32
+ - name: Dry run (validate)
33
+ run: python -m interactive_git_versioneer.main tag --auto --dry-run
34
+
35
+ - name: Create and push tags
36
+ if: success()
37
+ run: python -m interactive_git_versioneer.main tag --auto --push
@@ -0,0 +1,17 @@
1
+ # Python-specific
2
+ __pycache__/
3
+ *.egg-info/
4
+ .pytest_cache
5
+
6
+ # Build y distribución
7
+ build/
8
+ dist/
9
+
10
+ # Credenciales
11
+ .pypirc
12
+
13
+ # Pyright configuration file
14
+ pyrightconfig.json
15
+
16
+ # VSCode settings folder
17
+ .vscode/
@@ -0,0 +1,87 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ *Automatically generated with AI on 2026-02-05 23:59*
6
+
7
+ ## [v0.10.4] - 2026-02-05
8
+
9
+ ### 🔧 Cambios varios
10
+ - Actualiza la visualización de la versión en la etiquetadora
11
+
12
+ ## [v0.10.3] - 2026-02-05
13
+
14
+ Actualiza la documentación con el registro de cambios y la versión.
15
+
16
+ ## [v0.10.2] - 2026-02-05
17
+
18
+ ### 🔧 Cambios varios
19
+ - Establecer la estructura y configuración inicial del proyecto
20
+
21
+ ## [v0.10.1] - 2026-02-05
22
+
23
+ ### Cambios importantes
24
+ - Agrega una demostración rápida de IGV en formato GIF a la documentación.
25
+
26
+ ## [v0.10.0] - 2026-02-05
27
+
28
+ Agrega una configuración de MkDocs para mejorar la documentación.
29
+
30
+ ## [v0.9.0] - 2026-02-05
31
+
32
+ ### Cambios clave
33
+ - Agrega flujo de trabajo de autoetiquetado para la integración continua en la construcción.
34
+
35
+ ## [v0.8.2] - 2026-02-05
36
+
37
+ ### Mejoras y Cambios
38
+ - Agrega pruebas para configuración, operaciones de git y modelos.
39
+
40
+ ## [v0.8.1] - 2026-02-05
41
+
42
+ ### Cambios importantes
43
+ - Agregue documentación para los módulos principales.
44
+
45
+ ## [v0.8.0] - 2026-02-05
46
+
47
+ ### Nuevas Características
48
+ - Agrega scripts de despliegue y configuración para igv en Jenkins
49
+
50
+ ## [v0.7.1] - 2026-02-05
51
+
52
+ ### Cambios importantes
53
+ - Agrega documentación para Interactive Git Versioneer
54
+
55
+ ## [v0.7.0] - 2026-02-05
56
+
57
+ ### Nuevas Características
58
+ - Agrega gestión de etiquetas interactiva y generación de etiquetas impulsada por inteligencia artificial.
59
+
60
+ ## [v0.6.0] - 2026-02-05
61
+
62
+ - Agrega funcionalidad de gestión de lanzamientos y registro de cambios.
63
+
64
+ ## [v0.5.0] - 2026-02-05
65
+
66
+ ### Nuevas Características
67
+ - Agrega funcionalidad central para interactive-git-versioneer
68
+
69
+ ## [v0.4.0] - 2026-02-05
70
+
71
+ Agrega un módulo de configuración para interactive-git-versioneer.
72
+
73
+ ## [v0.3.0] - 2026-02-05
74
+
75
+ - Agrega una interfaz de línea de comandos interactiva de Git Versioneer con funcionalidad de configuración y etiquetado.
76
+
77
+ ## [v0.2.0] - 2026-02-05
78
+
79
+ Agrega la estructura y documentación inicial del proyecto.
80
+
81
+ ## [v0.1.0] - 2026-02-05
82
+
83
+ Crea el repositorio con el commit inicial.
84
+
85
+ ---
86
+
87
+ *This changelog was generated with AI and follows the format of [Keep a Changelog](https://keepachangelog.com/es/1.0.0/)*
@@ -0,0 +1,8 @@
1
+ cff-version: 1.2.0
2
+ title: "interactive-git-versioneer"
3
+ authors:
4
+ - family-names: "Millanao Lepileo"
5
+ given-names: "Alexis E."
6
+ orcid: "https://orcid.org/0009-0003-1768-7048"
7
+ date-released: 2026-02-02
8
+ version: "6.12.2"
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Alexis E. Millanao Lepileo (alexis.millanao@protonmail.com)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,144 @@
1
+ Metadata-Version: 2.4
2
+ Name: interactive-git-versioneer
3
+ Version: 0.10.4
4
+ Summary: InteractiveGitVersioneer - Gestor interactivo de versiones Git con soporte para tags, releases de GitHub y generación de mensajes con IA (Groq/OpenAI). Incluye modo CI/CD para pipelines automatizados.
5
+ Author-email: amillanaol <alexis.millanao@protonmail.com>
6
+ License: MIT
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Operating System :: OS Independent
9
+ Classifier: Topic :: Software Development :: Version Control :: Git
10
+ Classifier: Environment :: Console
11
+ Requires-Python: >=3.7
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: GitPython>=3.1.0
15
+ Requires-Dist: openai>=1.0.0
16
+ Provides-Extra: dev
17
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
18
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
19
+ Dynamic: license-file
20
+
21
+ # InteractiveGitVersioneer
22
+
23
+ [![PyPI version](https://img.shields.io/pypi/v/interactive-git-versioneer.svg)](https://pypi.org/project/interactive-git-versioneer/)
24
+ [![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/)
25
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
26
+ [![Build Status](https://github.com/amillanaol/interactive-git-versioneer/actions/workflows/auto-tag.yml/badge.svg)](https://github.com/amillanaol/interactive-git-versioneer/actions/workflows/auto-tag.yml)
27
+
28
+ CLI para gestión de versiones semánticas con IA. Crea tags, genera changelogs y publica releases en GitHub de forma interactiva o automatizada.
29
+ ## Quick Demo
30
+
31
+ Aquí se mostrará un GIF animado ilustrando el flujo interactivo de `InteractiveGitVersioneer`.
32
+
33
+ ![Demostración Rápida](docs/_assets/igv-quick_demo.gif)
34
+
35
+ Gestor interactivo de versiones Git con soporte para tags, releases de GitHub y generación de mensajes con IA (Groq/OpenAI). Incluye modo CI/CD para pipelines automatizados.
36
+
37
+ ## Características Principales
38
+
39
+ - **Gestión de Tags**: Menú guiado para crear y gestionar etiquetas de versión
40
+ - **Gestión de Releases**: Crear releases en GitHub, generar changelogs
41
+ - **Inspección Automática**: Detecta commits sin tag
42
+ - **Simulación Segura**: Modos "dry run" para previsualizar cambios
43
+ - **Generación con IA**: Integración Groq/OpenAI para mensajes automáticos
44
+ - **Arquitectura Modular**: Sistema de menús extensible
45
+
46
+ ## Instalación Rápida
47
+
48
+ **Requisitos:** Python >= 3.7, GitPython >= 3.1.0, openai >= 1.0.0
49
+ **Opcional:** GitHub CLI (`gh`) para funciones de releases
50
+
51
+ ```bash
52
+ git clone https://github.com/amillanaol/interactive-git-versioneer.git
53
+ cd interactive-git-versioneer
54
+ pip install -e .
55
+ ```
56
+
57
+ ## Uso Básico
58
+
59
+ ```bash
60
+ # Ejecutar menú interactivo principal
61
+ igv
62
+ ```
63
+ > Para más comandos consultar el [artículo de comandos disponibles](./docs/comandos-disponibles.md)
64
+
65
+ **Navegación rápida:** `Supr`/`Esc` para volver, `q` para salir.
66
+
67
+ ## Estructura del Menú
68
+
69
+ ```
70
+ GESTOR DE VERSIONES GIT
71
+ ├── 1. Gestionar Commits
72
+ │ ├── Ver lista de commits
73
+ │ ├── Procesar commits individualmente
74
+ │ ├── Ver preview de tags pendientes
75
+ │ ├── Auto-generar todos los tags con IA
76
+ │ ├── Aplicar tags
77
+ │ └── Volver
78
+ ├── 2. Gestionar Tags
79
+ │ ├── Ver último tag
80
+ │ ├── Ver tags locales
81
+ │ ├── Ver tags remotos
82
+ │ ├── Modificar tag (submenú paginado)
83
+ │ ├── Eliminar tag local
84
+ │ ├── Eliminar tag remoto
85
+ │ ├── Sincronizar con repositorio remoto
86
+ │ ├── Generar tags con IA
87
+ │ └── Volver al menú principal
88
+ ├── 3. Gestionar Releases
89
+ │ ├── Autenticar con GitHub
90
+ │ ├── Crear release en GitHub
91
+ │ ├── Generar changelogs
92
+ │ ├── Ver releases existentes
93
+ │ ├── Modificar un release existente
94
+ │ ├── Eliminar un release existente
95
+ │ ├── Sincronizar con remoto
96
+ │ └── Volver al menú principal
97
+ ├── 4. Gestionar Changelogs
98
+ │ ├── Previsualizar changelog
99
+ │ ├── Continuar changelog (manualmente)
100
+ │ ├── Continuar changelog (automático con IA)
101
+ │ ├── Modificar changelogs
102
+ │ ├── Reconstruir todos los changelogs (con IA)
103
+ │ └── Volver
104
+ ├── 5. Configuración
105
+ │ ├── Ver configuración actual
106
+ │ ├── Configurar IA (Groq/OpenAI)
107
+ │ ├── Añadir alias 'igv' al sistema
108
+ │ ├── Ayuda - Comandos CLI
109
+ │ └── Volver al menú principal
110
+ └── 6. Salir
111
+ ```
112
+
113
+ ## Documentación Completa
114
+
115
+ - [Resumen de Documentación](./docs/01-entrada-navegacion/RESUMEN-DOCUMENTACION.md)
116
+ - [Mapa Visual de Documentación](./docs/01-entrada-navegacion/MAPA-VISUAL-DOCUMENTACION.md)
117
+ - [Changelog Completo](./docs/03-desarrollo/CHANGELOG.md)
118
+ - [Documentación de Completitud](./docs/05-referencia/DOCUMENTACION-COMPLETADA.md)
119
+ - [Migración de Nomenclatura](./docs/05-referencia/MIGRACION-NOMENCLATURA.md)
120
+
121
+ ### Documentación por Audiencia
122
+
123
+ - [Guía de Uso - Comandos Básicos](./docs/02-usuario/usuario-inicio-comandos-basicos.md)
124
+ - [Integración IA - Configuración Groq](./docs/04-configuracion/configuracion-ia-groq-integracion.md)
125
+ - [Referencia - Menú Interactivo](./docs/02-usuario/usuario-referencia-menu-opciones.md)
126
+
127
+ ### Guías de Ejecución
128
+
129
+ - [Instrucciones de Ejecución Real](./docs/guia-ejecucion-simulacion/instrucciones-ejecucion-real.md)
130
+ - [Simulación "Dry Run"](./docs/guia-ejecucion-simulacion/simulacion-dry-run.md)
131
+ - [Simulación "Full Dry Run"](./docs/guia-ejecucion-simulacion/simulacion-full-dry-run.md)
132
+
133
+ ### Estrategia de Versionado
134
+
135
+ - [Plan de Etiquetado de Versiones](./docs/plan-versionado-analisis/plan-etiquetado-versiones.md)
136
+ - [Resumen Visual de Versiones](./docs/plan-versionado-analisis/resumen-visual-versiones.md)
137
+
138
+ ## Licencia
139
+
140
+ Este proyecto se distribuye bajo la Licencia MIT. Consulte el archivo [LICENSE](./LICENSE) para más información.
141
+
142
+ ## Contribuciones
143
+
144
+ Las contribuciones son bienvenidas. Por favor, abra un *issue* para discutir los cambios propuestos o envíe un *pull request*.
@@ -0,0 +1,124 @@
1
+ # InteractiveGitVersioneer
2
+
3
+ [![PyPI version](https://img.shields.io/pypi/v/interactive-git-versioneer.svg)](https://pypi.org/project/interactive-git-versioneer/)
4
+ [![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/)
5
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
6
+ [![Build Status](https://github.com/amillanaol/interactive-git-versioneer/actions/workflows/auto-tag.yml/badge.svg)](https://github.com/amillanaol/interactive-git-versioneer/actions/workflows/auto-tag.yml)
7
+
8
+ CLI para gestión de versiones semánticas con IA. Crea tags, genera changelogs y publica releases en GitHub de forma interactiva o automatizada.
9
+ ## Quick Demo
10
+
11
+ Aquí se mostrará un GIF animado ilustrando el flujo interactivo de `InteractiveGitVersioneer`.
12
+
13
+ ![Demostración Rápida](docs/_assets/igv-quick_demo.gif)
14
+
15
+ Gestor interactivo de versiones Git con soporte para tags, releases de GitHub y generación de mensajes con IA (Groq/OpenAI). Incluye modo CI/CD para pipelines automatizados.
16
+
17
+ ## Características Principales
18
+
19
+ - **Gestión de Tags**: Menú guiado para crear y gestionar etiquetas de versión
20
+ - **Gestión de Releases**: Crear releases en GitHub, generar changelogs
21
+ - **Inspección Automática**: Detecta commits sin tag
22
+ - **Simulación Segura**: Modos "dry run" para previsualizar cambios
23
+ - **Generación con IA**: Integración Groq/OpenAI para mensajes automáticos
24
+ - **Arquitectura Modular**: Sistema de menús extensible
25
+
26
+ ## Instalación Rápida
27
+
28
+ **Requisitos:** Python >= 3.7, GitPython >= 3.1.0, openai >= 1.0.0
29
+ **Opcional:** GitHub CLI (`gh`) para funciones de releases
30
+
31
+ ```bash
32
+ git clone https://github.com/amillanaol/interactive-git-versioneer.git
33
+ cd interactive-git-versioneer
34
+ pip install -e .
35
+ ```
36
+
37
+ ## Uso Básico
38
+
39
+ ```bash
40
+ # Ejecutar menú interactivo principal
41
+ igv
42
+ ```
43
+ > Para más comandos consultar el [artículo de comandos disponibles](./docs/comandos-disponibles.md)
44
+
45
+ **Navegación rápida:** `Supr`/`Esc` para volver, `q` para salir.
46
+
47
+ ## Estructura del Menú
48
+
49
+ ```
50
+ GESTOR DE VERSIONES GIT
51
+ ├── 1. Gestionar Commits
52
+ │ ├── Ver lista de commits
53
+ │ ├── Procesar commits individualmente
54
+ │ ├── Ver preview de tags pendientes
55
+ │ ├── Auto-generar todos los tags con IA
56
+ │ ├── Aplicar tags
57
+ │ └── Volver
58
+ ├── 2. Gestionar Tags
59
+ │ ├── Ver último tag
60
+ │ ├── Ver tags locales
61
+ │ ├── Ver tags remotos
62
+ │ ├── Modificar tag (submenú paginado)
63
+ │ ├── Eliminar tag local
64
+ │ ├── Eliminar tag remoto
65
+ │ ├── Sincronizar con repositorio remoto
66
+ │ ├── Generar tags con IA
67
+ │ └── Volver al menú principal
68
+ ├── 3. Gestionar Releases
69
+ │ ├── Autenticar con GitHub
70
+ │ ├── Crear release en GitHub
71
+ │ ├── Generar changelogs
72
+ │ ├── Ver releases existentes
73
+ │ ├── Modificar un release existente
74
+ │ ├── Eliminar un release existente
75
+ │ ├── Sincronizar con remoto
76
+ │ └── Volver al menú principal
77
+ ├── 4. Gestionar Changelogs
78
+ │ ├── Previsualizar changelog
79
+ │ ├── Continuar changelog (manualmente)
80
+ │ ├── Continuar changelog (automático con IA)
81
+ │ ├── Modificar changelogs
82
+ │ ├── Reconstruir todos los changelogs (con IA)
83
+ │ └── Volver
84
+ ├── 5. Configuración
85
+ │ ├── Ver configuración actual
86
+ │ ├── Configurar IA (Groq/OpenAI)
87
+ │ ├── Añadir alias 'igv' al sistema
88
+ │ ├── Ayuda - Comandos CLI
89
+ │ └── Volver al menú principal
90
+ └── 6. Salir
91
+ ```
92
+
93
+ ## Documentación Completa
94
+
95
+ - [Resumen de Documentación](./docs/01-entrada-navegacion/RESUMEN-DOCUMENTACION.md)
96
+ - [Mapa Visual de Documentación](./docs/01-entrada-navegacion/MAPA-VISUAL-DOCUMENTACION.md)
97
+ - [Changelog Completo](./docs/03-desarrollo/CHANGELOG.md)
98
+ - [Documentación de Completitud](./docs/05-referencia/DOCUMENTACION-COMPLETADA.md)
99
+ - [Migración de Nomenclatura](./docs/05-referencia/MIGRACION-NOMENCLATURA.md)
100
+
101
+ ### Documentación por Audiencia
102
+
103
+ - [Guía de Uso - Comandos Básicos](./docs/02-usuario/usuario-inicio-comandos-basicos.md)
104
+ - [Integración IA - Configuración Groq](./docs/04-configuracion/configuracion-ia-groq-integracion.md)
105
+ - [Referencia - Menú Interactivo](./docs/02-usuario/usuario-referencia-menu-opciones.md)
106
+
107
+ ### Guías de Ejecución
108
+
109
+ - [Instrucciones de Ejecución Real](./docs/guia-ejecucion-simulacion/instrucciones-ejecucion-real.md)
110
+ - [Simulación "Dry Run"](./docs/guia-ejecucion-simulacion/simulacion-dry-run.md)
111
+ - [Simulación "Full Dry Run"](./docs/guia-ejecucion-simulacion/simulacion-full-dry-run.md)
112
+
113
+ ### Estrategia de Versionado
114
+
115
+ - [Plan de Etiquetado de Versiones](./docs/plan-versionado-analisis/plan-etiquetado-versiones.md)
116
+ - [Resumen Visual de Versiones](./docs/plan-versionado-analisis/resumen-visual-versiones.md)
117
+
118
+ ## Licencia
119
+
120
+ Este proyecto se distribuye bajo la Licencia MIT. Consulte el archivo [LICENSE](./LICENSE) para más información.
121
+
122
+ ## Contribuciones
123
+
124
+ Las contribuciones son bienvenidas. Por favor, abra un *issue* para discutir los cambios propuestos o envíe un *pull request*.
@@ -0,0 +1,11 @@
1
+ # API Reference
2
+
3
+ Esta página usa `mkdocstrings` para renderizar la documentación de la API a partir de los docstrings.
4
+
5
+ ::: interactive_git_versioneer
6
+
7
+ Si deseas limitar módulos o personalizar la vista, copia esta página y usa `:::` apuntando a módulos concretos, por ejemplo:
8
+
9
+ ```md
10
+ ::: interactive_git_versioneer.core.git_ops
11
+ ```
@@ -0,0 +1,17 @@
1
+ # Interactive Git Versioneer
2
+
3
+ Bienvenido a la documentación de **Interactive Git Versioneer**.
4
+
5
+ Este sitio contiene:
6
+
7
+ - Guía de uso rápida
8
+ - Referencia API generada desde los docstrings (con mkdocstrings)
9
+
10
+ Para generar la documentación localmente, instala las dependencias y ejecuta:
11
+
12
+ ```bash
13
+ pip install mkdocs mkdocstrings[python]
14
+ mkdocs serve
15
+ ```
16
+
17
+ Consulta la sección **API** para la referencia automática de la librería.
@@ -0,0 +1,24 @@
1
+ # Core: AI Helpers
2
+
3
+ Descripción: utilidades para integrar con APIs de IA (OpenAI/Groq). Contiene funciones
4
+ para crear el cliente y generar mensajes/tipos de versión.
5
+
6
+ Funciones clave:
7
+
8
+ - `get_openai_client()` — Inicializa y devuelve el cliente configurado.
9
+ - `generate_tag_message(commit_message, commit_diff, version_type, ...)` — Genera un mensaje de tag.
10
+ - `determine_version_type(commit_message, commit_diff)` — Clasifica (major/minor/patch) y devuelve una razón.
11
+
12
+ Ejemplo de uso:
13
+
14
+ ```python
15
+ from interactive_git_versioneer.core.ai import generate_tag_message, determine_version_type
16
+
17
+ vtype, reason = determine_version_type("Add feature X", "diff...")
18
+ msg = generate_tag_message("Add feature X", "diff...", vtype)
19
+ print(vtype, reason)
20
+ print(msg)
21
+ ```
22
+
23
+ Notas:
24
+ - Requiere configuración `OPENAI.key` y `OPENAI.baseURL` en la configuración del proyecto.
@@ -0,0 +1,24 @@
1
+ # Core: Git Operations
2
+
3
+ Descripción: funciones de bajo nivel para interactuar con repositorios Git (envolviendo GitPython).
4
+
5
+ Funciones clave:
6
+
7
+ - `get_git_repo()` — Obtiene el `Repo` actual (lanza SystemExit si no es repo).
8
+ - `parse_version(tag)` — Parsea una etiqueta en `(major, minor, patch)`.
9
+ - `get_last_tag(repo)` — Devuelve el último tag disponible.
10
+ - `get_untagged_commits(repo)` — Lista commits posteriores al último tag.
11
+ - `get_commit_diff(repo, commit_hash)` — Obtiene el diff de un commit.
12
+
13
+ Ejemplo de uso:
14
+
15
+ ```python
16
+ from interactive_git_versioneer.core.git_ops import get_git_repo, get_untagged_commits
17
+
18
+ repo = get_git_repo()
19
+ commits = get_untagged_commits(repo)
20
+ for c in commits:
21
+ print(c.hash, c.message)
22
+ ```
23
+
24
+ Consulta la sección **API** para detalles generados desde docstrings.
@@ -0,0 +1,18 @@
1
+ # Releases: Gestión de releases y changelogs
2
+
3
+ Descripción: herramientas para integrar con releases remotos (p. ej. GitHub) y generar changelogs.
4
+
5
+ Funciones y flujos principales:
6
+
7
+ - `run_releases_menu(repo)` — Menú interactivo para releases.
8
+ - `run_changelog_submenu(repo)` — Submenú para generación/edición/guardado de changelogs.
9
+ - `action_generate_all_changelogs_with_ai(repo, rebuild=False)` — Regenera changelogs usando IA.
10
+
11
+ Ejemplo de uso (interactivo):
12
+
13
+ ```python
14
+ from interactive_git_versioneer.tags.tagger import run_interactive_tagger
15
+ run_interactive_tagger()
16
+ ```
17
+
18
+ Consejo: Usa `mkdocstrings` API para ver firma completa y ejemplos de cada función.
@@ -0,0 +1,17 @@
1
+ # Tags: Tagger interactivo
2
+
3
+ Descripción: interfaz y utilidades para gestionar tags localmente y en remoto.
4
+
5
+ Funciones y comandos relevantes:
6
+
7
+ - `run_interactive_tagger(dry_run=False, push=False)` — Interfaz principal interactiva.
8
+ - `run_auto_tagger(dry_run=False, push=False, version_type="auto")` — Modo no interactivo (CI).
9
+ - `manage_tags_interactive(repo, dry_run=False, push=False)` — Submenú para modificar tags.
10
+
11
+ Ejemplo (modo automático):
12
+
13
+ ```bash
14
+ igv tag --auto --push
15
+ ```
16
+
17
+ Para más detalles de parámetros y retornos, revisa la referencia API.
@@ -0,0 +1,48 @@
1
+ # Guía de Resolución de Problemas CI/CD - Interactive Git Versioneer
2
+
3
+ ## ¿Qué necesito? → ¿Dónde lo busco?
4
+
5
+ | Necesidad | Ubicación |
6
+ |-----------|-----------|
7
+ | Configurar API keys en GitHub | Repository Settings → Secrets and variables → Actions |
8
+ | Ver configuración del workflow | [.github/workflows/auto-tag.yml](../.github/workflows/auto-tag.yml) |
9
+ | Validar configuración local | `python -m interactive_git_versioneer.main config set` |
10
+ | Ejecutar prueba local | `python -m interactive_git_versioneer.main tag --auto --dry-run` |
11
+
12
+ ## Configuración de Secrets en GitHub
13
+
14
+ | Secreto | Valor Requerido | Propósito |
15
+ |---------|----------------|-----------|
16
+ | GROQ_API_KEY | API key de Groq | Autenticación con servicio IA |
17
+ | (opcional) OPENAI.key | API key de OpenAI | Alternativa a Groq |
18
+
19
+ ### Pasos de Configuración
20
+
21
+ 1. Navegar al repositorio en GitHub
22
+ 2. Settings → Secrets and variables → Actions
23
+ 3. New repository secret
24
+ 4. Ingresar nombre y valor del secreto
25
+ 5. Confirmar creación
26
+
27
+ ## Problema → Solución
28
+
29
+ | Problema | Solución |
30
+ |----------|----------|
31
+ | "Configuración de IA incompleta" | Verificar que GROQ_API_KEY exista en secrets de GitHub |
32
+ | "Error: Process completed with exit code 1" | Validar formato correcto del workflow en líneas 26-30 |
33
+ | Falla en paso "Configure API" | Confirmar variables de entorno en el contenedor CI/CD |
34
+ | No se ejecuta tagging automático | Revisar permisos: contents: write en línea 12 |
35
+
36
+ ## Referencias del Código
37
+
38
+ | Funcionalidad | Archivo | Línea |
39
+ |---------------|---------|-------|
40
+ | Workflow CI/CD | `.github/workflows/auto-tag.yml` | 26-37 |
41
+ | Configuración API | Módulo main | Líneas config |
42
+ | Ejecución tagging | Módulo main | Líneas tag |
43
+
44
+ ## Versión
45
+
46
+ | Versión | Generado | Estado | Comentarios |
47
+ |---------|----------|--------|-------------|
48
+ | 1.0 | 2025-02-05 | Activo | Guía inicial para problemas CI/CD con secrets de GitHub |
@@ -0,0 +1,31 @@
1
+ # Uso rápido
2
+
3
+ ## Instalación
4
+
5
+ 1. Clona el repositorio
6
+ 2. Instala el paquete en editable (recomendado para desarrollo):
7
+
8
+ ```bash
9
+ pip install -e .
10
+ ```
11
+
12
+ ## Comandos principales
13
+
14
+ - `igv` — interfaz principal (menú interactivo)
15
+ - `igv tag` — subcomandos de tagging (si están expuestos)
16
+
17
+ ## Configuración de IA (opcional)
18
+
19
+ Configura las claves con `igv config set`:
20
+
21
+ - `OPENAI.key` — API key
22
+ - `OPENAI.baseURL` — URL base del proveedor
23
+
24
+ ## Generar documentación
25
+
26
+ Instala MkDocs y mkdocstrings y ejecuta:
27
+
28
+ ```bash
29
+ pip install mkdocs mkdocstrings[python]
30
+ mkdocs build
31
+ ```
@@ -0,0 +1,30 @@
1
+ #!/bin/bash
2
+ # =============================================================================
3
+ # Script de configuración post-despliegue para igv
4
+ # Credenciales de API (Groq/OpenAI)
5
+ # =============================================================================
6
+
7
+ set -e
8
+
9
+ VENV_DIR="/opt/igv/venv"
10
+
11
+ # Activar entorno virtual
12
+ source "${VENV_DIR}/bin/activate"
13
+
14
+ # Configurar Groq API (las variables vienen de Jenkins credentials)
15
+ if [ -n "${GROQ_API_KEY}" ]; then
16
+ echo "Configurando Groq API..."
17
+ igv config set OPENAI.key "${GROQ_API_KEY}"
18
+ igv config set OPENAI.baseURL "https://api.groq.com/openai/v1"
19
+ igv config set OPENAI.model "llama-3.3-70b-versatile"
20
+ echo "Configuración de API completada"
21
+ else
22
+ echo "ADVERTENCIA: GROQ_API_KEY no está definida"
23
+ fi
24
+
25
+ # Mostrar configuración actual (sin mostrar la key completa)
26
+ echo ""
27
+ echo "Configuración actual:"
28
+ igv config list
29
+
30
+ deactivate