Repomix
Empacota o conteúdo do repositório em um único arquivo para consumo por IA.
Documentação
Warp, feito para codificar com múltiplos agentes de IA
Disponível para MacOS, Linux e Windows
CodeRabbit | Revisões de Código com IA
Reduza o tempo de revisão de código e bugs pela metade, instantaneamente.
Use Repomix online! 👉 repomix.com
Precisa de discussão? Junte-se a nós no Discord!
Compartilhe suas experiências e dicas
Fique por dentro das novidades
Obtenha ajuda com configuração e uso
📦 Repomix é uma ferramenta poderosa que empacota todo o seu repositório em um único arquivo compatível com IA.
É perfeito para quando você precisa alimentar seu código para Modelos de Linguagem de Grande Porte (LLMs) ou outras ferramentas de IA como Claude,
ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok e muito mais.
Por favor, considere me patrocinar.
🏆 Nomeação para Prêmios de Código Aberto
Estamos honrados! Repomix foi nomeado na categoria Powered by AI no JSNation Open Source Awards 2025.
Isso não teria sido possível sem todos vocês que usam e apoiam o Repomix. Obrigado!
🎉 Novo: Site do Repomix e Comunidade no Discord!
- Experimente o Repomix no seu navegador em repomix.com
- Junte-se ao nosso Servidor no Discord para suporte e discussão
Esperamos vê-lo por lá!
🌟 Recursos
- Otimizado para IA: Formata seu código de uma forma fácil para a IA entender e processar.
- Contagem de Tokens: Fornece contagens de tokens para cada arquivo e para o repositório inteiro, útil para limites de contexto de LLMs.
- Simples de Usar: Você precisa apenas de um comando para empacotar todo o seu repositório.
- Personalizável: Configure facilmente o que incluir ou excluir.
- Ciente do Git: Respeita automaticamente seus arquivos
.gitignore,.ignoree.repomixignore. - Focado em Segurança: Incorpora Secretlint para detectar arquivos que correspondem a formatos de credenciais conhecidos e deixá-los fora da saída.
- Compressão de Código: A opção
--compressusa Tree-sitter para extrair elementos-chave do código, reduzindo a contagem de tokens enquanto preserva a estrutura.
🚀 Início Rápido
Usando a Ferramenta CLI >_
Você pode experimentar o Repomix instantaneamente no diretório do seu projeto sem instalação:
npx repomix@latest
Ou instale globalmente para uso repetido:
# Install using npm
npm install -g repomix
# Alternatively using yarn
yarn global add repomix
# Alternatively using bun
bun add -g repomix
# Alternatively using Homebrew (macOS/Linux)
brew install repomix
# Then run in any project directory
repomix
É isso! O Repomix gerará um arquivo repomix-output.xml no seu diretório atual, contendo todo o seu
repositório em um formato compatível com IA.
Você pode então enviar este arquivo para um assistente de IA com um prompt como:
This file contains all the files in the repository combined into one.
I want to refactor the code, so please review it first.

Quando você propõe mudanças específicas, a IA pode ser capaz de gerar código de acordo. Com recursos como os Artifacts do Claude, você pode potencialmente gerar múltiplos arquivos, permitindo a geração de múltiplas peças de código interdependentes.

Boa codificação! 🚀
Usando o Site 🌐
Quer experimentar rapidamente? Visite o site oficial em repomix.com. Basta inserir o nome do seu repositório, preencher quaisquer detalhes opcionais e clicar no botão Pack para ver a saída gerada.
Opções Disponíveis
O site oferece vários recursos convenientes:
- Formato de saída personalizável (XML, Markdown ou Texto Simples)
- Estimativa instantânea de contagem de tokens
- Muito mais!
Usando a Extensão do Navegador 🧩
Obtenha acesso instantâneo ao Repomix diretamente de qualquer repositório do GitHub! Nossa extensão do Chrome adiciona um botão conveniente "Repomix" às páginas de repositórios do GitHub.

