Saltearse al contenido

GitLoader

⚠️ ADVERTENCIA DE DEPRECACIÓN

Este componente está deprecado y será eliminado en una versión futura de Nappai. Por favor, migra a los componentes alternativos recomendados.

GitLoader es un componente que permite extraer archivos de un repositorio Git.
Con él puedes leer el contenido de cualquier rama, filtrar por nombre de archivo o por el contenido de los archivos, y obtener los datos listos para usarlos en tu flujo de trabajo dentro de Nappai.

¿Cómo funciona?

GitLoader trabaja localmente. Cuando lo activas, el componente:

  1. Localiza el repositorio en la ruta que le indiques (Repository Path).
  2. Si no existe, lo clona desde la URL que proporciones (Clone URL).
  3. Se posiciona en la rama especificada (Branch, por defecto main).
  4. Filtra los archivos según los patrones que le pases (File Filter).
  5. Opcionalmente, revisa el contenido de cada archivo con una expresión regular (Content Filter).
  6. Ignora archivos binarios para evitar errores.
  7. Devuelve una lista de objetos Data que contienen el nombre, la ruta y el texto de cada archivo que pasó los filtros.

No necesita ninguna API externa; todo se ejecuta en tu entorno local.

Entradas

  • Branch: La rama del repositorio que quieres leer. Si no lo indicas, se usará main.
  • Clone URL: La dirección desde la que se clonará el repositorio si no está presente localmente.
  • Content Filter: Una expresión regular que se aplica al contenido de cada archivo. Solo los archivos que coincidan con la expresión se incluirán.
  • File Filter: Lista de patrones para incluir o excluir archivos. Por ejemplo, *.py incluye solo archivos Python, mientras que !*.py excluye los archivos Python. Puedes separar varios patrones con comas.
  • Repository Path (requerido): La ruta local donde se encuentra el repositorio Git que quieres leer.

Salidas

  • Data: Una colección de objetos Data (método: load_documents). Cada objeto representa un archivo que pasó los filtros y contiene su contenido, ruta y metadatos.

Ejemplo de Uso

Supongamos que tienes un repositorio local en /home/usuario/proyecto y quieres cargar solo los archivos Python de la rama main:

  1. Repository Path: /home/usuario/proyecto
  2. Branch: main (puedes dejarlo vacío para usar el valor por defecto)
  3. File Filter: *.py
  4. Clone URL: (dejar vacío, ya que el repositorio ya está local)
  5. Content Filter: (dejar vacío si no necesitas filtrar por contenido)

Al ejecutar el componente, obtendrás una lista de objetos Data con todos los archivos .py de la rama main. Puedes conectar esta salida a un componente de análisis de código, a un generador de documentación o a cualquier otro flujo que necesite el contenido de esos archivos.

Componentes Relacionados

  • GitClone: Clona un repositorio Git en una ruta local.
  • GitCommit: Realiza commits en un repositorio Git.
  • GitPush: Envía cambios locales a un remoto.

Consejos y Mejores Prácticas

  • Usa rutas absolutas para evitar confusiones con el directorio de trabajo.
  • Si el repositorio es grande, limita el número de archivos con File Filter para acelerar la carga.
  • Evita usar Content Filter con expresiones muy complejas en repositorios con muchos archivos, ya que puede ralentizar el proceso.
  • Cuando uses Clone URL, asegúrate de que la URL sea accesible desde el entorno donde corre Nappai.

Consideraciones de Seguridad

  • Si clonas desde una URL pública, no incluyas credenciales en la URL. Usa mecanismos de autenticación seguros (por ejemplo, tokens de acceso).
  • Los archivos binarios se ignoran automáticamente, pero si necesitas procesarlos, verifica que el entorno tenga los permisos adecuados.
  • Mantén actualizado el componente y migra a la versión recomendada antes de que se elimine esta versión legacy.