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

Lizenz PyPI Version GitHub Sterne Downloads

Discord

Wandeln Sie jedes Git-Repository in einen prompt-freundlichen Text für LLMs um.

Sie können auch hub durch ingest in jeder GitHub-URL ersetzen, um die entsprechende Zusammenfassung aufzurufen.

gitingest.com · Chrome-Erweiterung · Firefox-Add-on

Deutsch | Español | Français | 日本語 | 한국어 | Português | Русский | 中文

🚀 Funktionen

  • Einfacher Code-Kontext: Erhalten Sie eine Textzusammenfassung aus einer Git-Repository-URL oder einem Verzeichnis
  • Intelligente Formatierung: Optimiertes Ausgabeformat für LLM-Prompts
  • Statistiken über:
    • Datei- und Verzeichnisstruktur
    • Größe des Extrakts
    • Token-Anzahl
  • CLI-Tool: Führen Sie es als Shell-Befehl aus
  • Python-Paket: Importieren Sie es in Ihren Code

📚 Voraussetzungen

  • Python 3.8+
  • Für private Repositories: Ein GitHub Personal Access Token (PAT). Sie können eines unter https://github.com/settings/personal-access-tokens generieren (Profil → Einstellungen → Entwicklereinstellungen → Personal Access Tokens → Fein abgestimmte Tokens)

📦 Installation

Gitingest ist auf PyPI verfügbar. Sie können es mit pip installieren:

pip install gitingest

Es könnte jedoch eine gute Idee sein, pipx für die Installation zu verwenden. Sie können pipx mit Ihrem bevorzugten Paketmanager installieren.

brew install pipx
apt install pipx
scoop install pipx
...

Wenn Sie pipx zum ersten Mal verwenden, führen Sie aus:

pipx ensurepath
# install gitingest
pipx install gitingest

🧩 Browser-Erweiterung Nutzung

Verfügbar im Chrome Web Store Holen Sie sich das Add-on für Firefox Holen Sie es aus den Edge-Add-ons

Die Erweiterung ist Open Source unter lcandy2/gitingest-extension.

Probleme und Feature-Anfragen sind im Repo willkommen.

💡 Kommandozeilen-Nutzung

Das gitingest Kommandozeilen-Tool ermöglicht es Ihnen, Codebasen zu analysieren und eine Textzusammenfassung ihrer Inhalte zu erstellen.

# 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

Für private Repositories verwenden Sie die 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

Standardmäßig werden Dateien, die in .gitignore aufgeführt sind, übersprungen. Verwenden Sie --include-gitignored, wenn Sie diese Dateien in der Zusammenfassung benötigen.

Standardmäßig wird die Zusammenfassung in eine Textdatei (digest.txt) in Ihrem aktuellen Arbeitsverzeichnis geschrieben. Sie können die Ausgabe auf zwei Arten anpassen:

  • Verwenden Sie --output/-o <Dateiname>, um in eine bestimmte Datei zu schreiben.
  • Verwenden Sie --output/-o -, um direkt auf STDOUT auszugeben (nützlich für die Weiterleitung an andere Tools).

Weitere Optionen und Nutzungsdetails finden Sie mit:

gitingest --help

🐍 Python-Paket-Nutzung

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

Für private Repositories können Sie einen Token übergeben:

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

Standardmäßig wird keine Datei geschrieben, dies kann jedoch mit dem Argument output aktiviert werden.

# Asynchronous usage
from gitingest import ingest_async
import asyncio

result = asyncio.run(ingest_async("path/to/directory"))

Jupyter Notebook Nutzung

from gitingest import ingest_async

# Use await directly in Jupyter
summary, tree, content = await ingest_async("path/to/directory")

Dies liegt daran, dass Jupyter Notebooks standardmäßig asynchron sind.

🐳 Selbst gehostet

  1. Bauen Sie das Image:

    docker build -t gitingest .
    
  2. Führen Sie den Container aus:

    docker run -d --name gitingest -p 8000:8000 gitingest
    

Die Anwendung ist unter http://localhost:8000 verfügbar.

Wenn Sie sie auf einer Domain hosten, können Sie die erlaubten Hostnamen über die Umgebungsvariable ALLOWED_HOSTS angeben.

   # Default: "gitingest.com, *.gitingest.com, localhost, 127.0.0.1".
   ALLOWED_HOSTS="example.com, localhost, 127.0.0.1"

🤝 Mitwirken

Nicht-technische Beiträge

  • Erstellen Sie ein Issue: Wenn Sie einen Fehler finden oder eine Idee für ein neues Feature haben, erstellen Sie bitte ein Issue auf GitHub. Dies hilft uns, Ihre Anfrage zu verfolgen und zu priorisieren.
  • Verbreiten Sie das Wort: Wenn Sie Gitingest mögen, teilen Sie es mit Ihren Freunden, Kollegen und in sozialen Medien. Dies hilft uns, die Community zu vergrößern und Gitingest noch besser zu machen.
  • Nutzen Sie Gitingest: Das beste Feedback kommt aus der Praxis! Wenn Sie auf Probleme stoßen oder Verbesserungsvorschläge haben, lassen Sie es uns wissen, indem Sie ein Issue auf GitHub erstellen oder uns auf Discord kontaktieren.

Technische Beiträge

Gitingest soll für Erstbeitragende freundlich sein, mit einem einfachen Python- und HTML-Codebase. Wenn Sie Hilfe bei der Arbeit mit dem Code benötigen, kontaktieren Sie uns auf Discord. Detaillierte Anweisungen zum Erstellen eines Pull Requests finden Sie in CONTRIBUTING.md.

🛠️ Stack

Suchen Sie nach einem JavaScript/FileSystemNode-Paket?

Schauen Sie sich die NPM-Alternative 📦 Repomix an: https://github.com/yamadashy/repomix

🚀 Projektwachstum

Star History Chart