Convierte cualquier repositorio Git en un texto optimizado para prompts de LLMs.
También puedes reemplazar hub
por ingest
en cualquier URL de GitHub para acceder al resumen correspondiente.
gitingest.com · Extensión para Chrome · Complemento para Firefox
Deutsch | Español | Français | 日本語 | 한국어 | Português | Русский | 中文
Gitingest está disponible en PyPI.
Puedes instalarlo usando pip
:
pip install gitingest
Sin embargo, podría ser buena idea usar pipx
para instalarlo.
Puedes instalar pipx
usando tu gestor de paquetes preferido.
brew install pipx
apt install pipx
scoop install pipx
...
Si es la primera vez que usas pipx, ejecuta:
pipx ensurepath
# install gitingest
pipx install gitingest
La extensión es de código abierto en lcandy2/gitingest-extension.
Los problemas y solicitudes de características son bienvenidos en el repositorio.
La herramienta gitingest
te permite analizar bases de código y crear un volcado de texto con su contenido.
# Basic usage (writes to digest.txt by default)
gitingest /path/to/directory
# From URL
gitingest https://github.com/cyclotruc/gitingest
# or from specific subdirectory
gitingest https://github.com/cyclotruc/gitingest/tree/main/src/gitingest/utils
Para repositorios privados, usa la opción --token/-t
.
# Get your token from https://github.com/settings/personal-access-tokens
gitingest https://github.com/username/private-repo --token github_pat_...
# Or set it as an environment variable
export GITHUB_TOKEN=github_pat_...
gitingest https://github.com/username/private-repo
Por defecto, se omiten los archivos listados en .gitignore
. Usa --include-gitignored
si necesitas esos archivos en el resumen.
Por defecto, el resumen se escribe en un archivo de texto (digest.txt
) en tu directorio de trabajo actual. Puedes personalizar la salida de dos formas:
--output/-o <nombre_de_archivo>
para escribir en un archivo específico.--output/-o -
para enviar la salida directamente a STDOUT
(útil para redirigir a otras herramientas).Consulta más opciones y detalles de uso con:
gitingest --help
# Synchronous usage
from gitingest import ingest
summary, tree, content = ingest("path/to/directory")
# or from URL
summary, tree, content = ingest("https://github.com/cyclotruc/gitingest")
# or from a specific subdirectory
summary, tree, content = ingest("https://github.com/cyclotruc/gitingest/tree/main/src/gitingest/utils")
Para repositorios privados, puedes pasar un token:
# Using token parameter
summary, tree, content = ingest("https://github.com/username/private-repo", token="github_pat_...")
# Or set it as an environment variable
import os
os.environ["GITHUB_TOKEN"] = "github_pat_..."
summary, tree, content = ingest("https://github.com/username/private-repo")
Por defecto, esto no escribirá un archivo pero puede habilitarse con el argumento output
.
# Asynchronous usage
from gitingest import ingest_async
import asyncio
result = asyncio.run(ingest_async("path/to/directory"))
from gitingest import ingest_async
# Use await directly in Jupyter
summary, tree, content = await ingest_async("path/to/directory")
Esto se debe a que los cuadernos Jupyter son asíncronos por defecto.
Construye la imagen:
docker build -t gitingest .
Ejecuta el contenedor:
docker run -d --name gitingest -p 8000:8000 gitingest
La aplicación estará disponible en http://localhost:8000
.
Si la alojas en un dominio, puedes especificar los nombres de host permitidos mediante la variable de entorno ALLOWED_HOSTS
.
# Default: "gitingest.com, *.gitingest.com, localhost, 127.0.0.1".
ALLOWED_HOSTS="example.com, localhost, 127.0.0.1"
Gitingest busca ser amigable para contribuidores primerizos, con un código simple en Python y HTML. Si necesitas ayuda mientras trabajas con el código, contáctanos en Discord. Para instrucciones detalladas sobre cómo hacer un pull request, consulta CONTRIBUTING.md.
Revisa la alternativa en NPM 📦 Repomix: https://github.com/yamadashy/repomix