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

License PyPI version GitHub stars Downloads

Discord

GitリポジトリをLLM向けのプロンプトに適したテキスト形式に変換します。

GitHubのURLでhubingestに置き換えるだけで、対応するダイジェストにアクセスできます。

gitingest.com · Chrome拡張機能 · Firefoxアドオン

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

🚀 特徴

  • 簡単なコードコンテキスト: GitリポジトリURLまたはディレクトリからテキストダイジェストを取得
  • スマートフォーマット: LLMプロンプト向けに最適化された出力形式
  • 統計情報:
    • ファイルとディレクトリ構造
    • 抽出サイズ
    • トークン数
  • CLIツール: シェルコマンドとして実行可能
  • Pythonパッケージ: コード内でインポート可能

📚 要件

  • Python 3.8+
  • プライベートリポジトリの場合: GitHub Personal Access Token (PAT)。https://github.com/settings/personal-access-tokens で生成可能(プロファイル → 設定 → 開発者設定 → Personal Access Tokens → Fine-grained Tokens)

📦 インストール

GitingestはPyPIで利用可能です。 pipを使用してインストールできます:

pip install gitingest

ただし、pipxを使用してインストールするのが良いでしょう。 pipxはお好みのパッケージマネージャーでインストールできます。

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

pipxを初めて使用する場合は、以下を実行してください:

pipx ensurepath
# install gitingest
pipx install gitingest

🧩 ブラウザ拡張機能の使用

Chrome Web Storeで利用可能 Firefox用アドオンを取得 Edgeアドオンから取得

拡張機能はオープンソースで、lcandy2/gitingest-extensionで公開されています。

問題や機能リクエストはリポジトリへお願いします。

💡 コマンドラインの使用

gitingestコマンドラインツールを使用すると、コードベースを分析し、その内容をテキストダンプとして作成できます。

# 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

プライベートリポジトリの場合は、--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

デフォルトでは、.gitignoreにリストされたファイルはスキップされます。ダイジェストにこれらのファイルを含める必要がある場合は、--include-gitignoredを使用してください。

デフォルトでは、ダイジェストは現在の作業ディレクトリ内のテキストファイル(digest.txt)に書き込まれます。出力をカスタマイズするには2つの方法があります:

  • --output/-o <filename>を使用して特定のファイルに書き込みます
  • --output/-o -を使用して直接STDOUTに出力します(他のツールにパイプする場合に便利)

詳細なオプションと使用方法は以下で確認できます:

gitingest --help

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

プライベートリポジトリの場合は、トークンを渡せます:

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

デフォルトではファイルは書き込まれませんが、output引数で有効にできます。

# Asynchronous usage
from gitingest import ingest_async
import asyncio

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

Jupyter notebookでの使用

from gitingest import ingest_async

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

これはJupyter notebookがデフォルトで非同期であるためです。

🐳 セルフホスティング

  1. イメージをビルド:

    docker build -t gitingest .
    
  2. コンテナを実行:

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

アプリケーションはhttp://localhost:8000で利用可能になります。

ドメインでホスティングする場合は、環境変数ALLOWED_HOSTSで許可するホスト名を指定できます。

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

🤝 貢献方法

非技術的な貢献方法

  • Issueの作成: バグを見つけた場合や新機能のアイデアがある場合は、GitHubでissueを作成してください。これにより、リクエストを追跡・優先順位付けできます。
  • 広める: Gitingestが気に入ったら、友人や同僚、SNSで共有してください。コミュニティの成長とGitingestの改善に役立ちます。
  • Gitingestを使用: 実際の使用から得られるフィードバックが最良です!問題や改善アイデアがあれば、GitHubでissueを作成するか、Discordでお知らせください。

技術的な貢献方法

Gitingestは初めてのコントリビューターにも優しい、シンプルなPythonとHTMLのコードベースを目指しています。コード作業中に助けが必要な場合は、Discordでお問い合わせください。プルリクエストの作成方法の詳細は、CONTRIBUTING.mdを参照してください。

🛠️ 技術スタック

JavaScript/FileSystemNodeパッケージをお探しですか?

NPMの代替品📦 Repomixをチェック: https://github.com/yamadashy/repomix

🚀 プロジェクトの成長

Star History Chart