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:
- Ve a tu Slack workspace en el navegador
- Haz click en el nombre del canal donde quieres recibir las notificaciones
- En el menú del canal, selecciona "Configuración > Integraciones"
- Click en "Añadir una aplicación"
- Busca y selecciona "Incoming WebHooks"
- Click en "Añadir a Slack"
- Elige el canal y click en "Añadir integración"
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file giji-0.3.0.tar.gz.
File metadata
- Download URL: giji-0.3.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac0b4cf3251050ec49906324123365ab4af5a5f8d00853b899ad5c4ade01d663
|
|
| MD5 |
a4a1d1031283273ca601fe5c38feb136
|
|
| BLAKE2b-256 |
87d21ca0cdb3e6ff5838395496a407b732bf02b3f8c713bb5d4e9804a27ca165
|
File details
Details for the file giji-0.3.0-py3-none-any.whl.
File metadata
- Download URL: giji-0.3.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3be388239a0f18194de03568734998e3dc02a2a91b82714aeb5df303348ed26d
|
|
| MD5 |
b408bb2bc00ac1a291cffd04c30fef2d
|
|
| BLAKE2b-256 |
4610eb4875641a19a8d1005f0efa3eea86a6d958f859c931457ca53cf3aa8e06
|