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

Licence Version PyPI Étoiles GitHub Téléchargements

Discord

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

🚀 Fonctionnalités

  • Contexte simplifié : Obtenez un digest texte à partir d'une URL de dépôt Git ou d'un répertoire
  • Formatage intelligent : Sortie optimisée pour les prompts des LLM
  • Statistiques sur :
    • La structure des fichiers et répertoires
    • La taille de l'extrait
    • Le nombre de tokens
  • Outil CLI : Exécutez-le comme une commande shell
  • Package Python : Importez-le dans votre code

📚 Prérequis

  • Python 3.8+
  • Pour les dépôts privés : Un jeton d'accès personnel (PAT) GitHub. Vous pouvez en générer un sur https://github.com/settings/personal-access-tokens (Profil → Paramètres → Paramètres développeur → Jetons d'accès personnels → Jetons à granularité fine)

📦 Installation

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

🧩 Utilisation de l'extension navigateur

Disponible dans le Chrome Web Store Obtenir le module pour Firefox Obtenir depuis les modules Edge

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.

💡 Utilisation en ligne de commande

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 :

  • Utilisez --output/-o <nomfichier> pour écrire dans un fichier spécifique.
  • Utilisez --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

🐍 Utilisation du package 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")

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

Utilisation dans Jupyter notebook

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.

🐳 Auto-hébergement

  1. Construisez l'image :

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

🤝 Contributions

Façons non techniques de contribuer

  • Créer un problème : Si vous trouvez un bug ou avez une idée de nouvelle fonctionnalité, veuillez créer un problème sur GitHub. Cela nous aidera à suivre et prioriser votre demande.
  • Faites passer le mot : Si vous aimez Gitingest, partagez-le avec vos amis, collègues et sur les réseaux sociaux. Cela nous aidera à développer la communauté et à améliorer Gitingest.
  • Utilisez Gitingest : Les meilleurs retours viennent des utilisations réelles ! Si vous rencontrez des problèmes ou avez des idées d'amélioration, faites-le nous savoir en créant un problème sur GitHub ou en nous contactant sur Discord.

Façons techniques de contribuer

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.

🛠️ Stack technique

Vous cherchez un package JavaScript/FileSystemNode ?

Consultez l'alternative NPM 📦 Repomix : https://github.com/yamadashy/repomix

🚀 Croissance du projet

Historique des étoiles