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.4.0.tar.gz (34.4 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.4.0-py3-none-any.whl (41.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for giji-0.4.0.tar.gz
Algorithm Hash digest
SHA256 df3a78609c7e36b764f22bb8d84f07ffc08fae33bab21c71265df16a4db9828a
MD5 7489091202e960ee9cdc3ef9a6d85536
BLAKE2b-256 313939f78254aad2af15c46696731e5824f8a6b36df55d84b3ad0e710b35b611

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giji-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 41.0 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 300c670b31be19e6928e29541459f5fcac2d39f54567ed7b9a61d120a3e21be6
MD5 34a71aa5c1f58c5b5416df9202438d4f
BLAKE2b-256 54679daa73a07f4e50c1548cfb715d8b79b191c980fd929adeca2e124f347518

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