CLI que avalia a qualidade do código de um projeto em 14 linguagens e gera um relatório com pontuação geral e classificação por arquivo.
Rafaelpta/dupehound
Detector local e determinístico de código duplicado que encontra funções copiadas por agentes de IA mesmo após a renomeação de identificadores.
- Estrelas
- 101
- Forks
- 10
- Issues abertas
- 3
- Último commit
- há 2 meses
O que é?
dupehound é um detector de código duplicado via linha de comando, voltado para bases de código em que agentes de IA escrevem boa parte do código. Ele analisa cada função com tree-sitter, normaliza identificadores e literais e cria uma impressão digital da estrutura do código. Assim, mesmo uma cópia com nomes alterados é reconhecida como uma duplicata da original.
A ferramenta oferece três comandos: scan identifica grupos de duplicatas e calcula uma pontuação de código redundante para o repositório; history mostra a duplicação ao longo do histórico do Git, indicando quando ela aumentou; e check faz o CI ou o pre-commit falhar quando uma alteração duplica código existente e informa qual função reutilizar. A ferramenta funciona totalmente offline, sem chaves de API ou modelos de IA, e gera o mesmo resultado a cada execução.
O projeto também oferece um modo de servidor MCP, para que um agente de programação possa chamar as ferramentas check e scan durante a edição. Entre as linguagens compatíveis estão TypeScript, Python, Rust, Go, Java, C#, Kotlin e muitas outras.
Recursos principais
- 01Detecta cópias renomeadas ao criar impressões digitais da estrutura do código, em vez de comparar o texto
- 02O comando scan identifica grupos de duplicatas e calcula uma pontuação de código redundante para o repositório
- 03O comando history mostra a duplicação ao longo dos commits do Git
- 04O comando check bloqueia o CI e o pre-commit quando há novas duplicatas
- 05Funciona offline e de forma determinística, sem exigir IA ou conexão de rede
- 06Disponibiliza check e scan como ferramentas MCP para agentes de programação
Casos de uso
- Impedir que um agente de programação com IA reimplemente funções que já existem no repositório
- Bloquear pull requests no CI para sinalizar código duplicado antes do merge
- Acompanhar o crescimento da duplicação ao longo do histórico de uma base de código grande
Início rápido
- 1
Instalar com cargo
cargo install dupehound - 2
Verificar um diretório em busca de duplicados
dupehound scan [path]
Antes de usar
- Os comandos history e check exigem que o git esteja no PATH.
- As opções --include-classes e --containment são experimentais e precisam ser ativadas explicitamente.
Em coleções
Tópicos
Perguntas frequentes
- O que é dupehound?
- Detector local e determinístico de código duplicado que encontra funções copiadas por agentes de IA mesmo após a renomeação de identificadores. dupehound é um detector de código duplicado via linha de comando, voltado para bases de código em que agentes de IA escrevem boa parte do código. Ele analisa cada função com tree-sitter, normaliza identificadores e literais e cria uma impressão digital da estrutura do código. Assim, mesmo uma cópia com nomes alterados é reconhecida como uma duplicata da original.
- dupehound é gratuito? Qual é a licença?
- dupehound é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- dupehound ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de dupehound foi em 21 de set. de 2026.
- Para que posso usar dupehound?
- Impedir que um agente de programação com IA reimplemente funções que já existem no repositório Bloquear pull requests no CI para sinalizar código duplicado antes do merge Acompanhar o crescimento da duplicação ao longo do histórico de uma base de código grande
- Como instalar dupehound?
- Instalar com cargo: cargo install dupehound Verificar um diretório em busca de duplicados: dupehound scan [path]
- Onde consigo dupehound?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Rafaelpta/dupehound
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Plataforma autogerenciada de qualidade e segurança de código que analisa projetos em busca de bugs, vulnerabilidades e problemas de manutenibilidade, com Quality Gates para pipelines de CI.
CLI de code review com IA que combina seleção determinística de arquivos e regras com um agente LLM para comentar linhas específicas em diffs do Git.
Ix transforma um repositório em um grafo persistente de símbolos, chamadas e imports para que desenvolvedores e agentes de programação com IA consultem sua estrutura.
Revisor de código com IA e código aberto que analisa pull requests do GitHub e alterações em branches locais com LLMs de qualquer provedor.
CLI e ferramenta web que reúne um repositório inteiro em um único arquivo otimizado para LLMs como Claude ou ChatGPT.