\"docs: Actualizar GEMINI.md con gitea_cli_helper.py\"
This commit is contained in:
parent
d81e76a5f5
commit
27462bf683
160
GEMINI.md
160
GEMINI.md
|
@ -2,126 +2,62 @@
|
|||
|
||||
Este proyecto utiliza `tea` para interactuar con el repositorio de Gitea.
|
||||
|
||||
## Crear un Issue (Modo no Interactivo)
|
||||
## Gestión de Gitea con `gitea_cli_helper.py`
|
||||
|
||||
Para crear un nuevo issue de forma no interactiva, se utiliza el siguiente comando, proporcionando todos los datos necesarios mediante flags:
|
||||
Para interactuar con el repositorio de Gitea (crear issues, pull requests, comentar y cerrar issues) de forma robusta y con soporte para contenido multilínea, se recomienda utilizar el script de Python `gitea_cli_helper.py`. Este script lee la configuración sensible directamente desde el archivo `.env`.
|
||||
|
||||
### Configuración
|
||||
|
||||
Asegúrate de que las siguientes variables estén definidas en tu archivo `.env`:
|
||||
|
||||
- `GITEA_API_KEY`: Tu Token de Acceso Personal (PAT) de Gitea.
|
||||
- `GITEA_API_KEY_URL`: La URL base de la API de tu instancia de Gitea (ej. `https://gitea.grupoconsiti.com/api/v1/`).
|
||||
- `GITEA_USERNAME`: Tu nombre de usuario de Gitea (propietario del repositorio).
|
||||
- `GITEA_REPO_NAME`: El nombre del repositorio (ej. `clinical_laboratory`).
|
||||
|
||||
### Uso
|
||||
|
||||
El script `gitea_cli_helper.py` utiliza `argparse` para diferentes comandos:
|
||||
|
||||
#### 1. Crear un Issue
|
||||
|
||||
```bash
|
||||
tea issue create --title "Título del Issue" --description "Descripción detallada del issue." --labels "etiqueta1,etiqueta2"
|
||||
python gitea_cli_helper.py create-issue --title "Título del Issue" --body "Descripción detallada del issue.\nSoporta múltiples líneas."
|
||||
```
|
||||
|
||||
- `--title`: Especifica el título del issue.
|
||||
- `--description`: Especifica la descripción o cuerpo del issue. Para contenido multilínea, ver la sección "Manejo de Contenido Multilínea".
|
||||
- `--labels`: Especifica una o más etiquetas separadas por comas.
|
||||
- `--title`: Título del issue.
|
||||
- `--body`: Cuerpo o descripción del issue. Los saltos de línea (`\n`) se interpretarán correctamente.
|
||||
|
||||
#### 2. Crear un Pull Request
|
||||
|
||||
```bash
|
||||
python gitea_cli_helper.py create-pr --head "tu-rama" --base "rama-destino" --title "Título del PR" --body "Descripción del Pull Request.\nSoporta múltiples líneas."
|
||||
```
|
||||
|
||||
- `--head`: Rama de origen (tu rama actual).
|
||||
- `--base`: Rama de destino (ej. `dev`, `main`).
|
||||
- `--title`: Título del Pull Request.
|
||||
- `--body`: Cuerpo o descripción del Pull Request.
|
||||
|
||||
#### 3. Comentar en un Issue
|
||||
|
||||
```bash
|
||||
python gitea_cli_helper.py comment-issue --issue-number 123 --body "Este es un nuevo comentario.\nTambién soporta múltiples líneas."
|
||||
```
|
||||
|
||||
- `--issue-number`: Número del issue al que se desea añadir el comentario.
|
||||
- `--body`: Contenido del comentario.
|
||||
|
||||
#### 4. Cerrar un Issue
|
||||
|
||||
```bash
|
||||
python gitea_cli_helper.py close-issue --issue-number 123
|
||||
```
|
||||
|
||||
- `--issue-number`: Número del issue a cerrar.
|
||||
|
||||
---
|
||||
|
||||
## Comentar en un Issue
|
||||
|
||||
Para agregar un comentario a un issue existente, se utiliza el comando `comment` seguido del número del issue y el texto del comentario entre comillas.
|
||||
|
||||
**Formato correcto:**
|
||||
|
||||
```bash
|
||||
tea comment <NÚMERO_ISSUE> "Tu comentario aquí"
|
||||
```
|
||||
|
||||
**Ejemplo:**
|
||||
|
||||
```bash
|
||||
tea comment 3 "Comentario de prueba"
|
||||
```
|
||||
|
||||
**Nota:** No se deben utilizar flags como `-i` o `--message`. El formato es directo.
|
||||
|
||||
### Manejo de Contenido Multilínea
|
||||
|
||||
Para comentarios o descripciones que contengan múltiples líneas, es crucial escapar los saltos de línea (`\n`) dentro de la cadena. Esto asegura que el shell interprete todo el contenido como un único argumento.
|
||||
|
||||
**Ejemplo para `tea comment`:**
|
||||
|
||||
```bash
|
||||
tea comment <NÚMERO_ISSUE> "Línea 1 del comentario.\nLínea 2 del comentario.\nLínea 3 del comentario."
|
||||
```
|
||||
|
||||
**Ejemplo para `tea issue create` (en `--description`):**
|
||||
|
||||
```bash
|
||||
tea issue create --title "Título del Issue" --description "Descripción detallada del issue.\nEsta es la segunda línea de la descripción.\nY esta es la tercera." --labels "etiqueta1"
|
||||
```
|
||||
|
||||
**Nota sobre compatibilidad de Shell:**
|
||||
En entornos Windows, el uso de `printf` para mensajes multilínea puede no estar disponible. En su lugar, se puede intentar usar `echo` con saltos de línea escapados (`\n`), aunque su comportamiento puede variar. La forma más robusta es asegurar que toda la cadena se pase como un único argumento al comando `tea`.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Realizar Commits
|
||||
|
||||
Debido a problemas de interpretación de comillas en el shell de ejecución, el uso de `git commit -m "mensaje"` puede fallar. Para evitar estos problemas, se debe pasar el mensaje del commit a través de la entrada estándar (`stdin`).
|
||||
|
||||
### Política de Mensajes de Commit
|
||||
|
||||
**Es mandatorio que el título de cada commit referencie el número del issue que resuelve.** Esto se hace para mantener una trazabilidad clara entre el código y las tareas.
|
||||
|
||||
**Formato del Título:**
|
||||
```
|
||||
<tipo>(#<issue_id>): <descripción breve>
|
||||
```
|
||||
- **`<tipo>`:** `feat` (nueva funcionalidad), `fix` (corrección de bug), `docs` (cambios en documentación), `style` (formato), `refactor`, `test`, `chore` (otras tareas).
|
||||
- **`(<issue_id>)`:** El número del issue entre paréntesis y precedido de `#`.
|
||||
|
||||
**Ejemplo:**
|
||||
```
|
||||
feat(#4): Agregar campos de género y fecha de nacimiento al paciente
|
||||
```
|
||||
|
||||
### Método Recomendado
|
||||
|
||||
Utiliza el comando `echo` y una tubería (`|`) para enviar el mensaje a `git commit -F -`.
|
||||
|
||||
**Commit de una sola línea:**
|
||||
|
||||
```bash
|
||||
echo "feat(#4): Tu mensaje de commit conciso" | git commit -F -
|
||||
```
|
||||
|
||||
**Commit multilínea:**
|
||||
Para mensajes de commit multilínea, la forma más segura es usar `printf` que maneja mejor los saltos de línea (`
|
||||
`):
|
||||
|
||||
```bash
|
||||
printf "feat(#4): Título del commit
|
||||
|
||||
Cuerpo del mensaje con descripción detallada." | git commit -F -
|
||||
```
|
||||
|
||||
Esto asegura que el formato del mensaje del commit se preserve correctamente.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Crear un Pull Request
|
||||
|
||||
Para crear un pull request (PR), se utiliza el comando `tea pulls create`. Debes especificar la rama base (hacia donde van los cambios) y la rama `head` (tu rama actual), junto con un título que referencie el issue que resuelve.
|
||||
|
||||
**Formato del comando:**
|
||||
|
||||
```bash
|
||||
tea pulls create --base "<rama_base>" --head "<tu_rama>" --title "<Tipo>(#issue): Título descriptivo"
|
||||
```
|
||||
|
||||
**Ejemplo:**
|
||||
|
||||
```bash
|
||||
tea pulls create --base "dev" --head "feature/3-core-setup" --title "feat(#3): Actualiza instrucciones en GEMINI.md"
|
||||
```
|
||||
|
||||
- `--base`: La rama de destino (ej. `dev`, `main`).
|
||||
- `--head`: Tu rama de trabajo actual.
|
||||
- `--title`: Un título claro que incluya el tipo de cambio (`feat`, `fix`, `docs`) y el número de issue.
|
||||
|
||||
---
|
||||
|
||||
## Contexto del Proyecto
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user