CLI que evalúa la calidad del código de un proyecto en 14 lenguajes y genera un informe con una puntuación global y un ranking por archivo.
Rafaelpta/dupehound
Detector local y determinista de código duplicado que encuentra funciones copiadas por agentes de IA incluso cuando se renombran sus identificadores.
- Estrellas
- 102
- Forks
- 10
- Issues abiertos
- 3
- Último commit
- hace 2 meses
¿Qué es?
dupehound es un detector de código duplicado para la línea de comandos, pensado para bases de código en las que los agentes de IA escriben gran parte del código. Analiza cada función con tree-sitter, normaliza los identificadores y los literales, y crea una huella de la estructura del código; así, también detecta las copias aunque se les cambien los nombres.
Ofrece tres comandos: scan muestra grupos de duplicados y una puntuación de slop para todo el repositorio; history representa los duplicados a lo largo del historial de git para mostrar cuándo aumentaron; y check hace fallar CI o pre-commit cuando un cambio duplica código existente e indica qué función reutilizar. La herramienta funciona completamente sin conexión, no necesita claves de API ni modelos de IA y siempre produce el mismo resultado.
El proyecto también incluye un modo de servidor MCP para que un agente de programación pueda llamar a las herramientas check y scan mientras edita. Es compatible con TypeScript, Python, Rust, Go, Java, C#, Kotlin y muchos otros lenguajes.
Funciones clave
- 01Detecta copias con nombres cambiados al crear huellas de la estructura del código, en lugar de comparar el texto
- 02scan muestra grupos de duplicados y una puntuación de slop para todo el repositorio
- 03El comando history representa los duplicados a lo largo de los commits de git
- 04El comando check bloquea CI y pre-commit cuando detecta nuevos duplicados
- 05Funciona sin conexión y de forma determinista, sin necesidad de IA ni de conexión a la red
- 06Expone check y scan como herramientas MCP para agentes de programación
Casos de uso
- Evitar que un agente de programación con IA vuelva a implementar funciones que ya existen en el repositorio
- Bloquear pull requests en CI para detectar código duplicado nuevo antes de la fusión
- Seguir cómo crece la duplicación a lo largo del historial de una base de código grande
Inicio rápido
- 1
Instalar con cargo
cargo install dupehound - 2
Analizar un directorio en busca de duplicados
dupehound scan [path]
Antes de usarlo
- Los comandos history y check requieren que git esté en el PATH.
- Las opciones --include-classes y --containment son experimentales y deben habilitarse explícitamente.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es dupehound?
- Detector local y determinista de código duplicado que encuentra funciones copiadas por agentes de IA incluso cuando se renombran sus identificadores. dupehound es un detector de código duplicado para la línea de comandos, pensado para bases de código en las que los agentes de IA escriben gran parte del código. Analiza cada función con tree-sitter, normaliza los identificadores y los literales, y crea una huella de la estructura del código; así, también detecta las copias aunque se les cambien los nombres.
- ¿dupehound es gratuito? ¿Qué licencia tiene?
- dupehound es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿dupehound sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de dupehound fue el 21 sept 2026.
- ¿Para qué puedo usar dupehound?
- Evitar que un agente de programación con IA vuelva a implementar funciones que ya existen en el repositorio Bloquear pull requests en CI para detectar código duplicado nuevo antes de la fusión Seguir cómo crece la duplicación a lo largo del historial de una base de código grande
- ¿Cómo se instala dupehound?
- Instalar con cargo: cargo install dupehound Analizar un directorio en busca de duplicados: dupehound scan [path]
- ¿Dónde consigo dupehound?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Rafaelpta/dupehound
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Plataforma autogestionada de calidad y seguridad del código que analiza proyectos en busca de errores, vulnerabilidades y problemas de mantenibilidad, con Quality Gates para pipelines de CI.
CLI de revisión de código con IA que combina una selección determinista de archivos y reglas con un agente LLM para dejar comentarios por línea en diffs de Git.
Ix convierte un repositorio en un grafo persistente de símbolos, llamadas e imports para que desarrolladores y agentes de programación con IA consulten su estructura.
Revisor de código con IA de código abierto que analiza pull requests de GitHub y cambios en ramas locales mediante LLM, con cualquier proveedor de modelos.
CLI y herramienta web que empaqueta un repositorio de código completo en un solo archivo, listo para usar con LLM como Claude o ChatGPT.