Metadata-Version: 2.2
Name: giji
Version: 0.1.6
Summary: Git tools for Commitizen and PR Summary Generation using AI
Home-page: https://github.com/cometa/giji
Author: Cometa
Author-email: Cometa <apps@getcometa.com>
License: MIT
Project-URL: Homepage, https://github.com/cometa/giji
Project-URL: Bug Tracker, https://github.com/cometa/giji/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.9.0
Requires-Dist: rich>=13.7.0
Requires-Dist: jira>=3.5.1
Requires-Dist: google-generativeai>=0.3.2
Requires-Dist: questionary>=2.0.1
Dynamic: author
Dynamic: home-page
Dynamic: requires-python

# 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.

## Características

- 🤖 **Commits Inteligentes**: Genera automáticamente mensajes de commit convencionales usando IA
- 📝 **Pull Requests con IA**: Crea PRs con descripciones generadas por IA
- 🚀 **Interfaz Simple**: Comandos CLI fáciles de usar
- ⚡️ **Flujo Rápido**: Automatiza tareas repetitivas de git

## Instalación

```bash
pip install giji
```

## Uso

### Commits Inteligentes

Crea commits con mensajes convencionales generados por IA:

```bash
# Hacer commit de todos los cambios con mensajes inteligentes
giji commit
```

### Pull Requests

Crea pull requests con descripciones generadas por IA:

```bash
# 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
```

### Opciones

#### Comando PR

- `--base, -b`: Rama base (ej: main, develop) [default: master]
- `--ticket, -t`: Número de ticket JIRA (ej: SIS-290)
- `--draft`: Crear PR como borrador
- `--no-commit`: Omitir auto-commit de cambios

## Requisitos

- Python 3.7+
- Git
- GitHub CLI (`gh`)
- API key de Gemini

## Configuración del Entorno

1. Obtén una API key de Gemini en [Google AI Studio](https://makersuite.google.com/app/apikey)
2. Configura la variable de entorno:

```bash
export GEMINI_API_KEY='your-api-key'
```

## Licencia

MIT License - ver [LICENSE](LICENSE) para más detalles.

## Contribuir

Las contribuciones son bienvenidas! Por favor, lee [CONTRIBUTING.md](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](https://github.com/cometa/giji/issues).

## Desarrollo

### Construcción y Publicación

1. Actualizar la versión en `src/cz_ai_conventional/version.py`:

```python
VERSION = "x.y.z"  # Incrementar según cambios
```

2. Construir el paquete:

```bash
# Instalar dependencias de desarrollo
pip install build twine

# Construir distribución
python -m build
```

3. Publicar en PyPI:

```bash
# Configurar .pypirc con credenciales
python -m twine upload --config-file .pypirc dist/*
```

También puedes usar el Makefile incluido:

```bash
# 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:

```bash
# Commit de cambios
giji commit

# Crear PR (detecta ticket automáticamente de la rama)
giji pr --base main
```
