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

test cambiso

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.20.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.20-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: giji-0.1.20.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.20.tar.gz
Algorithm Hash digest
SHA256 9f3d5678a7c9d82caa41290173fb5a0dec11a79635bd157c015d7c65430b891e
MD5 622ba39680cbf80d01eef198ad843ade
BLAKE2b-256 a440896c44df20639e81b36af60fec298a1ca9eb9408e0db23f4bdd1252de7e1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giji-0.1.20-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.20-py3-none-any.whl
Algorithm Hash digest
SHA256 25ee28e3a3dcf0b68ca7fe6fdf388d045f1640f29bdcb4b1b67e459e5695dfd8
MD5 f5b57e7e1af1db25ee433751b3ca28ae
BLAKE2b-256 4f1697387ac32002d78f613c2df7e0fddd7d2af9eff63a1ac2eeaed35cbe8b32

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