Introdução geral
O Yek é uma ferramenta rápida baseada em Rust para ler arquivos de texto de um repositório ou diretório, dividi-los em pedaços e serializá-los para uso em modelos de linguagem grandes (LLMs). Por padrão, a ferramenta usa regras .gitignore para ignorar arquivos indesejados e usa o histórico do Git para inferir arquivos importantes. O yek pode dividir o conteúdo com base em contagens aproximadas de "tokens" ou tamanhos de bytes e detecta automaticamente se a saída está sendo canalizada. Ele suporta o processamento de vários diretórios em um único comando e é configurado por meio do arquivo yek.toml.
Lista de funções
- Usando a regra .gitignore para ignorar arquivos indesejados
- Usando o histórico do Git para inferir arquivos importantes
- Inferir padrões de ignorar adicionais (por exemplo, arquivos binários, arquivos grandes, etc.)
- Conteúdo fragmentado com base na contagem aproximada de "tokens" ou no tamanho de bytes
- Detecção automática do fato de a saída ser canalizada ou não
- Suporte para o processamento de vários diretórios em um único comando
- Configuração via arquivo yek.toml
Usando a Ajuda
Processo de instalação
Sistemas do tipo Unix (macOS, Linux)
curl -fsSL https://bodo.run/yek.sh | bash
Windows (PowerShell)
irm https://bodo.run/yek.ps1 | iex
Criar a partir da fonte
git clone https://github.com/bodo-run/yek.git
cd yek
cargo build --release
Uso
O Yek tem configurações padrão razoáveis e você pode simplesmente executar o yek em um diretório para serializar todo o repositório. Por padrão, ele serializará todos os arquivos do repositório em blocos de 10 MB e gravará os arquivos em um diretório temporário, com os caminhos dos arquivos impressos no console.
exemplo típico
- Processa o diretório atual e grava no diretório temporário:
yek
- Pipeline a saída para a área de transferência (macOS):
yek src/ | pbcopy
- Limite o tamanho máximo a 128 mil tokens e processe somente o diretório src:
yek --max-size 128K --tokens src/
- Limite o tamanho máximo a 100 KB e processe somente o diretório src, grave em um diretório específico:
yek --max-size 100KB --output-dir /tmp/yek src/
- Manipula vários diretórios:
yek src/ testes/
Referência da CLI
yek --help
O Yek é uma ferramenta de fragmentação e serialização de conteúdo de repositório para consumo do LLM.
uso
yek [OPTIONS] [directories]...
parâmetros
diretórios
Diretório a ser processado [padrão: .]
opções (como nas configurações de software de computador)
--max-size
Tamanho máximo por bloco (por exemplo, "10MB", "128KB", "1GB") [padrão: 10MB]
Descrição de uma frase (breve)