14개 언어의 프로젝트 코드 품질을 평가하고 전체 점수와 파일별 순위를 보고하는 CLI입니다.
Rafaelpta/dupehound
이름을 바꾼 경우에도 AI 에이전트가 복사한 함수를 찾아내는 로컬 기반의 결정론적 중복 코드 탐지 도구입니다.
- 스타
- 101
- 포크
- 10
- 열린 이슈
- 3
- 마지막 커밋
- 2개월 전
어떤 프로젝트인가요?
dupehound는 AI 에이전트가 코드의 상당 부분을 작성하는 코드베이스를 위한 명령줄 중복 코드 탐지 도구입니다. 각 함수를 tree-sitter로 파싱하고 식별자와 리터럴을 정규화한 뒤 코드 구조의 지문을 생성하므로, 이름을 바꾼 복사본도 원본과 일치하는 것으로 찾아냅니다.
세 가지 명령을 제공합니다. scan은 중복 클러스터와 저장소 수준의 slop 점수를 보고하고, history는 git 기록 전반의 중복 현황을 차트로 보여 중복이 늘어난 시점을 파악하며, check는 변경 사항에 기존 코드와 중복되는 내용이 있으면 CI 또는 pre-commit을 실패 처리하고 재사용할 함수를 알려줍니다. API 키나 AI 모델 없이 완전히 오프라인으로 실행되며, 실행할 때마다 같은 결과를 냅니다.
코드를 편집하는 동안 코딩 에이전트가 check 및 scan 도구를 호출할 수 있도록 MCP 서버 모드도 제공합니다. 지원 언어에는 TypeScript, Python, Rust, Go, Java, C#, Kotlin 등이 포함됩니다.
핵심 기능
- 01텍스트가 아닌 코드 구조의 지문을 생성해 이름을 바꾼 복사본도 탐지합니다
- 02scan으로 중복 클러스터와 저장소 수준의 slop 점수를 확인할 수 있습니다
- 03history 명령으로 git 커밋 전반의 중복 현황을 차트로 볼 수 있습니다
- 04check 명령으로 새 중복 코드가 있으면 CI와 pre-commit을 차단할 수 있습니다
- 05AI나 네트워크 연결 없이 오프라인에서 결정론적으로 실행됩니다
- 06코딩 에이전트가 사용할 수 있도록 check와 scan을 MCP 도구로 제공합니다
활용 사례
- AI 코딩 에이전트가 저장소에 이미 있는 함수를 다시 구현하지 못하게 하기
- 병합 전에 새 중복 코드를 발견하도록 CI에서 pull request를 검사하기
- 대규모 코드베이스의 기록에 따라 중복이 어떻게 늘어나는지 추적하기
빠른 시작
- 1
cargo로 설치하기
cargo install dupehound - 2
디렉터리에서 중복 항목 스캔하기
dupehound scan [path]
사용 전 알아둘 점
- history 명령과 check 명령을 사용하려면 git이 PATH에 있어야 합니다.
- --include-classes 플래그와 --containment 플래그는 실험적 기능이며, 명시적으로 사용 설정해야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- dupehound은(는) 무엇인가요?
- 이름을 바꾼 경우에도 AI 에이전트가 복사한 함수를 찾아내는 로컬 기반의 결정론적 중복 코드 탐지 도구입니다. dupehound는 AI 에이전트가 코드의 상당 부분을 작성하는 코드베이스를 위한 명령줄 중복 코드 탐지 도구입니다. 각 함수를 tree-sitter로 파싱하고 식별자와 리터럴을 정규화한 뒤 코드 구조의 지문을 생성하므로, 이름을 바꾼 복사본도 원본과 일치하는 것으로 찾아냅니다.
- dupehound은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- dupehound은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- dupehound은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. dupehound의 마지막 커밋은 2026년 9월 21일입니다.
- dupehound은(는) 어디에 사용할 수 있나요?
- AI 코딩 에이전트가 저장소에 이미 있는 함수를 다시 구현하지 못하게 하기 병합 전에 새 중복 코드를 발견하도록 CI에서 pull request를 검사하기 대규모 코드베이스의 기록에 따라 중복이 어떻게 늘어나는지 추적하기
- dupehound는 어떻게 설치하나요?
- cargo로 설치하기: cargo install dupehound 디렉터리에서 중복 항목 스캔하기: dupehound scan [path]
- dupehound은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Rafaelpta/dupehound
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
프로젝트의 버그, 취약점, 유지보수 문제를 검사하고 CI 파이프라인에 Quality Gates를 적용하는 자체 호스팅 코드 품질·보안 플랫폼입니다.
결정론적 파일 선택 및 규칙과 LLM 에이전트를 결합해 Git diff의 특정 줄에 리뷰 댓글을 남기는 AI 코드 리뷰 CLI입니다.
Ix는 저장소를 심볼, 호출, import로 구성된 영구 그래프로 분석해 개발자와 AI 코딩 에이전트가 구조를 조회할 수 있게 합니다.
GitHub PR과 로컬 브랜치 변경 사항을 원하는 모델 제공업체의 LLM으로 검토하는 오픈소스 AI 코드 리뷰 도구입니다.
Claude나 ChatGPT 같은 LLM에 전달할 수 있도록 전체 코드 저장소를 하나의 AI 친화적인 파일로 묶는 CLI 및 웹 도구입니다.