Skip to main content

Git tools for Commitizen and PR Summary Generation using AI

Project description

Giji

Herramientas Git potenciadas por IA para optimizar tu flujo de trabajo de desarrollo. Crea commits inteligentes y pull requests con descripciones generadas por IA, con integración completa con Jira.

Características

  • 🤖 Commits Inteligentes: Genera automáticamente mensajes de commit convencionales usando IA
  • 📝 Pull Requests con IA: Crea PRs con descripciones generadas por IA
  • 🎫 Integración con Jira: Gestión completa de tickets y comentarios automáticos
  • 🚀 Interfaz Simple: Comandos CLI fáciles de usar
  • ⚡️ Flujo Rápido: Automatiza tareas repetitivas de git

Instalación

pip install giji

Uso

Commits Inteligentes

Crea commits con mensajes convencionales generados por IA:

# Hacer commit de todos los cambios con mensajes inteligentes
giji commit

Pull Requests

Crea pull requests con descripciones generadas por IA:

# Crear un PR (auto-commit por defecto)
giji pr --base main

# Crear un PR sin auto-commit
giji pr --base main --no-commit

# Crear un PR borrador con ticket JIRA
giji pr --base main --draft --ticket SIS-123

# Crear PR y agregar comentario en Jira
giji pr --base main --comment

Integración con Jira

Gestiona tickets y mantén la documentación sincronizada:

# Ver descripción de un ticket
giji jira describe SIS-123

# Agregar comentario manual
giji jira comment SIS-123 "Actualizando estado..."

# Analizar PR y comentar automáticamente
giji jira analyze-pr --base main

# Buscar tickets
giji jira search "texto a buscar"

Opciones

Comando PR

  • --base, -b: Rama base (ej: main, develop) [default: master]
  • --ticket, -t: Número de ticket JIRA (ej: SIS-290)
  • --draft, -d: Crear PR como borrador
  • --no-commit, -n: Omitir auto-commit de cambios
  • --comment, -c: Agregar comentario en Jira automáticamente

Comando Jira

  • describe: Ver descripción de un ticket
  • comment: Agregar comentario manual
  • analyze-pr: Analizar PR y comentar automáticamente
  • search: Buscar tickets
  • config: Configurar conexión con Jira

Requisitos

  • Python 3.7+
  • Git
  • GitHub CLI (gh)
  • API key de Gemini
  • Credenciales de Jira (para funcionalidades de Jira)

Configuración del Entorno

  1. Obtén una API key de Gemini en Google AI Studio
  2. Configura las variables de entorno:
# Configuración de Gemini
export GEMINI_API_KEY='your-api-key'

# Configuración de Jira (opcional, solo para funcionalidades de Jira)
export JIRA_SERVER_URL='https://your-domain.atlassian.net'
export JIRA_EMAIL='your.email@company.com'
export JIRA_TOKEN='your-api-token'

Para obtener tu token de Jira:

  1. Ve a Atlassian API Tokens
  2. Crea un nuevo token
  3. Copia el token y configúralo como JIRA_TOKEN

Licencia

MIT License - ver LICENSE para más detalles.

Contribuir

Las contribuciones son bienvenidas! Por favor, lee CONTRIBUTING.md para detalles sobre nuestro código de conducta y el proceso para enviar pull requests.

Soporte

Si encuentras algún problema o tienes una sugerencia, por favor crea un issue en el repositorio de GitHub.

Desarrollo

Construcción y Publicación

  1. Actualizar la versión en src/cz_ai_conventional/version.py:
VERSION = "x.y.z"  # Incrementar según cambios
  1. Construir el paquete:
# Instalar dependencias de desarrollo
pip install build twine

# Construir distribución
python -m build
  1. Publicar en PyPI:
# Configurar .pypirc con credenciales
python -m twine upload --config-file .pypirc dist/*

También puedes usar el Makefile incluido:

# Construir y publicar
make build

# Solo actualizar versión existente
make update

Flujo de Desarrollo

  1. Crear rama incluyendo el número de ticket JIRA

    El número de ticket se extraerá automáticamente de la rama. Formatos soportados:

    SIS-123                    ✓
    SIS-123/mi-feature        ✓
    feature/SIS-123           ✓
    fix/SIS-123-bug-fix       ✓
    feature/SIS-123/new-feat  ✓
    
  2. Realizar cambios y usar los comandos:

# Commit de cambios
giji commit

# Crear PR con comentario en Jira
giji pr --base main --comment

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

giji-0.1.19.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

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

giji-0.1.19-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

Details for the file giji-0.1.19.tar.gz.

File metadata

  • Download URL: giji-0.1.19.tar.gz
  • Upload date:
  • Size: 26.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for giji-0.1.19.tar.gz
Algorithm Hash digest
SHA256 65097d8330a7b2b8bbf618ef556174dc6f7210fa9a63a40038b666b3bed616bd
MD5 d09244094775e660b57d2138224dfa6a
BLAKE2b-256 3204e3ec9973222a1080fe0a2cf56f5930b02a6f36d156a43d3e21f746d3a211

See more details on using hashes here.

File details

Details for the file giji-0.1.19-py3-none-any.whl.

File metadata

  • Download URL: giji-0.1.19-py3-none-any.whl
  • Upload date:
  • Size: 33.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for giji-0.1.19-py3-none-any.whl
Algorithm Hash digest
SHA256 2a494c8da3f04cc42c5dc08e56046feb9ba934cac783f2e2a8bda11992cc8c8b
MD5 8662b5ec4b2d1b621df22ad88ac4f203
BLAKE2b-256 8894ebab3c9a5f6701ba0ccb073f5c90b3ea6a94771b7aa5f89d0c964f513549

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