clinical_laboratory/GEMINI.md
2025-07-13 20:47:21 -06:00

4.8 KiB

Instrucciones para el uso de tea CLI

Este proyecto utiliza tea para interactuar con el repositorio de Gitea.

Crear un Issue (Modo no Interactivo)

Para crear un nuevo issue de forma no interactiva, se utiliza el siguiente comando, proporcionando todos los datos necesarios mediante flags:

tea issue create --title "Título del Issue" --description "Descripción detallada del issue." --labels "etiqueta1,etiqueta2"
  • --title: Especifica el título del issue.
  • --description: Especifica la descripción o cuerpo del issue.
  • --labels: Especifica una o más etiquetas separadas por comas.

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:

tea comment <NÚMERO_ISSUE> "Tu comentario aquí"

Ejemplo:

tea comment 3 "Comentario de prueba"

Nota: No se deben utilizar flags como -i o --message. El formato es directo.


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:

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 ( ):

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:

tea pulls create --base "<rama_base>" --head "<tu_rama>" --title "<Tipo>(#issue): Título descriptivo"

Ejemplo:

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

Al iniciar cada sesión de trabajo, es mandatorio leer los siguientes documentos para comprender el contexto completo de los requerimientos y el diseño técnico:

  • documents/requirements/RequerimientoInicial.md
  • documents/requirements/ToBeDesing.md

Levantamiento de la Instancia de Odoo 18

Para levantar la instancia efímera de Odoo 18 junto con la base de datos de PostgreSQL, se utiliza Docker Compose.

Comando de inicio:

docker-compose up -d

Este comando levantará los servicios definidos en el archivo docker-compose.yml en modo "detached" (-d).

Comando de detención y limpieza: Para detener los servicios y asegurar un estado limpio, siempre se deben eliminar los volúmenes, a menos que se indique lo contrario.

docker-compose down -v

Verificación de la Inicialización

Después de levantar la instancia, es mandatorio verificar los registros del contenedor de inicialización para confirmar que los módulos se instalaron o actualizaron correctamente.

Comando para ver los logs:

docker-compose logs odoo_init

Busca errores en la salida. Si encuentras alguno, debes presentar un resumen del problema y sus posibles causas, como:

  • Dependencias faltantes: Un módulo no se puede instalar porque requiere otro que no está presente.
  • Errores de sintaxis: Problemas en archivos Python (.py) o XML (.views, .xml).
  • Permisos incorrectos: Problemas de acceso a archivos o directorios.
  • Datos incorrectos: Errores en los archivos de datos de demostración o iniciales.