Instalação
- Extensão do Chrome: Repomix - Chrome Web Store
- Complemento do Firefox: Repomix - Complementos do Firefox
Recursos
- Acesso com um clique ao Repomix para qualquer repositório do GitHub
- Mais recursos interessantes em breve!
Usando a Extensão do VSCode ⚡️
Uma extensão do VSCode mantida pela comunidade chamada Repomix Runner (criada por massdo) permite que você execute o Repomix diretamente no seu editor com apenas alguns cliques. Execute-o em qualquer pasta, gerencie saídas sem problemas e controle tudo através da interface intuitiva do VSCode.
Quer sua saída como arquivo ou apenas o conteúdo? Precisa de limpeza automática? Esta extensão tem tudo para você. Além disso, funciona perfeitamente com o seu repomix.config.json existente.
Experimente agora no VSCode Marketplace! O código-fonte está disponível no GitHub.
Ferramentas Alternativas 🛠️
Se você está usando Python, talvez queira conferir o Gitingest, que é mais adequado para o ecossistema Python e fluxos de trabalho de ciência de dados:
https://github.com/cyclotruc/gitingest
📊 Uso
Para empacotar todo o seu repositório:
repomix
Para empacotar um diretório específico:
repomix path/to/directory
Para empacotar arquivos ou diretórios específicos usando padrões glob:
repomix --include "src/**/*.ts,**/*.md"
Para excluir arquivos ou diretórios específicos:
repomix --ignore "**/*.log,tmp/"
Para empacotar um repositório remoto:
repomix --remote https://github.com/yamadashy/repomix
# You can also use GitHub shorthand:
repomix --remote yamadashy/repomix
# You can specify the branch name, tag, or commit hash:
repomix --remote https://github.com/yamadashy/repomix --remote-branch main
# Or use a specific commit hash:
repomix --remote https://github.com/yamadashy/repomix --remote-branch 935b695
# Another convenient way is specifying the branch's URL
repomix --remote https://github.com/yamadashy/repomix/tree/main
# Commit's URL is also supported
repomix --remote https://github.com/yamadashy/repomix/commit/836abcd7335137228ad77feb28655d85712680f1
Para empacotar arquivos de uma lista de arquivos (pipe via stdin):
# Using find command
find src -name "*.ts" -type f | repomix --stdin
# Using git to get tracked files
git ls-files "*.ts" | repomix --stdin
# Using grep to find files containing specific content
grep -l "TODO" **/*.ts | repomix --stdin
# Using ripgrep to find files with specific content
rg -l "TODO|FIXME" --type ts | repomix --stdin
# Using ripgrep (rg) to find files
rg --files --type ts | repomix --stdin
# Using sharkdp/fd to find files
fd -e ts | repomix --stdin
# Using fzf to select from all files
fzf -m | repomix --stdin
# Interactive file selection with fzf
find . -name "*.ts" -type f | fzf -m | repomix --stdin
# Using ls with glob patterns
ls src/**/*.ts | repomix --stdin
# From a file containing file paths
cat file-list.txt | repomix --stdin
# Direct input with echo
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin
A opção --stdin permite que você envie uma lista de caminhos de arquivos para o Repomix, dando a você flexibilidade máxima na seleção de quais arquivos empacotar.
Ao usar --stdin, os arquivos especificados são efetivamente adicionados aos padrões de inclusão. Isso significa que o comportamento normal de inclusão e exclusão ainda se aplica - arquivos especificados via stdin ainda serão excluídos se corresponderem a padrões de exclusão.
[!NOTE] Ao usar
--stdin, os caminhos de arquivo podem ser relativos ou absolutos, e o Repomix lidará automaticamente com a resolução de caminhos e a deduplicação.
Para incluir logs do git na saída:
# Include git logs with default count (50 commits)
repomix --include-logs
# Include git logs with specific commit count
repomix --include-logs --include-logs-count 10
# Combine with diffs for comprehensive git context
repomix --include-logs --include-diffs
Os logs do git incluem datas de commit, mensagens e caminhos de arquivo para cada commit, fornecendo contexto valioso para a análise de IA da evolução do código e padrões de desenvolvimento.
Para comprimir a saída:
repomix --compress
# You can also use it with remote repositories:
repomix --remote yamadashy/repomix --compress
Para inicializar um novo arquivo de configuração (repomix.config.json):
repomix --init
Depois de gerar o arquivo empacotado, você pode usá-lo com ferramentas de IA Generativa como ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok e muito mais.
Uso com Docker 🐳
Você também pode executar o Repomix usando Docker.
Isso é útil se você quiser executar o Repomix em um ambiente isolado ou preferir usar contêineres.
Uso básico (diretório atual):
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix
Para empacotar um diretório específico:
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix path/to/directory
Processe um repositório remoto e envie a saída para um diretório output:
docker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix --remote https://github.com/yamadashy/repomix
Exemplos de Prompts
Depois de gerar o arquivo empacotado com o Repomix, você pode usá-lo com ferramentas de IA como ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok e muito mais. Aqui estão alguns exemplos de prompts para começar:
Revisão de Código e Refatoração
Para uma revisão abrangente de código e sugestões de refatoração:
This file contains my entire codebase. Please review the overall structure and suggest any improvements or refactoring opportunities, focusing on maintainability and scalability.
Geração de Documentação
Para gerar documentação do projeto:
Based on the codebase in this file, please generate a detailed README.md that includes an overview of the project, its main features, setup instructions, and usage examples.
Geração de Casos de Teste
Para gerar casos de teste:
Analyze the code in this file and suggest a comprehensive set of unit tests for the main functions and classes. Include edge cases and potential error scenarios.
Avaliação de Qualidade de Código
Avalie a qualidade do código e a adesão às melhores práticas:
Review the codebase for adherence to coding best practices and industry standards. Identify areas where the code could be improved in terms of readability, maintainability, and efficiency. Suggest specific changes to align the code with best practices.
Visão Geral da Biblioteca
Obtenha uma compreensão de alto nível da biblioteca
This file contains the entire codebase of library. Please provide a comprehensive overview of the library, including its main purpose, key features, and overall architecture.
Sinta-se à vontade para modificar esses prompts com base nas suas necessidades específicas e nas capacidades da ferramenta de IA que você está usando.
Discussão da Comunidade
Confira nossa discussão da comunidade onde os usuários compartilham:
- Quais ferramentas de IA eles estão usando com o Repomix
- Prompts eficazes que descobriram
- Como o Repomix os ajudou
- Dicas e truques para aproveitar ao máximo a análise de código com IA
Sinta-se à vontade para participar da discussão e compartilhar suas próprias experiências! Seus insights podem ajudar outros a fazer melhor uso do Repomix.
Formato do Arquivo de Saída
O Repomix gera um único arquivo com separadores claros entre diferentes partes do seu código.
Para melhorar a compreensão da IA, o arquivo de saída começa com uma explicação orientada à IA, facilitando para os modelos de IA
entenderem o contexto e a estrutura do repositório empacotado.
Formato XML (padrão)
O formato XML estrutura o conteúdo de forma hierárquica:
This file is a merged representation of the entire codebase, combining all repository files into a single document.
<file_summary>
(Metadata and usage AI instructions)
</file_summary>
<directory_structure>
src/
cli/
cliOutput.ts
index.ts
(...remaining directories)
</directory_structure>
<files>
<file path="src/index.js">
// File contents here
</file>
(...remaining files)
</files>
<instruction>
(Custom instructions from `output.instructionFilePath`)
</instruction>
Para aqueles interessados no potencial das tags XML em contextos de IA:
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags
Quando seus prompts envolvem múltiplos componentes como contexto, instruções e exemplos, as tags XML podem ser um divisor de águas. Elas ajudam o Claude a analisar seus prompts com mais precisão, levando a saídas de maior qualidade.
Isso significa que a saída XML do Repomix não é apenas um formato diferente, mas potencialmente uma forma mais eficaz de alimentar seu código em sistemas de IA para análise, revisão de código ou outras tarefas.
Formato Markdown
Para gerar saída no formato Markdown, use a opção --style markdown:
repomix --style markdown
O formato Markdown estrutura o conteúdo de forma hierárquica:
This file is a merged representation of the entire codebase, combining all repository files into a single document.
# File Summary
(Metadata and usage AI instructions)
# Repository Structure
```
src/
cli/
cliOutput.ts
index.ts
```
(...remaining directories)
# Repository Files
## File: src/index.js
```
// File contents here
```
(...remaining files)
# Instruction
(Custom instructions from `output.instructionFilePath`)
Este formato fornece uma estrutura limpa e legível que é amigável para humanos e facilmente analisável por sistemas de IA.
Formato JSON
Para gerar saída no formato JSON, use a opção --style json:
repomix --style json
O formato JSON estrutura o conteúdo como um objeto JSON hierárquico com nomes de propriedades em camelCase:
{
"fileSummary": {
"generationHeader": "This file is a merged representation of the entire codebase, combined into a single document by Repomix.",
"purpose": "This file contains a packed representation of the entire repository's contents...",
"fileFormat": "The content is organized as follows...",
"usageGuidelines": "- This file should be treated as read-only...",
"notes": "- Some files may have been excluded based on .gitignore, .ignore, and .repomixignore rules..."
},
"userProvidedHeader": "Custom header text if specified",
"directoryStructure": "src/\n cli/\n cliOutput.ts\n index.ts\n config/\n configLoader.ts",
"files": {
"src/index.js": "// File contents here",
"src/utils.js": "// File contents here"
},
"instruction": "Custom instructions from instructionFilePath"
}
Este formato é ideal para:
- Processamento programático: Fácil de analisar e manipular com bibliotecas JSON
- Integração com API: Consumo direto por serviços web e aplicações
- Compatibilidade com ferramentas de IA: Formato estruturado para sistemas de aprendizado de máquina e IA
- Análise de dados: Extração direta de informações específicas usando ferramentas como
jq
Trabalhando com Saída JSON Usando jq
O formato JSON facilita a extração de informações específicas programaticamente:
# List all file paths
cat repomix-output.json | jq -r '.files | keys[]'
# Count total number of files
cat repomix-output.json | jq '.files | keys | length'
# Extract specific file content
cat repomix-output.json | jq -r '.files["README.md"]'
cat repomix-output.json | jq -r '.files["src/index.js"]'
# Find files by extension
cat repomix-output.json | jq -r '.files | keys[] | select(endswith(".ts"))'
# Get files containing specific text
cat repomix-output.json | jq -r '.files | to_entries[] | select(.value | contains("function")) | .key'
# Extract directory structure
cat repomix-output.json | jq -r '.directoryStructure'
# Get file summary information
cat repomix-output.json | jq '.fileSummary.purpose'
cat repomix-output.json | jq -r '.fileSummary.generationHeader'
# Extract user-provided header (if exists)
cat repomix-output.json | jq -r '.userProvidedHeader // "No header provided"'
# Create a file list with sizes
cat repomix-output.json | jq -r '.files | to_entries[] | "\(.key): \(.value | length) characters"'
Formato Texto Simples
Para gerar saída no formato texto simples, use a opção --style plain:
repomix --style plain
This file is a merged representation of the entire codebase, combining all repository files into a single document.
================================================================
File Summary
================================================================
(Metadata and usage AI instructions)
================================================================
Directory Structure
================================================================
src/
cli/
cliOutput.ts
index.ts
config/
configLoader.ts
(...remaining directories)
================================================================
Files
================================================================
================
File: src/index.js
================
// File contents here
================
File: src/utils.js
================
// File contents here
(...remaining files)
================================================================
Instruction
================================================================
(Custom instructions from `output.instructionFilePath`)
Opções de Linha de Comando
Opções Básicas
-v, --version: Mostra informações da versão e sai
Opções de Entrada/Saída da CLI
| Opção | Descrição |
|---|---|
--verbose | Ativa o registro de depuração detalhado (mostra processamento de arquivos, contagens de tokens e detalhes de configuração) |
--quiet | Suprime toda a saída do console, exceto erros (útil para scripts) |
--stdout | Escreve a saída empacotada diretamente no stdout em vez de um arquivo (suprime todo o registro) |
--stdin | Lê caminhos de arquivo do stdin, um por linha (os arquivos especificados são processados diretamente) |
--copy | Copia a saída gerada para a área de transferência do sistema após o processamento |
--token-count-tree [threshold] | Mostra a árvore de arquivos com contagens de tokens; limite opcional para mostrar apenas arquivos com ≥N tokens (ex.: --token-count-tree 100) |
--top-files-len <number> | Número de maiores arquivos a mostrar no resumo (padrão: 5) |
Opções de Saída do Repomix
| Opção | Descrição |
|---|---|
-o, --output <file> | Caminho do arquivo de saída (padrão: repomix-output.xml, use "-" para stdout) |
--style <style> | Formato de saída: xml, markdown, json ou plain (padrão: xml) |
--output-file-path-style <style> | Como os caminhos de arquivo são exibidos na saída: target-relative ou cwd-relative (padrão: target-relative) |
--parsable-style | Escapar caracteres especiais para garantir XML/Markdown válido (necessário quando a saída contém código que quebra a formatação) |
--compress | Extrair estrutura essencial do código (classes, funções, interfaces) usando análise Tree-sitter |
--output-show-line-numbers | Prefixar cada linha com seu número de linha na saída |
--no-file-summary | Omitir a seção de resumo do arquivo da saída |
--no-directory-structure | Omitir a visualização da árvore de diretórios da saída |
--no-files | Gerar apenas metadados sem conteúdos de arquivo (útil para análise de repositório) |
--remove-comments | Remover todos os comentários de código antes de empacotar |
--remove-empty-lines | Remover linhas em branco de todos os arquivos |
--truncate-base64 | Truncar strings de dados base64 longas para reduzir o tamanho da saída |
--header-text <text> | Texto personalizado para incluir no início da saída |
--instruction-file-path <path> | Caminho para o arquivo contendo instruções personalizadas a incluir na saída |
--split-output <size> | Dividir a saída em vários arquivos numerados (ex.: repomix-output.1.xml); tamanho como 500kb, 2mb ou 1.5mb |
--include-empty-directories | Incluir pastas sem arquivos na estrutura de diretórios |
--include-full-directory-structure | Mostrar árvore de diretórios completa na saída, incluindo arquivos não correspondidos pelos padrões --include |
--no-git-sort-by-changes | Não ordenar arquivos por frequência de alteração no git (padrão: arquivos mais alterados primeiro) |
--include-diffs | Adicionar seção de diff do git mostrando alterações na árvore de trabalho e staged |
--include-logs | Adicionar histórico de commits do git com mensagens e arquivos alterados |
--include-logs-count <count> | Número de commits recentes a incluir com --include-logs (padrão: 50) |
Opções de Seleção de Arquivos
| Opção | Descrição |
|---|---|
--include <patterns> | Incluir apenas arquivos que correspondam a esses padrões glob (separados por vírgula, ex.: "src/**/*.js,*.md") |
-i, --ignore <patterns> | Padrões adicionais a excluir (separados por vírgula, ex.: "*.test.js,docs/**") |
--no-gitignore | Não usar regras de .gitignore para filtrar arquivos |
--no-dot-ignore | Não usar regras de .ignore para filtrar arquivos |
--no-default-patterns | Não aplicar padrões de ignorar embutidos (node_modules, .git, diretórios de build, etc.) |
Opções de Repositório Remoto
| Opção | Descrição |
|---|---|
--remote <url> | Clonar e empacotar um repositório remoto (URL do GitHub ou formato user/repo) |
--remote-branch <name> | Branch, tag ou commit específico a usar (padrão: branch padrão do repositório) |
--remote-trust-config | Confiar e carregar arquivos de configuração de repositórios remotos (desabilitado por padrão por segurança). Em um terminal interativo, a configuração é exibida e você é solicitado a confirmar |
Opções de Configuração
| Opção | Descrição |
|---|---|
-c, --config <path> | Usar arquivo de configuração personalizado em vez de repomix.config.json |
--init | Criar um novo arquivo repomix.config.json com padrões |
--global | Com --init, criar configuração no diretório home em vez do diretório atual |
Opções de Segurança
--no-security-check: Pular a verificação de dados sensíveis como chaves de API e senhas
Opções de Contagem de Tokens
--token-count-encoding <encoding>: Modelo de tokenizador para contagem: o200k_base (GPT-4o), cl100k_base (GPT-3.5/4), etc. (padrão: o200k_base)--token-budget <number>: Falhar com código de saída não zero quando a saída empacotada exceder N tokens. Útil como proteção em pipelines de CI e fluxos de agente para manter a saída dentro da janela de contexto do modelo alvo. A saída ainda é gerada; apenas o código de saída sinaliza o estouro.
MCP
--mcp: Executar como servidor Model Context Protocol para integração com ferramentas de IA--sandbox [dir]: (com--mcp) confinar as ferramentas de arquivo do servidor MCP a um diretório de trabalho (padrão: diretório de trabalho; ex.:--sandbox path/to/project) — cada caminho é relativo a essa raiz, caminhos absolutos/de host são recusados, e empacotamento remoto, geração de habilidades e anexação de saídas externas são desabilitados.
Geração de Habilidades de Agente
| Opção | Descrição |
|---|---|
--skill-generate [name] | Gerar saída no formato Claude Agent Skills para o diretório .claude/skills/<name>/ (nome gerado automaticamente se omitido) |
--skill-project-name <name> | Substituir o nome do projeto usado nas descrições de Skills geradas |
--skill-output <path> | Especificar o caminho do diretório de saída das skills diretamente (pula o prompt de localização) |
-f, --force | Pular todos os prompts de confirmação (substituição do diretório de skills, confiança em config remota) |
Modo de Observação
-
-w, --watch: Observar alterações de arquivos e reempacotar automaticamente. Debounce de alterações rápidas (300ms) e registra um timestamp em cada reconstrução. Pare comCtrl+C.O modo de observação só funciona com diretórios locais, portanto não pode ser combinado com
--remote, uma URL de repositório remoto posicional,--stdout,--stdin,--split-output,--skill-generateou--copy(seja definido na linha de comando ou no arquivo de configuração).
Exemplos
# Basic usage
repomix
# Custom output
repomix -o output.xml --style xml
# Output to stdout
repomix --stdout > custom-output.txt
# Send output to stdout, then pipe into another command (for example, simonw/llm)
repomix --stdout | llm "Please explain what this code does."
# Custom output with compression
repomix --compress
# Process specific files
repomix --include "src/**/*.ts" --ignore "**/*.test.ts"
# Split output into multiple files (max size per part)
repomix --split-output 20mb
# Remote repository with branch
repomix --remote https://github.com/user/repo/tree/main
# Remote repository with commit
repomix --remote https://github.com/user/repo/commit/836abcd7335137228ad77feb28655d85712680f1
# Remote repository with shorthand
repomix --remote user/repo
# Watch mode — automatically re-pack on file changes
repomix --watch
repomix -w --include "src/**/*.ts"
Atualizando o Repomix
Para atualizar um Repomix instalado globalmente:
# Using npm
npm update -g repomix
# Using yarn
yarn global upgrade repomix
# Using bun
bun update -g repomix
Usar npx repomix é geralmente mais conveniente, pois sempre usa a versão mais recente.
Processamento de Repositório Remoto
O Repomix suporta o processamento de repositórios Git remotos sem a necessidade de clonagem manual. Esse recurso permite que você analise rapidamente qualquer repositório Git público com um único comando.
Para processar um repositório remoto, use a opção --remote seguida pela URL do repositório:
repomix --remote https://github.com/yamadashy/repomix
Você também pode usar o formato abreviado do GitHub:
repomix --remote yamadashy/repomix
Você pode especificar o nome do branch, tag ou hash do commit:
# Using --remote-branch option
repomix --remote https://github.com/yamadashy/repomix --remote-branch main
# Using branch's URL
repomix --remote https://github.com/yamadashy/repomix/tree/main
Ou usar um hash de commit específico:
# Using --remote-branch option
repomix --remote https://github.com/yamadashy/repomix --remote-branch 935b695
# Using commit's URL
repomix --remote https://github.com/yamadashy/repomix/commit/836abcd7335137228ad77feb28655d85712680f1
[!NOTE] Por segurança, arquivos de configuração (
repomix.config.*) em repositórios remotos não são carregados por padrão. Isso impede que repositórios não confiáveis executem código via arquivos de configuração. Sua configuração global e opções de CLI ainda são aplicadas. Para confiar na configuração de um repositório remoto, use--remote-trust-configou definaREPOMIX_REMOTE_TRUST_CONFIG=true— em um terminal interativo, o Repomix então mostra essa configuração e pede confirmação antes de carregá-la. Veja Confiança de Configuração de Repositório Remoto.Ao usar
--configcom--remote, um caminho absoluto é necessário (ex.:--config /home/user/repomix.config.json).
Compressão de Código
A opção --compress utiliza Tree-sitter para realizar extração inteligente de código, focando em assinaturas essenciais de funções e classes enquanto remove detalhes de implementação. Isso pode ajudar a reduzir a contagem de tokens enquanto mantém informações estruturais importantes.
repomix --compress
Por exemplo, este código:
import { ShoppingItem } from './shopping-item';
/**
* Calculate the total price of shopping items
*/
const calculateTotal = (
items: ShoppingItem[]
) => {
let total = 0;
for (const item of items) {
total += item.price * item.quantity;
}
return total;
}
// Shopping item interface
interface Item {
name: string;
price: number;
quantity: number;
}
Será comprimido para:
import { ShoppingItem } from './shopping-item';
⋮----
/**
* Calculate the total price of shopping items
*/
const calculateTotal = (
items: ShoppingItem[]
) => {
⋮----
// Shopping item interface
interface Item {
name: string;
price: number;
quantity: number;
}
[!NOTE] Este é um recurso experimental que estaremos melhorando ativamente com base no feedback dos usuários e no uso no mundo real
Níveis de Inclusão por Arquivo (output.patterns)
Enquanto --compress aplica um nível a cada arquivo, output.patterns permite que você controle o nível de detalhe por glob a partir do seu arquivo de configuração. Cada entrada segmenta arquivos por glob (correspondido da mesma forma que include/ignore) e substitui a configuração global output.compress para arquivos correspondentes:
{
"output": {
"compress": false, // global default acts as the catch-all
"patterns": [
{ "pattern": "docs/**/*", "compress": true },
{ "pattern": "website/**/*", "directoryStructureOnly": true }
]
}
}
Existem três níveis:
- Conteúdo completo (padrão) — o conteúdo completo do arquivo é incluído.
- Comprimido (
compress: true) — o conteúdo passa pelo mesmo pipeline Tree-sitter que--compress. - Somente estrutura de diretório (
directoryStructureOnly: true) — o arquivo é listado na estrutura de diretórios, mas seu bloco de conteúdo é omitido completamente da saída.
Semântica:
- Os padrões são avaliados em ordem de array e o primeiro padrão correspondente vence para um determinado arquivo.
- As flags de um padrão correspondente substituem a configuração global
output.compress. Um padrão que corresponde sem definir nenhuma flag força conteúdo completo para esse arquivo (útil para incluir arquivos na lista de permissões de umcompressglobal). directoryStructureOnlytem precedência sobrecompressquando ambos estão definidos.- Se nenhum padrão corresponder, o comportamento global se aplica (conteúdo completo, ou comprimido quando
output.compressétrue).
Esta é uma opção somente de arquivo de configuração; não há flag de CLI para níveis por padrão.
Otimização de Contagem de Tokens
Entender a distribuição de tokens do seu código é crucial para otimizar interações com IA. Use a opção --token-count-tree para visualizar o uso de tokens em todo o seu projeto:
repomix --token-count-tree
Isso exibe uma visão hierárquica do seu código com contagens de tokens:
🔢 Token Count Tree:
────────────────────
└── src/ (70,925 tokens)
├── cli/ (12,714 tokens)
│ ├── actions/ (7,546 tokens)
│ └── reporters/ (990 tokens)
└── core/ (41,600 tokens)
├── file/ (10,098 tokens)
└── output/ (5,808 tokens)
Você também pode definir um limite mínimo de tokens para focar em arquivos maiores:
repomix --token-count-tree 1000 # Only show files/directories with 1000+ tokens
Isso ajuda você a:
- Identificar arquivos pesados em tokens que podem exceder os limites de contexto da IA
- Otimizar a seleção de arquivos usando padrões
--includee--ignore - Planejar estratégias de compressão segmentando os maiores contribuidores
- Equilibrar conteúdo vs. contexto ao preparar código para análise de IA
Dividindo a Saída para Grandes Bases de Código
Ao trabalhar com grandes bases de código, a saída empacotada pode exceder os limites de tamanho de arquivo impostos por algumas ferramentas de IA (ex.: limite de 1MB do Google AI Studio). Use --split-output para dividir automaticamente a saída em vários arquivos:
repomix --split-output 1mb
Isso gera arquivos numerados como:
repomix-output.1.xmlrepomix-output.2.xmlrepomix-output.3.xml
O tamanho pode ser especificado com unidades: 500kb, 1mb, 2mb, 1.5mb, etc. Valores decimais são suportados.
[!NOTE] Os arquivos são agrupados por diretório de nível superior para manter o contexto. Um único arquivo ou diretório nunca será dividido entre vários arquivos de saída.
Integração com Servidor MCP
O Repomix suporta o Model Context Protocol (MCP), permitindo que assistentes de IA interajam diretamente com sua base de código. Quando executado como servidor MCP, o Repomix fornece ferramentas que permitem que assistentes de IA empacotem repositórios locais ou remotos para análise sem exigir preparação manual de arquivos.
repomix --mcp
Modo Sandbox
Por padrão, o servidor MCP pode ler qualquer caminho que o usuário do host possa. Isso é conveniente para um assistente local confiável, mas amplo demais quando o servidor é exposto a um cliente ou agente não confiável. A flag --sandbox confina as ferramentas de arquivo do servidor a um único diretório de trabalho:
# Confine to the current working directory
repomix --mcp --sandbox
# Confine to a specific directory
repomix --mcp --sandbox path/to/project
Quando o modo sandbox está ativo, cada caminho é relativo à raiz do workspace (caminhos absolutos, ~, .. e caminhos de unidade/UNC do Windows são recusados, assim como caminhos que resolvem fora da raiz através de symlinks), e apenas as ferramentas somente leitura confinadas à raiz são registradas; empacotamento remoto, geração de habilidades e anexação de saídas externas são desabilitados. As ferramentas de arquivo brutas (file_system_read_file, file_system_read_directory) estão disponíveis apenas no modo sandbox, onde a raiz do workspace limita o que elas podem alcançar. Este é um confinamento em nível de aplicação da superfície da ferramenta, não um sandbox em nível de SO. Veja o guia do Servidor MCP para detalhes.
Configurando Servidores MCP
Para usar o Repomix como servidor MCP com assistentes de IA como Claude, você precisa configurar as configurações do MCP:
Para VS Code:
Você pode instalar o servidor MCP do Repomix no VS Code usando um destes métodos:
- Usando o Selo de Instalação:
- Usando a Linha de Comando:
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
Para VS Code Insiders:
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
Para Cline (extensão do VS Code):
Edite o arquivo cline_mcp_settings.json:
{
"mcpServers": {
"repomix": {
"command": "npx",
"args": [
"-y",
"repomix",
"--mcp"
]
}
}
}
Para Cursor:
In Cursor, adicione um novo servidor MCP em Cursor Settings > MCP > + Add new global MCP server com uma configuração semelhante à do Cline.
Para Claude Desktop:
Edite o arquivo claude_desktop_config.json com uma configuração semelhante à do Cline.
Para Claude Code:
Para configurar o Repomix como um servidor MCP no Claude Code, use o seguinte comando:
claude mcp add repomix -- npx -y repomix --mcp
Alternativamente, você pode usar os plugins oficiais do Repomix (veja a seção Claude Code Plugins abaixo).
Usando Docker em vez de npx:
Você pode usar Docker como alternativa ao npx para executar o Repomix como servidor MCP:
{
"mcpServers": {
"repomix-docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/yamadashy/repomix",
"--mcp"
]
}
}
}
Uma vez configurado, seu assistente de IA pode usar diretamente os recursos do Repomix para analisar bases de código sem preparação manual de arquivos, tornando os fluxos de trabalho de análise de código mais eficientes.
Ferramentas MCP Disponíveis
Quando executado como servidor MCP, o Repomix fornece as seguintes ferramentas:
- pack_codebase: Empacota um diretório de código local em um arquivo XML consolidado para análise de IA
- Parâmetros:
directory: Caminho absoluto para o diretório a ser empacotadocompress: (Opcional, padrão: false) Ativa a compressão Tree-sitter para extrair assinaturas e estrutura essenciais do código, removendo detalhes de implementação. Reduz o uso de tokens em ~70% preservando o significado semântico. Geralmente não é necessário, pois o grep_repomix_output permite recuperação incremental de conteúdo. Use apenas quando você precisar especificamente do conteúdo completo da base de código para repositórios grandes.includePatterns: (Opcional) Especifica arquivos a incluir usando padrões fast-glob. Vários padrões podem ser separados por vírgula (ex.: "/*.{js,ts}", "src/,docs/**"). Apenas arquivos correspondentes serão processados.ignorePatterns: (Opcional) Especifica arquivos adicionais a excluir usando padrões fast-glob. Vários padrões podem ser separados por vírgula (ex.: "test/,*.spec.js", "node_modules/,dist/**"). Esses padrões complementam .gitignore, .ignore e exclusões integradas.outputPatterns: (Opcional) Níveis de inclusão por arquivo, espelhando a opçãooutput.patternsdo arquivo de configuração. Uma matriz de entradas{ pattern, compress?, directoryStructureOnly? }; o primeiro padrão correspondente vence,directoryStructureOnlytem precedência sobrecompress, e uma correspondência sem nenhum dos sinalizadores força o conteúdo completo (útil para isentar arquivos de umcompressglobal). Substitui qualqueroutput.patternsdorepomix.config.jsondo repositório de destino.topFilesLength: (Opcional, padrão: 10) Número de maiores arquivos por tamanho a exibir no resumo de métricas para análise de base de código.
- attach_packed_output: Anexa um arquivo de saída empacotado existente do Repomix para análise de IA
- Parâmetros:
path: Caminho para um diretório contendo repomix-output.xml ou caminho direto para um arquivo XML de repositório empacotadotopFilesLength: (Opcional, padrão: 10) Número de maiores arquivos por tamanho a exibir no resumo de métricas
- Recursos:
- Aceita um diretório contendo um arquivo repomix-output.xml ou um caminho direto para um arquivo XML
- Registra o arquivo no servidor MCP e retorna a mesma estrutura da ferramenta pack_codebase
- Fornece acesso a saídas empacotadas existentes sem exigir reprocessamento
- Útil para trabalhar com repositórios empacotados gerados anteriormente
- pack_remote_repository: Busca, clona e empacota um repositório GitHub em um arquivo XML consolidado para análise de IA
- Parâmetros:
remote: URL do repositório GitHub ou formato usuário/repositório (ex.: "yamadashy/repomix", "https://github.com/user/repo" ou "https://github.com/user/repo/tree/branch")compress: (Opcional, padrão: false) Ativa a compressão Tree-sitter para extrair assinaturas e estrutura essenciais do código, removendo detalhes de implementação. Reduz o uso de tokens em ~70% preservando o significado semântico. Geralmente não é necessário, pois o grep_repomix_output permite recuperação incremental de conteúdo. Use apenas quando você precisar especificamente do conteúdo completo da base de código para repositórios grandes.includePatterns: (Opcional) Especifica arquivos a incluir usando padrões fast-glob. Vários padrões podem ser separados por vírgula (ex.: "/*.{js,ts}", "src/,docs/**"). Apenas arquivos correspondentes serão processados.ignorePatterns: (Opcional) Especifica arquivos adicionais a excluir usando padrões fast-glob. Vários padrões podem ser separados por vírgula (ex.: "test/,*.spec.js", "node_modules/,dist/**"). Esses padrões complementam .gitignore, .ignore e exclusões integradas.outputPatterns: (Opcional) Níveis de inclusão por arquivo, espelhando a opçãooutput.patternsdo arquivo de configuração. Uma matriz de entradas{ pattern, compress?, directoryStructureOnly? }; o primeiro padrão correspondente vence,directoryStructureOnlytem precedência sobrecompress, e uma correspondência sem nenhum dos sinalizadores força o conteúdo completo (útil para isentar arquivos de umcompressglobal).topFilesLength: (Opcional, padrão: 10) Número de maiores arquivos por tamanho a exibir no resumo de métricas para análise de base de código.
- read_repomix_output: Lê o conteúdo de um arquivo de saída gerado pelo Repomix. Suporta leitura parcial com especificação de intervalo de linhas para arquivos grandes.
- Parâmetros:
outputId: ID do arquivo de saída do Repomix a ser lidostartLine: (Opcional) Número da linha inicial (baseado em 1, inclusivo). Se não especificado, lê desde o início.endLine: (Opcional) Número da linha final (baseado em 1, inclusivo). Se não especificado, lê até o final.
- Recursos:
- Projetado especificamente para ambientes baseados na web ou aplicativos em sandbox
- Recupera o conteúdo de saídas geradas anteriormente usando seu ID
- Fornece acesso à base de código empacotada sem exigir acesso ao sistema de arquivos
- Suporta leitura parcial para arquivos grandes
- grep_repomix_output: Pesquisa padrões em um arquivo de saída do Repomix usando funcionalidade semelhante a grep com sintaxe JavaScript RegExp
- Parâmetros:
outputId: ID do arquivo de saída do Repomix a ser pesquisadopattern: Padrão de pesquisa (sintaxe de expressão regular JavaScript RegExp)contextLines: (Opcional, padrão: 0) Número de linhas de contexto a exibir antes e depois de cada correspondência. Substituído por beforeLines/afterLines se especificado.beforeLines: (Opcional) Número de linhas de contexto a exibir antes de cada correspondência (como grep -B). Tem precedência sobre contextLines.afterLines: (Opcional) Número de linhas de contexto a exibir depois de cada correspondência (como grep -A). Tem precedência sobre contextLines.ignoreCase: (Opcional, padrão: false) Realiza correspondência sem diferenciar maiúsculas de minúsculas
- Recursos:
- Usa sintaxe JavaScript RegExp para correspondência de padrões poderosa
- Suporta linhas de contexto para melhor compreensão das correspondências
- Permite controle separado das linhas de contexto antes/depois
- Opções de pesquisa com e sem diferenciação de maiúsculas e minúsculas
- file_system_read_file: Lê um arquivo dentro do espaço de trabalho da sandbox. Disponível apenas no modo sandbox (
--sandbox), onde a raiz do espaço de trabalho limita o que ele pode alcançar.
- Parâmetros:
path: Caminho para o arquivo a ser lido, relativo à raiz do espaço de trabalho (ex.:src/index.ts)
- Observações:
- Não registrado sem
--sandbox - Conteúdo correspondente a formatos de segredos conhecidos (Secretlint) é recusado como salvaguarda heurística adicional — o limite de acesso é a raiz do espaço de trabalho, não a varredura
- Não registrado sem
- file_system_read_directory: Lista o conteúdo de um diretório dentro do espaço de trabalho da sandbox. Disponível apenas no modo sandbox (
--sandbox).
- Parâmetros:
path: Caminho para o diretório a ser listado, relativo à raiz do espaço de trabalho (ex.:.ousrc)
- Recursos:
- Mostra arquivos e diretórios com indicadores claros (
[FILE]ou[DIR]) - Útil para explorar a estrutura do projeto e entender a organização da base de código
- Mostra arquivos e diretórios com indicadores claros (
Claude Code Plugins
O Repomix fornece plugins oficiais para Claude Code que se integram perfeitamente ao ambiente de desenvolvimento com IA.
Instalação
1. Adicione o marketplace de plugins do Repomix:
/plugin marketplace add yamadashy/repomix
2. Instale os plugins:
# Install MCP server plugin (recommended foundation)
/plugin install repomix-mcp@repomix
# Install commands plugin (extends functionality)
/plugin install repomix-commands@repomix
# Install repository explorer plugin (AI-powered analysis)
/plugin install repomix-explorer@repomix
Observação: O plugin repomix-mcp é recomendado como base. O plugin repomix-commands fornece comandos de barra convenientes, enquanto repomix-explorer adiciona recursos de análise com IA. Embora você possa instalá-los independentemente, usar os três fornece a experiência mais abrangente.
Alternativamente, use o instalador interativo de plugins:
/plugin
Isso abrirá uma interface interativa onde você pode navegar e instalar os plugins disponíveis.
Plugins Disponíveis
1. repomix-mcp (Plugin de Servidor MCP)
Plugin base que fornece análise de base de código com IA através da integração com servidor MCP.
Recursos:
- Empacota repositórios locais e remotos
- Lê e pesquisa saídas empacotadas
- Compressão automática Tree-sitter (~70% de redução de tokens)
2. repomix-commands (Plugin de Comandos de Barra)
Fornece comandos de barra convenientes para operações rápidas com suporte a linguagem natural.
Comandos Disponíveis:
/repomix-commands:pack-local- Empacota base de código local com várias opções/repomix-commands:pack-remote- Empacota e analisa repositórios GitHub remotos
Exemplo de uso:
/repomix-commands:pack-local
Pack this project as markdown with compression
/repomix-commands:pack-remote yamadashy/repomix
Pack only TypeScript files from the yamadashy/repomix repository
3. repomix-explorer (Plugin de Agente de Análise com IA)
Agente de análise de repositório com IA que explora bases de código de forma inteligente usando a CLI do Repomix.
Recursos:
- Exploração e análise de base de código em linguagem natural
- Descoberta inteligente de padrões e compreensão da estrutura do código
- Análise incremental usando grep e leitura direcionada de arquivos
- Gerenciamento automático de contexto para repositórios grandes
Comandos Disponíveis:
/repomix-explorer:explore-local- Analisa base de código local com assistência de IA/repomix-explorer:explore-remote- Analisa repositórios GitHub remotos com assistência de IA
Exemplo de uso:
/repomix-explorer:explore-local ./src
Find all authentication-related code
/repomix-explorer:explore-remote facebook/react
Show me the main component architecture
O agente automaticamente:
- Executa
npx repomix@latestpara empacotar o repositório - Usa ferramentas Grep e Read para pesquisar a saída com eficiência
- Fornece análise abrangente sem consumir contexto excessivo
Benefícios
- Integração Perfeita: Claude pode analisar bases de código diretamente sem preparação manual
- Linguagem Natural: Use comandos conversacionais em vez de lembrar a sintaxe da CLI
- Sempre Atualizado: Usa automaticamente
npx repomix@latestpara recursos atualizados - Varredura de Segredos: Secretlint sinaliza arquivos que correspondem a formatos de credenciais conhecidos para que sejam deixados de fora da saída
- Otimização de Tokens: Compressão Tree-sitter para bases de código grandes
Para mais detalhes, veja a documentação do plugin no diretório .claude/plugins/.
Geração de Skills de Agente
O Repomix pode gerar saída no formato Claude Agent Skills, criando um diretório estruturado de Skills que pode ser usado como referência reutilizável de base de código para assistentes de IA. Este recurso é particularmente poderoso quando você deseja referenciar implementações de repositórios remotos.
Uso Básico
# Generate Skills from local directory
repomix --skill-generate
# Generate with custom Skills name
repomix --skill-generate my-project-reference
# Generate with a custom project name in Skills descriptions
repomix --skill-generate --skill-project-name "My Project"
# Generate from remote repository
repomix --remote https://github.com/user/repo --skill-generate
Quando você executa o comando, o Repomix solicita que você escolha onde salvar as Skills:
- Skills Pessoais (
~/.claude/skills/) - Disponíveis em todos os projetos da sua máquina - Skills do Projeto (
.claude/skills/) - Compartilhadas com sua equipe via git
Uso Não Interativo
Para pipelines de CI e scripts de automação, você pode pular todos os prompts interativos usando --skill-output e --force:
# Specify output directory directly
repomix --skill-generate --skill-output ./my-skills
# Skip overwrite confirmation with --force
repomix --skill-generate --skill-output ./my-skills --force
# Full non-interactive example
repomix --remote user/repo --skill-generate my-skill --skill-output ./output --force
Estrutura Gerada
As Skills são geradas com a seguinte estrutura:
.claude/skills/<skill-name>/
├── SKILL.md # Main Skills metadata & documentation
└── references/
├── summary.md # Purpose, format, and statistics
├── project-structure.md # Directory tree with line counts
├── files.md # All file contents (grep-friendly)
└── tech-stacks.md # Languages, frameworks, dependencies
O Que Está Incluído
- SKILL.md: Contém metadados das Skills, contagens de arquivos/linhas/tokens, visão geral e instruções de uso
- summary.md: Explica o propósito das Skills, diretrizes de uso e fornece estatísticas detalhadas por tipo de arquivo e linguagem
- project-structure.md: Árvore de diretórios com contagens de linhas por arquivo para facilitar a descoberta de arquivos
- files.md: Todo o conteúdo dos arquivos com cabeçalhos de realce de sintaxe, otimizado para buscas compatíveis com grep
- tech-stacks.md: Stack tecnológica auto-detectada por pacote a partir de arquivos de dependência (
package.json,requirements.txt,Cargo.toml, etc.)
Nomes de Skills Gerados Automaticamente
Se nenhum nome for fornecido, o Repomix gera um automaticamente:
repomix src/ --skill-generate # → repomix-reference-src
repomix --remote user/repo --skill-generate # → repomix-reference-repo
repomix --skill-generate CustomName # → custom-name (normalized to kebab-case)
Integração com Recursos do Repomix
A geração de Skills respeita todas as opções padrão do Repomix:
# Generate Skills with file filtering
repomix --skill-generate --include "src/**/*.ts" --ignore "**/*.test.ts"
# Generate Skills with compression
repomix --skill-generate --compress
# Generate Skills from remote repository
repomix --remote yamadashy/repomix --skill-generate
Skill Repomix Explorer (Agent Skills)
O Repomix fornece uma skill Repomix Explorer pronta para uso que permite que assistentes de codificação com IA analisem e explorem bases de código usando a CLI do Repomix. Esta skill foi projetada para funcionar com várias ferramentas de IA, incluindo Claude Code, Cursor, Codex, GitHub Copilot e outras.
Instalação Rápida
Para Claude Code, instale o plugin oficial do Repomix Explorer:
/plugin marketplace add yamadashy/repomix
/plugin install repomix-explorer@repomix
Para Codex, Cursor, OpenClaw e outros assistentes compatíveis com Agent Skills, instale a skill autônoma com a CLI de Skills:
npx skills add yamadashy/repomix --skill repomix-explorer
Para direcionar um assistente específico, passe --agent:
npx skills add yamadashy/repomix --skill repomix-explorer --agent codex
npx skills add yamadashy/repomix --skill repomix-explorer --agent openclaw
Para Hermes Agent, instale a skill de arquivo único com o comando nativo de skills do Hermes Agent:
hermes skills install https://raw.githubusercontent.com/yamadashy/repomix/main/skills/repomix-explorer/SKILL.md
O Que Ela Faz
Uma vez instalada, você pode analisar bases de código com instruções em linguagem natural.
Analise repositórios remotos:
"What's the structure of this repo?
https://github.com/facebook/react"
Explore bases de código locais:
"What's in this project?
~/projects/my-app"
Isso é útil não apenas para entender bases de código, mas também quando você deseja implementar recursos referenciando seus outros repositórios.
⚙️ Configuração
O Repomix suporta vários formatos de arquivo de configuração para flexibilidade e facilidade de uso.
Formatos de Arquivo de Configuração
O Repomix buscará automaticamente por arquivos de configuração na seguinte ordem de prioridade:
- TypeScript (
repomix.config.ts,repomix.config.mts,repomix.config.cts) - JavaScript/Módulo ES (
repomix.config.js,repomix.config.mjs,repomix.config.cjs) - JSON (
repomix.config.json5,repomix.config.jsonc,repomix.config.json)
Configuração JSON
Crie um arquivo repomix.config.json na raiz do seu projeto:
repomix --init
Isso criará um arquivo repomix.config.json com as configurações padrão.
Configuração TypeScript
Os arquivos de configuração TypeScript oferecem a melhor experiência de desenvolvimento com verificação completa de tipos e suporte de IDE.
Instalação:
Para usar configuração TypeScript ou JavaScript com defineConfig, você precisa instalar o Repomix como dependência de desenvolvimento:
npm install -D repomix
Exemplo:
// repomix.config.ts
import { defineConfig } from 'repomix';
export default defineConfig({
output: {
filePath: 'output.xml',
style: 'xml',
removeComments: true,
},
ignore: {
customPatterns: ['**/node_modules/**', '**/dist/**'],
},
});
Benefícios:
- ✅ Verificação completa de tipos TypeScript na sua IDE
- ✅ Autocompletar e IntelliSense excelentes na IDE
- ✅ Use valores dinâmicos (carimbos de data/hora, variáveis de ambiente, etc.)
Exemplo de Valores Dinâmicos:
// repomix.config.ts
import { defineConfig } from 'repomix';
// Generate timestamp-based filename
const timestamp = new Date().toISOString().slice(0, 19).replace(/[:.]/g, '-');
export default defineConfig({
output: {
filePath: `output-${timestamp}.xml`,
style: 'xml',
},
});
Configuração JavaScript
Os arquivos de configuração JavaScript funcionam da mesma forma que o TypeScript, suportando defineConfig e valores dinâmicos.
Opções de Configuração
Aqui está uma explicação das opções de configuração:
| Opção | Descrição | Padrão |
|---|---|---|
input.maxFileSize | Tamanho máximo de arquivo em bytes a ser processado. Arquivos maiores que isso serão ignorados | 50000000 |
input.processors | Array ordenado de entradas { pattern, command, timeout?, onError? } que executam um comando externo para transformar arquivos correspondentes antes da compactação (ex.: JSON→TOON). A primeira correspondência de glob vence. Executa comandos arbitrários, portanto só é executado para execuções locais da CLI (e repositórios remotos com --remote-trust-config). Veja Processadores de Arquivos | Não definido |
output.filePath | O nome do arquivo de saída | "repomix-output.xml" |
output.style | O estilo da saída (xml, markdown, json, plain) | "xml" |
output.filePathStyle | Como os caminhos de arquivo são exibidos na saída (target-relative mantém caminhos relativos a cada raiz de destino, cwd-relative mantém caminhos relativos ao diretório de trabalho atual) | "target-relative" |
output.parsableStyle | Se deve escapar a saída com base no esquema de estilo escolhido. Observe que isso pode aumentar a contagem de tokens. | false |
output.compress | Se deve realizar extração inteligente de código para reduzir a contagem de tokens | false |
output.patterns | Níveis de inclusão por arquivo. Um array ordenado de entradas { pattern, compress?, directoryStructureOnly? }; a primeira correspondência de glob vence e substitui o output.compress global para esse arquivo. Veja Níveis de Inclusão por Arquivo | Não definido |
output.headerText | Texto personalizado para incluir no cabeçalho do arquivo | null |
output.instructionFilePath | Caminho para um arquivo contendo instruções personalizadas detalhadas | null |
output.fileSummary | Se deve incluir uma seção de resumo no início da saída | true |
output.directoryStructure | Se deve incluir a estrutura de diretórios na saída | true |
output.files | Se deve incluir o conteúdo dos arquivos na saída | true |
output.removeComments | Se deve remover comentários de tipos de arquivo suportados | false |
output.removeEmptyLines | Se deve remover linhas vazias da saída | false |
output.showLineNumbers | Se deve adicionar números de linha a cada linha da saída | false |
output.truncateBase64 | Se deve truncar strings de dados base64 longas (ex.: imagens) para reduzir a contagem de tokens | false |
output.copyToClipboard | Se deve copiar a saída para a área de transferência do sistema além de salvar o arquivo | false |
output.splitOutput | Dividir a saída em vários arquivos numerados por tamanho máximo por parte (ex.: 1000000 para ~1MB). Mantém cada arquivo abaixo do limite e evita dividir arquivos entre partes | Não definido |
output.topFilesLength | Número de arquivos principais a exibir no resumo. Se definido como 0, nenhum resumo será exibido | 5 |
output.tokenCountTree | Se deve exibir a árvore de arquivos com resumos de contagem de tokens. Pode ser booleano ou número (limite mínimo de contagem de tokens) | false |
output.tokenBudget | Falhar com um código de saída diferente de zero quando a saída compactada exceder esse número de tokens. Atua como proteção para limites de contexto de CI/agentes; a saída ainda é gerada | Não definido |
output.includeEmptyDirectories | Se deve incluir diretórios vazios na estrutura do repositório | false |
output.includeFullDirectoryStructure | Ao usar padrões include, se deve exibir a árvore de diretórios completa (respeitando padrões de ignorar) enquanto ainda processa apenas os arquivos incluídos. Fornece contexto completo do repositório para análise de IA | false |
output.git.sortByChanges | Se deve classificar arquivos por contagem de alterações git (arquivos com mais alterações aparecem na parte inferior) | true |
output.git.sortByChangesMaxCommits | Número máximo de commits a analisar para alterações git | 100 |
output.git.includeDiffs | Se deve incluir diffs git na saída (inclui alterações da árvore de trabalho e preparadas separadamente) | false |
output.git.includeLogs | Se deve incluir logs git na saída (inclui histórico de commits com datas, mensagens e caminhos de arquivo) | false |
output.git.includeLogsCount | Número de commits de log git a incluir | 50 |
include | Padrões de arquivos a incluir (usando padrões glob) | [] |
ignore.useGitignore | Se deve usar padrões do arquivo .gitignore do projeto | true |
ignore.useDotIgnore | Se deve usar padrões do arquivo .ignore do projeto | true |
ignore.useDefaultPatterns | Se deve usar padrões de ignorar padrão | true |
ignore.customPatterns | Padrões adicionais a ignorar (usando padrões glob) | [] |
security.enableSecurityCheck | Se deve realizar verificações de segurança nos arquivos | true |
tokenCount.encoding | Codificação de contagem de tokens para tokenização compatível com OpenAI (ex.: o200k_base para GPT-4o, cl100k_base para GPT-4/3.5). Desenvolvido por gpt-tokenizer. | "o200k_base" |
O arquivo de configuração suporta sintaxe JSON5, que permite:
- Comentários (de linha única e multilinha)
- Vírgulas finais em objetos e arrays
- Nomes de propriedades sem aspas
- Sintaxe de string mais flexível
Validação de Esquema
Você pode habilitar a validação de esquema para seu arquivo de configuração adicionando a propriedade $schema:
{
"$schema": "https://repomix.com/schemas/latest/schema.json",
"output": {
"filePath": "repomix-output.xml",
"style": "xml"
}
}
Isso fornece autocompletar e validação em editores que suportam esquema JSON.
Exemplo de Configuração
Exemplo de configuração:
{
"$schema": "https://repomix.com/schemas/latest/schema.json",
"input": {
"maxFileSize": 50000000,
// Optional: transform matching files with an external command before packing (local CLI only)
// "processors": [
// { "pattern": "**/*.json", "command": "npx @toon-format/cli {file}" }
// ]
},
"output": {
"filePath": "repomix-output.xml",
"style": "xml",
"filePathStyle": "target-relative",
"parsableStyle": false,
"compress": false,
// Optional: override the inclusion level per glob (first match wins)
// "patterns": [
// { "pattern": "docs/**/*", "compress": true },
// { "pattern": "website/**/*", "directoryStructureOnly": true }
// ],
"headerText": "Custom header information for the packed file.",
"fileSummary": true,
"directoryStructure": true,
"files": true,
"removeComments": false,
"removeEmptyLines": false,
"topFilesLength": 5,
"tokenCountTree": false, // or true, or a number like 10 for minimum token threshold
// "tokenBudget": 180000, // optional: fail when the packed output exceeds this many tokens
"showLineNumbers": false,
"truncateBase64": false,
"copyToClipboard": false,
// "splitOutput": 1000000, // optional: split output into multiple ~1MB files
"includeEmptyDirectories": false,
"git": {
"sortByChanges": true,
"sortByChangesMaxCommits": 100,
"includeDiffs": false,
"includeLogs": false,
"includeLogsCount": 50
}
},
"include": ["**/*"],
"ignore": {
"useGitignore": true,
"useDefaultPatterns": true,
// Patterns can also be specified in .repomixignore
"customPatterns": [
"additional-folder",
"**/*.log"
],
},
"security": {
"enableSecurityCheck": true
},
"tokenCount": {
"encoding": "o200k_base"
}
}
Configuração Global
Para criar um arquivo de configuração global:
repomix --init --global
O arquivo de configuração global será criado em:
- Windows:
%LOCALAPPDATA%\Repomix\repomix.config.json - macOS/Linux:
$XDG_CONFIG_HOME/repomix/repomix.config.jsonou~/.config/repomix/repomix.config.json
Observação: A configuração local (se presente) tem precedência sobre a configuração global.
Incluir e Ignorar
Padrões de Inclusão
Repomix agora suporta especificar arquivos para incluir usando padrões glob. Isso permite uma seleção de arquivos mais flexível e poderosa:
- Use
**/*.jspara incluir todos os arquivos JavaScript em qualquer diretório - Use
src/**/*para incluir todos os arquivos dentro do diretóriosrce seus subdiretórios - Combine vários padrões como
["src/**/*.js", "**/*.md"]para incluir arquivos JavaScript emsrce todos os arquivos Markdown
Padrões de Exclusão
O Repomix oferece vários métodos para definir padrões de exclusão para excluir arquivos ou diretórios específicos durante o processo de empacotamento:
- .gitignore: Por padrão, os padrões listados nos arquivos
.gitignoredo seu projeto e.git/info/excludesão usados. Esse comportamento pode ser controlado com a configuraçãoignore.useGitignoreou a opção de CLI--no-gitignore. - .ignore: Você pode usar um arquivo
.ignorena raiz do seu projeto, seguindo o mesmo formato do.gitignore. Este arquivo é respeitado por ferramentas como ripgrep e silver searcher, reduzindo a necessidade de manter vários arquivos de exclusão. Esse comportamento pode ser controlado com a configuraçãoignore.useDotIgnoreou a opção de CLI--no-dot-ignore. - Padrões padrão: Repomix inclui uma lista padrão de arquivos e diretórios comumente excluídos (por exemplo, node_modules, .git, arquivos binários). Esse recurso pode ser controlado com a configuração
ignore.useDefaultPatternsou a opção de CLI--no-default-patterns. Consulte defaultIgnore.ts para mais detalhes. - .repomixignore: Você pode criar um arquivo
.repomixignorena raiz do seu projeto para definir padrões de exclusão específicos do Repomix. Este arquivo segue o mesmo formato do.gitignore. - Padrões personalizados: Padrões de exclusão adicionais podem ser especificados usando a opção
ignore.customPatternsno arquivo de configuração. Você pode sobrescrever essa configuração com a opção de linha de comando-i, --ignore.
Ordem de Prioridade (da maior para a menor):
- Padrões personalizados (
ignore.customPatterns) - Arquivos de exclusão (
.repomixignore,.ignore,.gitignoree.git/info/exclude):- Quando em diretórios aninhados, arquivos em diretórios mais profundos têm prioridade maior
- Quando no mesmo diretório, esses arquivos são mesclados em nenhuma ordem específica
- Padrões padrão (se
ignore.useDefaultPatternsfor verdadeiro e--no-default-patternsnão for usado)
Essa abordagem permite uma configuração flexível de exclusão de arquivos com base nas necessidades do seu projeto. Ajuda a otimizar o tamanho do arquivo de pacote gerado, garantindo a exclusão de arquivos sensíveis à segurança e grandes arquivos binários, além de evitar o vazamento de informações confidenciais.
Nota: Arquivos binários não são incluídos na saída empacotada por padrão, mas seus caminhos são listados na seção "Estrutura do Repositório" do arquivo de saída. Isso fornece uma visão geral completa da estrutura do repositório, mantendo o arquivo empacotado eficiente e baseado em texto.
Instrução Personalizada
A opção output.instructionFilePath permite especificar um arquivo separado contendo instruções detalhadas ou contexto sobre o seu projeto. Isso permite que sistemas de IA entendam o contexto e os requisitos específicos do seu projeto, potencialmente levando a análises ou sugestões mais relevantes e personalizadas.
Aqui está um exemplo de como você pode usar esse recurso:
- Crie um arquivo chamado
repomix-instruction.mdna raiz do seu projeto:
# Coding Guidelines
- Follow the Airbnb JavaScript Style Guide
- Suggest splitting files into smaller, focused units when appropriate
- Add comments for non-obvious logic. Keep all text in English
- All new features should have corresponding unit tests
# Generate Comprehensive Output
- Include all content without abbreviation, unless specified otherwise
- Optimize for handling large codebases while maintaining output quality
- No seu
repomix.config.json, adicione a opçãoinstructionFilePath:
{
"output": {
"instructionFilePath": "repomix-instruction.md",
// other options...
}
}
Quando o Repomix gera a saída, ele incluirá o conteúdo de repomix-instruction.md em uma seção dedicada.
Nota: O conteúdo da instrução é anexado ao final do arquivo de saída. Essa posição pode ser particularmente eficaz para sistemas de IA. Para aqueles interessados em entender por que isso pode ser benéfico, a Anthropic fornece alguns insights em sua documentação:
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/long-context-tips
Coloque dados de formato longo no topo: Coloque seus documentos e entradas longos (~20K+ tokens) perto do topo do seu prompt, acima da sua consulta, instruções e exemplos. Isso pode melhorar significativamente o desempenho do Claude em todos os modelos. Consultas no final podem melhorar a qualidade da resposta em até 30% em testes, especialmente com entradas complexas e de múltiplos documentos.
Remoção de Comentários
Quando output.removeComments está definido como true, o Repomix tentará remover comentários de tipos de arquivo suportados. Esse recurso pode ajudar a reduzir o tamanho do arquivo de saída e focar no conteúdo essencial do código.
Idiomas suportados incluem:
HTML, CSS, JavaScript, TypeScript, Vue, Svelte, Python, PHP, Ruby, C, C#, Java, Go, Rust, Swift, Kotlin, Dart, Shell e YAML.
Nota: O processo de remoção de comentários é conservador para evitar remover código acidentalmente. Em casos complexos, alguns comentários podem ser mantidos.
Processadores de Arquivo
input.processors executa um comando externo para transformar o conteúdo de um arquivo antes de ser empacotado. Cada entrada tem como alvo arquivos por glob (correspondidos como include/ignore) e substitui o conteúdo dos arquivos correspondentes pela saída padrão do comando — útil para transformações de redução de tokens ou conversão de formato, como JSON→TOON, minificação de SVG ou conversão de notebook→script.
{
"input": {
"processors": [
{ "pattern": "**/*.json", "command": "npx @toon-format/cli {file}" }
]
}
}
O placeholder {file} (obrigatório) é substituído por um arquivo temporário contendo o conteúdo do arquivo, e a saída padrão do comando se torna o novo conteúdo. Os padrões são avaliados em ordem e a primeira correspondência vence (um processador por arquivo). Cada entrada também aceita timeout (ms, padrão 60000) e onError ("fail" para abortar o empacotamento, padrão; "skip" para avisar e manter o conteúdo original).
Exemplo de comandos (cada um é um valor de command emparelhado com um pattern adequado):
| Padrão | command | O que faz |
|---|---|---|
**/*.json | jq -c . {file} | Compacta JSON removendo espaços em branco |
**/*.json | npx @toon-format/cli {file} | Converte JSON para TOON, um formato compacto e eficiente em tokens |
**/*.svg | npx svgo -i {file} -o - | Minifica SVG |
**/*.ipynb | jupyter nbconvert --to script --stdout {file} | Converte um notebook Jupyter em um script Python simples |
Aplique apenas um processador por arquivo (a primeira correspondência vence) e certifique-se de que a ferramenta que ele invoca esteja no seu PATH (comandos baseados em npx baixam-na no primeiro uso).
[!WARNING] Os processadores de arquivo executam comandos arbitrários do seu arquivo de configuração, portanto a execução é negada por padrão:
- Habilitado apenas para execuções locais de CLI, onde o Repomix assume que a configuração no seu diretório de trabalho é sua — o mesmo limite de confiança de um script npm ou um Makefile. Como nesses casos, se você executar
repomixdentro de um repositório obtido de outra pessoa sem revisar seurepomix.config.jsonprimeiro, seus comandos de processador serão executados na sua máquina. Revise a configuração de repositórios não confiáveis antes de empacotá-los.- Desabilitado para a API de biblioteca (
pack()/runCli()), o servidor MCP e o repomix.com hospedado.- Para repositórios remotos (
--remote), a configuração clonada — e seus processadores — é confiável apenas quando você explicitamente passa--remote-trust-config; sem isso, a configuração remota nem é carregada.Processadores ativos são impressos na inicialização e em mensagens de erro, então referencie credenciais via variáveis de ambiente (por exemplo,
$TOKEN), que são registradas sem expansão, em vez de incorporá-las. Em caso de timeout, o Repomix mata o shell do comando, mas um comando que inicia seus próprios processos em segundo plano de longa duração pode deixá-los em execução. Consulte o guia de configuração para detalhes.
🔍 Verificação de Segurança
O Repomix inclui um recurso de verificação de segurança que usa Secretlint para detectar informações potencialmente sensíveis em seus arquivos. Esse recurso ajuda a identificar possíveis riscos de segurança antes de compartilhar seu repositório empacotado.
Os resultados da verificação de segurança serão exibidos na saída da CLI após a conclusão do processo de empacotamento. Se algum arquivo suspeito for detectado, você verá uma lista desses arquivos junto com uma mensagem de aviso.
Exemplo de saída:
🔍 Security Check:
──────────────────
2 suspicious file(s) detected:
1. src/utils/test.txt
2. tests/utils/secretLintUtils.test.ts
Please review these files for potentially sensitive information.
Por padrão, o recurso de verificação de segurança do Repomix está habilitado. Você pode desabilitá-lo definindo security.enableSecurityCheck como false no seu arquivo de configuração:
{
"security": {
"enableSecurityCheck": false
}
}
Ou usando a opção de linha de comando --no-security-check:
repomix --no-security-check
[!NOTE] Desabilitar verificações de segurança pode expor informações sensíveis. Use esta opção com cautela e apenas quando necessário, como ao trabalhar com arquivos de teste ou documentação que contenham credenciais de exemplo.
Confiança na Configuração de Repositório Remoto
Um repomix.config.* é código, não apenas dados: uma configuração .ts / .js é executada quando carregada, input.processors executa comandos externos e opções de caminho podem ler arquivos fora do repositório. Carregar um de um repositório desconhecido é comparável a executar seu Makefile.
Por esse motivo, a configuração de um repositório clonado nunca é carregada por padrão. Sua configuração global e opções de CLI ainda se aplicam.
Quando você opta por participar com --remote-trust-config (ou REPOMIX_REMOTE_TRUST_CONFIG=true) em um terminal interativo, o Repomix mostra a configuração que está prestes a ser executada e pergunta antes de carregá-la:
- Sim, uma vez — confie apenas nesta execução.
- Sim, e não pergunte novamente para este repositório — a decisão é fixada por conteúdo: ela registra um hash da configuração que você aprovou, então você é perguntado novamente se esse repositório posteriormente enviar uma configuração diferente (o modelo
direnv allow). - Não (a seleção padrão) — aborta sem carregar a configuração.
A configuração exibida é escrita pelo autor do repositório, portanto caracteres de controle, ANSI e bidirecionais são escapados, a saída é limitada, cada linha de configuração é prefixada e configurações com symlink apontando para fora do clone são recusadas — o que você revisa é o que é executado.
O prompt é ignorado com --force, em shells não interativos como CI (automação existente continua funcionando) e uma vez que você escolheu confiar sempre nesse repositório.
[!IMPORTANT] A fixação de conteúdo cobre apenas o arquivo de configuração de entrada. Uma configuração
.ts/.jspodeimportoutros arquivos einput.processorspode invocar scripts externos; nenhum deles é hashado. Trate "não perguntar novamente" como confiança no repositório, não apenas no arquivo que você leu.
Consulte o guia de segurança para o modelo completo de confiança.
🤖 Usando Repomix com GitHub Actions
Você também pode usar o Repomix em seus fluxos de trabalho do GitHub Actions. Isso é útil para automatizar o processo de empacotamento do seu código para análise de IA.
Uso básico:
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
output: repomix-output.xml
style: xml
Use --style para gerar saída em diferentes formatos:
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
output: repomix-output.md
style: markdown
- name: Pack repository with Repomix (JSON format)
uses: yamadashy/repomix/.github/actions/repomix@main
with:
output: repomix-output.json
style: json
Empacote diretórios específicos com compressão:
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
directories: src tests
include: "**/*.ts,**/*.md"
ignore: "**/*.test.ts"
output: repomix-output.txt
compress: true
Envie o arquivo de saída como um artefato:
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
directories: src
output: repomix-output.txt
compress: true
- name: Upload Repomix output
uses: actions/upload-artifact@v7
with:
name: repomix-output
path: repomix-output.txt
Exemplo completo de fluxo de trabalho:
name: Pack repository with Repomix
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
pack-repo:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
output: repomix-output.xml
- name: Upload Repomix output
uses: actions/upload-artifact@v7
with:
name: repomix-output.xml
path: repomix-output.xml
retention-days: 30
Veja o exemplo completo de fluxo de trabalho aqui.
Entradas da Ação
| Nome | Descrição | Padrão |
|---|---|---|
directories | Lista de diretórios separados por espaço para processar (ex.: src tests docs) | . |
include | Padrões glob separados por vírgula para incluir arquivos (ex.: **/*.ts,**/*.md) | "" |
ignore | Padrões glob separados por vírgula para ignorar arquivos (ex.: **/*.test.ts,**/node_modules/**) | "" |
output | Caminho relativo para o arquivo empacotado (a extensão determina o formato: .txt, .md, .xml) | repomix-output.xml |
compress | Ativar compactação inteligente para reduzir o tamanho da saída removendo detalhes de implementação | true |
style | Estilo de saída (xml, markdown, json, plain) | xml |
additional-args | Argumentos brutos extras para a CLI do repomix (ex.: --no-file-summary --no-security-check) | "" |
repomix-version | Versão do pacote npm a ser instalado (suporta intervalos semver, tags ou versões específicas como 0.2.25) | latest |
Saídas da Ação
| Nome | Descrição |
|---|---|
output_file | Caminho para o arquivo de saída gerado. Pode ser usado em etapas subsequentes para upload de artefatos, processamento por LLM ou outras operações. O arquivo contém uma representação formatada do seu codebase com base nas opções especificadas. |
📚 Usando o Repomix como Biblioteca
Além de usar o Repomix como ferramenta CLI, você também pode usá-lo como biblioteca em suas aplicações Node.js.
Instalação
npm install repomix
Uso Básico
import { runCli, type CliOptions } from 'repomix';
// Process current directory with custom options
async function packProject() {
const options = {
output: 'output.xml',
style: 'xml',
compress: true,
quiet: true
} as CliOptions;
const result = await runCli(['.'], process.cwd(), options);
return result.packResult;
}
Processar Repositório Remoto
import { runCli, type CliOptions } from 'repomix';
// Clone and process a GitHub repo
async function processRemoteRepo(repoUrl) {
const options = {
remote: repoUrl,
output: 'output.xml',
compress: true
} as CliOptions;
return await runCli(['.'], process.cwd(), options);
}
Usando Componentes Principais
Se você precisar de mais controle, pode usar as APIs de baixo nível:
import { searchFiles, collectFiles, processFiles, TokenCounter } from 'repomix';
async function analyzeFiles(directory) {
// Find and collect files
const { filePaths } = await searchFiles(directory, { /* config */ });
const rawFiles = await collectFiles(filePaths, directory);
const processedFiles = await processFiles(rawFiles, { /* config */ });
// Count tokens
const tokenCounter = new TokenCounter('o200k_base');
// Return analysis results
return processedFiles.map(file => ({
path: file.path,
tokens: tokenCounter.countTokens(file.content)
}));
}
Para mais exemplos, consulte o código-fonte em website/server/src/remoteRepo.ts que demonstra como o repomix.com usa a biblioteca.
Empacotamento
Ao empacotar o repomix com ferramentas como Rolldown ou esbuild, algumas dependências devem permanecer externas e os arquivos WASM precisam ser copiados:
Dependências externas (não podem ser empacotadas):
tinypool- Cria threads de trabalho usando caminhos de arquivo
Arquivos WASM a copiar:
web-tree-sitter.wasm→ Mesmo diretório do JS empacotado (necessário para o recurso de compactação de código)- Arquivos de idioma Tree-sitter → Diretório especificado pela variável de ambiente
REPOMIX_WASM_DIR
Para um exemplo funcional, veja website/server/scripts/bundle.mjs.
🌍 Projetos da Comunidade
Descubra projetos incríveis criados pela comunidade Repomix!
- Repomix Runner - Extensão do VSCode para empacotar arquivos em uma única saída para processamento por IA
- Repomix Desktop - Aplicação desktop com GUI para Repomix construída com Python e CustomTkinter
- Python Repomix - Implementação em Python com compactação baseada em AST
- Rulefy - Transforma repositórios GitHub em regras personalizadas do Cursor AI usando Claude AI
- Codebase MCP - Servidor MCP que usa Repomix para análise de codebase com IA
- vibe-tools - Conjunto de ferramentas CLI para agentes de IA com busca na web, análise de repositório e automação de navegador
Para mais detalhes, visite nossa página de Projetos da Comunidade.
🤝 Contribuição
Aceitamos contribuições da comunidade! Para começar, consulte nosso Guia de Contribuição.
Contribuidores
🔒 Política de Privacidade
Consulte nossa Política de Privacidade.
📜 Licença
Este projeto é licenciado sob a Licença MIT.
