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.
Project description
Interactive Git Versioneer con IA
Interactive Git Versioneer es una herramienta open-source que automatiza flujos de versionado en Git mediante un adaptador único basado en OpenAI. Combina comandos interactivos en Node.js con modelos de IA para generar tags semánticos, changelogs inteligentes y merges optimizados, ideal para equipos DevOps. Desarrollado con Clean Architecture, soporta CI/CD y microservicios. ¡Prueba la demo y contribuye!
Preview
Demostracion del menu interactivo: navegacion por menus, seleccion de commits, generacion automatica de mensajes con IA y aplicacion de tags con versionado semantico.
Getting started
Features
- Menu interactivo para gestion de commits y tags
- Generacion automatica de tags con IA (Groq, OpenAI, Ollama, OpenRouter)
- Versionado semantico (major/minor/patch)
- Generacion de changelogs automaticamente
- Releases en GitHub con CLI
- Modo CI/CD para pipelines automatizados
- Configuracion de multiples proveedores de IA
See more info on the Features page in the docs.
Indice de la documentacion
| Necesidad | Ubicacion |
|---|---|
| Instalar y ejecutar localmente | docs/usuario/guia_inicio_rapido.md |
| Configurar proveedores de IA | docs/referencia/configuracion_ia.md |
| Modelos Ollama recomendados | docs/configuracion/modelos_ollama.md |
| Referencia de comandos CLI | docs/referencia/comandos.md |
| Resolucion de errores comunes | docs/operaciones/resolucion_errores.md |
| Arquitectura del modulo | docs/modules/modelos.md |
| Modulo de tags | docs/modules/tagger.md |
| Releases y changelogs | docs/modules/releases.md |
| Integracion CI/CD | docs/operaciones/cicd_diagnostico.md |
Stack Tecnico del proyecto
| Componente | Tecnologia | Version |
|---|---|---|
| Lenguaje | Python | >=3.7 |
| Dependencias | GitPython, openai | 3.1+, 1.0+ |
| Opcional | GitHub CLI (gh) | latest |
| Linter | Ruff | 0.8+ |
Estructura del Proyecto
src/interactive_git_versioneer/
core/ # Operaciones base: Git, versiones, IA
git_ops.py # get_last_tag, get_next_version, get_untagged_commits
ai.py # Integracion OpenAI-compatible
ui.py # Sistema de menus y UI
models.py # Modelos de datos (Commit)
tags/ # Gestion de etiquetas
tagger.py # Menu principal de tags
menus.py # Submenus interactivos
actions.py # apply_tags, clean_all_tags
ai.py # auto_generate_all_with_ai
releases/ # Releases GitHub y changelogs
menus.py
changelog_actions.py
gh_releases.py
config/ # Configuracion ~/.igv/config.json
config.py
menu.py
tui/ # Terminal UI (Textual)
scripts/
install_menu.py # Menu interactivo de instalacion
Nota sobre tests: Los tests unitarios y de integracion estan en un repositorio privado por ahora. Para tener acceso, contactar a alexis.millanao@protonmail.com
Inicio Rapido
# 1. Instalar el paquete
pip install interactive-git-versioneer
# 2. O instalar desde el codigo fuente con menu interactivo
make install
# 3. Configurar la clave de API (opcional - requerido para IA)
igv config set OPENAI.key "tu_api_key"
igv config set OPENAI.baseURL "https://api.groq.com/openai/v1"
# 4. Ejecutar el menu interactivo
igv
# 5. O ejecutar en modo automatico (CI/CD)
igv tag --auto --push
Comandos Make Disponibles
| Comando | Descripcion |
|---|---|
make help |
Muestra todos los comandos disponibles |
make clean |
Limpia archivos de build (dist/, build/, *.egg-info) |
make build |
Limpia y construye el paquete |
make install |
Menu interactivo: Instalar o Desinstalar |
make dev |
Instala dependencias de desarrollo |
Tests
Nota: Los tests unitarios y de integracion se han trasladados a un repositorio privado. Si necesitas acceso a la suite de pruebas para auditoria o desarrollo, por favor solicita acceso enviando un correo a: alexis.millanao@protonmail.com
Resolucion de Errores
| Sintoma | Causa Raiz | Solucion Tecnica |
|---|---|---|
Error: Not a valid Git repository |
Directorio actual no es repo Git | Ejecutar igv desde directorio con .git/ |
ModuleNotFoundError: No module named 'interactive_git_versioneer' |
Paquete no instalado | Ejecutar pip install -e . o make install |
API key not configured |
Falta OPENAI.key en config |
igv config set OPENAI.key "<tu_api_key>" |
Base URL not configured |
Falta OPENAI.baseURL en config |
igv config set OPENAI.baseURL "<url_proveedor>" |
Invalid or unconfigured API Key |
API key invalida o expirada | Verificar key en el panel del proveedor |
GitHub CLI is not installed |
Falta gh en PATH |
Instalar desde https://cli.github.com/ |
Not authenticated |
gh sin autenticacion |
Ejecutar gh auth login |
| No se muestran commits | HEAD coincide con ultimo tag | Crear nuevos commits antes de etiquetar |
NOTA: Para lista completa de errores, ver docs/operaciones/resolucion_errores.md.
Contributing
See the Contributing guide.
License
Released under MIT by @amillanaol.
Control de versiones
| Campo | Valor |
|---|---|
| Mantenedor | amillanaol(https://orcid.org/0009-0003-1768-7048) |
| Estado | En desarrollo |
| Ultima Actualizacion | 2026-03-25 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file interactive_git_versioneer-4.8.5.tar.gz.
File metadata
- Download URL: interactive_git_versioneer-4.8.5.tar.gz
- Upload date:
- Size: 107.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30cf852ac33edadff384d169fd1d380e1d17c233650a2eb43fff6b8cc781e5f1
|
|
| MD5 |
5eb8726c9b4d05f04b5b4ba146d1a826
|
|
| BLAKE2b-256 |
e14a075b0496748ffbb5c6a29224a4936d6f605cfbe3a775c89a94bb7fd9ccaf
|
File details
Details for the file interactive_git_versioneer-4.8.5-py3-none-any.whl.
File metadata
- Download URL: interactive_git_versioneer-4.8.5-py3-none-any.whl
- Upload date:
- Size: 119.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fed1e861dd8914fa6dab0af96da6edf716bffed40e7bf6502c8841d487a486a
|
|
| MD5 |
1a76ef80ca6c8e8c5db0a05e35f22e9d
|
|
| BLAKE2b-256 |
7297d41aef16ec2409fa174e4ddea353988547ddbca7e8c72fb3223191cae6ff
|