Transformez n'importe quel dépôt Git en un texte optimisé pour les prompts des LLM.
Vous pouvez aussi remplacer hub
par ingest
dans n'importe quelle URL GitHub pour accéder au digest correspondant.
gitingest.com · Extension Chrome · Module Firefox
Deutsch | Español | Français | 日本語 | 한국어 | Português | Русский | 中文
Gitingest est disponible sur PyPI.
Vous pouvez l'installer avec pip
:
pip install gitingest
Cependant, il peut être judicieux d'utiliser pipx
pour l'installer.
Vous pouvez installer pipx
avec votre gestionnaire de paquets préféré.
brew install pipx
apt install pipx
scoop install pipx
...
Si vous utilisez pipx pour la première fois, exécutez :
pipx ensurepath
# install gitingest
pipx install gitingest
L'extension est open source sur lcandy2/gitingest-extension.
Les problèmes et demandes de fonctionnalités sont les bienvenus dans le dépôt.
L'outil en ligne de commande gitingest
vous permet d'analyser des bases de code et de créer un dump texte de leur contenu.
# 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
Pour les dépôts privés, utilisez l'option --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
Par défaut, les fichiers listés dans .gitignore
sont ignorés. Utilisez --include-gitignored
si vous avez besoin de ces fichiers dans le digest.
Par défaut, le digest est écrit dans un fichier texte (digest.txt
) dans votre répertoire de travail actuel. Vous pouvez personnaliser la sortie de deux manières :
--output/-o <nomfichier>
pour écrire dans un fichier spécifique.--output/-o -
pour envoyer directement vers STDOUT
(utile pour rediriger vers d'autres outils).Voir plus d'options et détails d'utilisation avec :
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")
Pour les dépôts privés, vous pouvez passer un jeton :
# 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")
Par défaut, cela n'écrira pas de fichier mais peut être activé avec l'argument 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")
Cela est dû au fait que les notebooks Jupyter sont asynchrones par défaut.
Construisez l'image :
docker build -t gitingest .
Lancez le conteneur :
docker run -d --name gitingest -p 8000:8000 gitingest
L'application sera disponible sur http://localhost:8000
.
Si vous l'hébergez sur un domaine, vous pouvez spécifier les noms d'hôte autorisés via la variable d'environnement ALLOWED_HOSTS
.
# Default: "gitingest.com, *.gitingest.com, localhost, 127.0.0.1".
ALLOWED_HOSTS="example.com, localhost, 127.0.0.1"
Gitingest vise à être accessible aux contributeurs débutants, avec un codebase simple en Python et HTML. Si vous avez besoin d'aide pendant le développement, contactez-nous sur Discord. Pour des instructions détaillées sur comment faire une pull request, voir CONTRIBUTING.md.
Consultez l'alternative NPM 📦 Repomix : https://github.com/yamadashy/repomix