Skip to main content

Git tools for Commitizen and PR Summary Generation using AI

Project description

Giji - Herramientas de Desarrollo

Colección de herramientas para optimizar el flujo de desarrollo:

  • 🤖 Commits inteligentes con IA
  • 📝 Generación de PRs con descripción automática
  • 🎫 Integración con Jira
  • 🔔 Integración con Slack

Instalación

pip install giji

Configuración

Configurar Gemini (Requerido)

export GEMINI_API_KEY='your-api-key'

Configurar Jira (Opcional)

export JIRA_SERVER_URL='https://your-domain.atlassian.net'
export JIRA_EMAIL='your.email@company.com'
export JIRA_TOKEN='your-api-token'

Configurar Slack (Opcional)

Para recibir notificaciones en Slack, necesitas configurar un Incoming Webhook:

  1. Ve a tu Slack workspace en el navegador
  2. Haz click en el nombre del canal donde quieres recibir las notificaciones
  3. En el menú del canal, selecciona "Configuración > Integraciones"
  4. Click en "Añadir una aplicación"
  5. Busca y selecciona "Incoming WebHooks"
  6. Click en "Añadir a Slack"
  7. Elige el canal y click en "Añadir integración"
  8. Copia el Webhook URL y configúralo:
export SLACK_WEBHOOK_URL='https://hooks.slack.com/services/XXX/YYY/ZZZ'

Para verificar tu configuración:

giji config        # Verificar toda la configuración
giji config -t slack  # Verificar solo configuración de Slack

Comandos

Pull Requests

Crear un PR con descripción generada por IA:

# PR básico
giji pr -b main

# PR como borrador
giji pr -b main -d

# PR con ticket Jira
giji pr -b main -t SIS-123

# PR sin auto-commit
giji pr -b main -n

# PR con notificación a Slack
giji pr -b main -s

# PR con notificación a Slack y mensaje personalizado
giji pr -b main -s -m "Por favor revisar los cambios en el componente X"

# PR completo con todas las integraciones
giji pr -b main -s -m "Listo para review" -t SIS-123 -c -d

Opciones disponibles:

  • -b, --base: Rama base (default: master)
  • -t, --ticket: Número de ticket JIRA
  • -d, --draft: Crear PR como borrador
  • -n, --no-commit: No hacer commit automático
  • -c, --comment: Agregar comentario en Jira
  • -s, --slack: Enviar notificación a Slack
  • -m, --message: Mensaje adicional para la notificación de Slack

Slack

Enviar mensajes directamente a Slack:

# Mensaje simple
giji slack send "Hola equipo!"

# Mensaje con emojis
giji slack send "Deploy completado ✅"

# Mensaje con múltiples líneas
giji slack send "🚀 Nueva versión desplegada
• Feature 1
• Feature 2"

Notificaciones de Slack

Las notificaciones de PR en Slack incluyen:

  • URL del Pull Request
  • Número de ticket Jira (con enlace directo)
  • Mensaje personalizado (opcional)

Ejemplo de notificación:

🎉 *Nuevo Pull Request creado*
• *URL:* https://github.com/...
• *Ticket:* SIS-123 (enlace a Jira)
💬 *Mensaje:* Por favor revisar los cambios en el componente X

Ejemplos y Ayuda

Ver ejemplos detallados:

giji examples

Ver ayuda de cualquier comando:

giji --help
giji pr --help
giji slack --help

Requisitos

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

Licencia

MIT License - ver LICENSE para más detalles.

Soporte

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

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.27.tar.gz (26.1 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.27-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for giji-0.1.27.tar.gz
Algorithm Hash digest
SHA256 1fec5e82616b78e5b3226b1495adfccc1ee9161f67939de0e5f7784644b7c2a3
MD5 c0a6c9e0448f158fdee90ba392979b47
BLAKE2b-256 85424faeb22b0a0ae189ad714c5628c78d4a4f2c79ceb82291bb3866e75b10c2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for giji-0.1.27-py3-none-any.whl
Algorithm Hash digest
SHA256 b7719824b4b82044806095b3fb2ab21639c070d4663f001d01ac3566d1bae983
MD5 af4cad2e847e7c4030d95371ef9c104c
BLAKE2b-256 60515b0da381727657bb6114c50331bcbac8e764af58284a4296d728f5914824

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