Introdução geral
O code2prompt é uma ferramenta de linha de comando de código aberto, criada pelo desenvolvedor Mufeed VH e hospedada no GitHub, projetada para ajudar os usuários a converter rapidamente bases de código inteiras em prompts adequados para o Modelo de Linguagem Grande (LLM). Ele gera uma saída Markdown formatada percorrendo o diretório de código, gerando uma estrutura de árvore de origem e consolidando o conteúdo dos arquivos para uso direto em tarefas como análise de código, documentação ou aprimoramento de recursos. Com suporte para personalização de modelos do Handlebars, estatísticas de contagem de tokens e integração com o Git diff, a ferramenta é particularmente adequada para desenvolvedores que desejam aproveitar o poder de grandes modelos, como ChatGPT (ou Claude) para lidar com bases de código complexas. Seja para otimizar o desempenho, encontrar bugs ou gerar commits, o code2prompt proporciona ganhos significativos de eficiência. Em 3 de março de 2025, o projeto tinha mais de 4.500 estrelas, o que demonstra sua ampla aceitação na comunidade de desenvolvedores.
Lista de funções
- Conversão da base de códigoConsolidar arquivos de código de um diretório especificado em um único prompt legível por LLM.
- Geração de árvore de código-fonteGeração automática de uma estrutura em árvore de diretórios de código para facilitar a compreensão do layout do projeto.
- Personalização de modelosPersonalize o formato de saída com modelos do Handlebars para dar suporte a uma ampla gama de cenários de uso.
- Contagem de tokensGeração estatística de prompts para token para garantir a adaptação às restrições contextuais de diferentes modelos.
- Integração com o GitSuporte para adicionar Git diff e log para mostrar o histórico de alterações de código.
- Filtragem de documentosFiltragem de arquivos no modo glob: oferece suporte à filtragem de arquivos no modo glob, ignorando conteúdo estranho, como .gitignore.
- Saída MarkdownGeração de documentos Markdown estruturados para facilitar o upload diretamente no LLM.
- Suporte a várias plataformasEstável em Linux, macOS e Windows.
- Suporte à área de transferênciaCopie automaticamente as dicas geradas para a área de transferência para aumentar a eficiência operacional.
Usando a Ajuda
Processo de instalação
O code2prompt é uma ferramenta de linha de comando escrita em Rust com um processo de instalação simples e suporte para vários métodos. Aqui estão as etapas detalhadas:
Método 1: Instalação por meio do código-fonte
- pré-condiçõesVerifique se o Rust e o Cargo (o gerenciador de pacotes do Rust) estão instalados em seu sistema. Isso pode ser verificado com o seguinte comando:
rustc --version cargo --versão
Se você não o tiver, visite o site do Rust para fazer o download e instalá-lo.
2. armazém de clones::
git clone https://github.com/mufeedvh/code2prompt.git
cd code2prompt
- Compilação e instalação::
cargo build --release
Depois de compilado, o
alvo/liberação/
para encontrar o diretóriocode2prompt
Arquivo executável. - Mover para o caminho global(Opcional): move os arquivos para um caminho do sistema para chamadas globais, por exemplo:
sudo mv target/release/code2prompt /usr/local/bin/
Método 2: Pré-compilando binários
- Visite a página de versões do GitHub para fazer download da versão mais recente do binário para seu sistema operacional (por exemplo
code2prompt-v2.0.0-linux-x86_64
). - Descompacte e dê permissão de execução:
chmod +x code2prompt
- Mover para o caminho global (opcional):
sudo mv code2prompt /usr/local/bin/
Método 3: Instalação via Nix
Se você usar o gerenciador de pacotes Nix, poderá instalá-lo diretamente:
# sem flocos
nix-env -iA nixpkgs.code2prompt
# com flocos
nix profile install nixpkgs#code2prompt
Uso
Depois de instalado, você pode executá-lo na linha de comando code2prompt
. Abaixo está o procedimento de operação detalhado das principais funções:
1. uso básico: geração de dicas de base de código
Suponha que você tenha um diretório de código /caminho/para/codebase
Execute o seguinte comando:
code2prompt /path/to/codebase
- A saída conterá a árvore de origem e todo o conteúdo do arquivo, gerado por padrão no formato Markdown e copiado para a área de transferência.
- Saída de amostra:
Árvore de origem.
dir/
file1.rs
└── file2.py`dir/file1.rs`.
2. modelos personalizados
O code2prompt fornece modelos incorporados (por exemplo, para gerar mensagens de confirmação do git, comentários de documentação etc.) localizados no diretório de instalação do modelos/
pasta. Você também pode criar modelos personalizados. Por exemplo, usando o document-the-code.hbs
Adicione comentários ao documento:
code2prompt /path/to/codebase -t templates/document-the-code.hbs
- Os modelos personalizados precisam seguir a sintaxe do Handlebars, com variáveis como
caminho_do_código_absoluto
(caminho do código),árvore_de_origem
(árvore de código-fonte) earquivos
(lista de documentos).
3. contagem de tokens e opções de codificação
Visualize o número de tokens de dica gerados, com suporte para vários divisores:
code2prompt /path/to/codebase --tokens -c cl100k
- Particípio opcional:
cl100k
(padrão),p50k
ep50k_edit
er50k
.
4. integração com o Git
Adicione o Git diff (arquivos preparados):
code2prompt /path/to/codebase --diff
Compare as diferenças entre os dois ramos:
code2prompt /path/to/codebase --git-diff-branch "main, development"
Obtenha o registro de confirmação entre as ramificações:
code2prompt /path/to/codebase --git-log-branch "main, development"
5. filtragem de documentos
Excluir arquivos ou diretórios específicos:
code2prompt /path/to/codebase --exclude "*.log" --exclude "tests/*"
Contém apenas arquivos específicos:
code2prompt /path/to/codebase --include "*.rs" --include "*.py"
6. salvar a saída
Salve os resultados como um arquivo em vez de apenas copiá-los para a área de transferência:
code2prompt /path/to/codebase -o output.md
Exemplo de operação
Suponha que você queira gerar recomendações de otimização de desempenho para um projeto Python:
- Executar comando:
code2prompt /path/to/project -t templates/improve-performance.hbs -o prompt.md
- comandante-em-chefe (militar)
prompt.md
Conteúdo carregado para Claude ou ChatGPT, digite "Sugerir otimizações de desempenho com base nessa base de código". - Obtenha as opções de otimização retornadas pelo modelo, como otimização de loop, recomendações de gerenciamento de memória, etc.
advertência
- Se a função de área de transferência falhar em alguns sistemas (por exemplo, Ubuntu 24.04), exporte para o terminal e copie manualmente:
code2prompt /path/to/codebase -o /dev/stdout | xclip -selection c
- sonda
.gitignore
para garantir que arquivos estranhos sejam corretamente ignorados (disponível com o--no-ignore
(Desativado).
Com as etapas acima, você pode começar a usar rapidamente o code2prompt e transformar facilmente sua base de código em prompts utilizáveis de modelos grandes, concluindo todo o processo, da análise à otimização.