Skip to main content

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!

Build License PyPI Contributions - welcome

Preview

Demostracion del menu interactivo: navegacion por menus, seleccion de commits, generacion automatica de mensajes con IA y aplicacion de tags con versionado semantico.

IGV Demo

Getting started

docs - Getting started

IGV

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

interactive_git_versioneer-4.8.5.tar.gz (107.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

interactive_git_versioneer-4.8.5-py3-none-any.whl (119.3 kB view details)

Uploaded Python 3

File details

Details for the file interactive_git_versioneer-4.8.5.tar.gz.

File metadata

File hashes

Hashes for interactive_git_versioneer-4.8.5.tar.gz
Algorithm Hash digest
SHA256 30cf852ac33edadff384d169fd1d380e1d17c233650a2eb43fff6b8cc781e5f1
MD5 5eb8726c9b4d05f04b5b4ba146d1a826
BLAKE2b-256 e14a075b0496748ffbb5c6a29224a4936d6f605cfbe3a775c89a94bb7fd9ccaf

See more details on using hashes here.

File details

Details for the file interactive_git_versioneer-4.8.5-py3-none-any.whl.

File metadata

File hashes

Hashes for interactive_git_versioneer-4.8.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1fed1e861dd8914fa6dab0af96da6edf716bffed40e7bf6502c8841d487a486a
MD5 1a76ef80ca6c8e8c5db0a05e35f22e9d
BLAKE2b-256 7297d41aef16ec2409fa174e4ddea353988547ddbca7e8c72fb3223191cae6ff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page