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.26.tar.gz (26.0 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.26-py3-none-any.whl (32.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: giji-0.1.26.tar.gz
  • Upload date:
  • Size: 26.0 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.26.tar.gz
Algorithm Hash digest
SHA256 98fb6e817c9762767bc3852291c20a64af06d7b5d093f5cd7cda3af935151e87
MD5 ff2a6c85cf5e7b1e58ab3ebf3052998a
BLAKE2b-256 9ef3efecec78a5ad99cf1b48d2cefdfd6997697a8d34788b58df9aabd41878fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giji-0.1.26-py3-none-any.whl
  • Upload date:
  • Size: 32.5 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.26-py3-none-any.whl
Algorithm Hash digest
SHA256 5cbaf99edc548e7052997edc93ca2997f9cf8e2fb19843a64c393bf4dd366d83
MD5 b58349fc307a919c30a14e4bb13f5f32
BLAKE2b-256 42ae26ed01f7690aadad3abcb6dfc8b6132c6f92d73ab3255f15ffc17f04103c

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