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

Licença Versão no PyPI Estrelas no GitHub Downloads

Discord

Transforme qualquer repositório Git em um texto otimizado para prompts de LLMs.

Você também pode substituir hub por ingest em qualquer URL do GitHub para acessar o resumo correspondente.

gitingest.com · Extensão para Chrome · Complemento para Firefox

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

🚀 Funcionalidades

  • Contexto de código fácil: Obtenha um resumo em texto a partir de uma URL de repositório Git ou de um diretório
  • Formatação inteligente: Saída otimizada para prompts de LLMs
  • Estatísticas sobre:
    • Estrutura de arquivos e diretórios
    • Tamanho do extrato
    • Contagem de tokens
  • Ferramenta CLI: Execute como um comando de terminal
  • Pacote Python: Importe em seu código

📚 Requisitos

  • Python 3.8+
  • Para repositórios privados: Um Token de Acesso Pessoal (PAT) do GitHub. Você pode gerar um em https://github.com/settings/personal-access-tokens (Perfil → Configurações → Configurações de Desenvolvedor → Tokens de Acesso Pessoal → Tokens Granulares)

📦 Instalação

Gitingest está disponível no PyPI. Você pode instalá-lo usando pip:

pip install gitingest

No entanto, pode ser uma boa ideia usar pipx para instalá-lo. Você pode instalar pipx usando seu gerenciador de pacotes preferido.

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

Se estiver usando pipx pela primeira vez, execute:

pipx ensurepath
# install gitingest
pipx install gitingest

🧩 Uso da Extensão de Navegador

Disponível na Chrome Web Store Obtenha o Complemento para Firefox Obtenha nos Complementos do Edge

A extensão é de código aberto em lcandy2/gitingest-extension.

Problemas e solicitações de recursos são bem-vindos no repositório.

💡 Uso via linha de comando

A ferramenta de linha de comando gitingest permite analisar bases de código e criar um dump de texto de seus conteúdos.

# 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

Para repositórios privados, use a opção --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

Por padrão, arquivos listados no .gitignore são ignorados. Use --include-gitignored se precisar desses arquivos no resumo.

Por padrão, o resumo é gravado em um arquivo de texto (digest.txt) no seu diretório de trabalho atual. Você pode personalizar a saída de duas maneiras:

  • Use --output/-o <nome_do_arquivo> para gravar em um arquivo específico.
  • Use --output/-o - para enviar diretamente para STDOUT (útil para redirecionar para outras ferramentas).

Veja mais opções e detalhes de uso com:

gitingest --help

🐍 Uso do pacote 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")

Para repositórios privados, você pode passar um token:

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

Por padrão, isso não gravará um arquivo, mas pode ser habilitado com o argumento output.

# Asynchronous usage
from gitingest import ingest_async
import asyncio

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

Uso em notebooks Jupyter

from gitingest import ingest_async

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

Isso ocorre porque notebooks Jupyter são assíncronos por padrão.

🐳 Auto-hospedagem

  1. Construa a imagem:

    docker build -t gitingest .
    
  2. Execute o container:

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

O aplicativo estará disponível em http://localhost:8000.

Se estiver hospedando em um domínio, você pode especificar os nomes de host permitidos via variável de ambiente ALLOWED_HOSTS.

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

🤝 Contribuição

Formas não-técnicas de contribuir

  • Crie uma Issue: Se encontrar um bug ou tiver uma ideia para um novo recurso, por favor crie uma issue no GitHub. Isso nos ajudará a rastrear e priorizar sua solicitação.
  • Divulgue: Se gostar do Gitingest, compartilhe com seus amigos, colegas e nas redes sociais. Isso nos ajudará a crescer a comunidade e tornar o Gitingest ainda melhor.
  • Use o Gitingest: O melhor feedback vem do uso real! Se encontrar problemas ou tiver ideias de melhoria, nos avise criando uma issue no GitHub ou entre em contato conosco no Discord.

Formas técnicas de contribuir

O Gitingest visa ser amigável para contribuidores iniciantes, com um código simples em Python e HTML. Se precisar de ajuda enquanto trabalha com o código, entre em contato conosco no Discord. Para instruções detalhadas sobre como fazer um pull request, consulte CONTRIBUTING.md.

🛠️ Stack

Procurando um pacote JavaScript/FileSystemNode?

Confira a alternativa NPM 📦 Repomix: https://github.com/yamadashy/repomix

🚀 Crescimento do Projeto

Gráfico de Histórico de Estrelas