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 | Русский | 中文
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
Die Erweiterung ist Open Source unter lcandy2/gitingest-extension.
Probleme und Feature-Anfragen sind im Repo willkommen.
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:
--output/-o <Dateiname>
, um in eine bestimmte Datei zu schreiben.--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
# 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"))
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.
Bauen Sie das Image:
docker build -t gitingest .
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"
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.
Schauen Sie sich die NPM-Alternative 📦 Repomix an: https://github.com/yamadashy/repomix