Last translated: 25 Jun 2025

Translation Not Available Yet

This repository's README hasn't been translated yet. Once translated, it will be easier to read and understand in your native language (中文).

After translating, add the links to README so others can view it directly.

Gitingest

Image

Licencia Versión en PyPI Estrellas en GitHub Descargas

Discord

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 | Русский | 中文

🚀 Características

  • Contexto de código fácil: Obtén un resumen en texto desde una URL de repositorio Git o un directorio
  • Formateo inteligente: Salida optimizada para prompts de LLMs
  • Estadísticas sobre:
    • Estructura de archivos y directorios
    • Tamaño del extracto
    • Conteo de tokens
  • Herramienta CLI: Ejecútalo como comando de terminal
  • Paquete Python: Impórtalo en tu código

📚 Requisitos

  • Python 3.8+
  • Para repositorios privados: Un Token de Acceso Personal (PAT) de GitHub. Puedes generarlo en https://github.com/settings/personal-access-tokens (Perfil → Configuración → Configuración para desarrolladores → Tokens de acceso personal → Tokens de granularidad fina)

📦 Instalación

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

🧩 Uso de la extensión del navegador

Disponible en Chrome Web Store Obtén el complemento para Firefox Obtén desde Edge Add-ons

La extensión es de código abierto en lcandy2/gitingest-extension.

Los problemas y solicitudes de características son bienvenidos en el repositorio.

💡 Uso desde la línea de comandos

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:

  • Usa --output/-o <nombre_de_archivo> para escribir en un archivo específico.
  • Usa --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

🐍 Uso del paquete Python

# 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"))

Uso en cuadernos Jupyter

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.

🐳 Autoalojamiento

  1. Construye la imagen:

    docker build -t gitingest .
    
  2. 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"

🤝 Contribuciones

Formas no técnicas de contribuir

  • Crear un Issue: Si encuentras un error o tienes una idea para una nueva característica, por favor crea un issue en GitHub. Esto nos ayudará a rastrear y priorizar tu solicitud.
  • Difunde la palabra: Si te gusta Gitingest, compártelo con tus amigos, colegas y en redes sociales. Esto nos ayudará a hacer crecer la comunidad y mejorar Gitingest.
  • Usa Gitingest: ¡Los mejores comentarios vienen del uso en el mundo real! Si encuentras algún problema o tienes ideas de mejora, háznoslo saber creando un issue en GitHub o contactándonos en Discord.

Formas técnicas de contribuir

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.

🛠️ Tecnologías utilizadas

¿Buscas un paquete JavaScript/FileSystemNode?

Revisa la alternativa en NPM 📦 Repomix: https://github.com/yamadashy/repomix

🚀 Crecimiento del proyecto

Gráfico de historial de estrellas