안녕하세요 여러분, 저는 오픈 소스 도구인 repowise를 유지 관리하고 있습니다. 이 도구는 사용자의 로컬 머신에서 리포지토리를 인덱싱하여 어떤 파일이 다음 버그 수정이 필요할 가능성이 가장 높은지, 그리고 무엇을 해야 하는지를 알려줍니다. 아무것도 외부로 나가지 않습니다. 인덱싱과 점수 측정은 LLM 호출을 전혀 하지 않으며, 동일한 커밋은 실행할 때마다 동일한 점수를 제공하므로 CI(지속적 통합)에 넣고 신뢰할 수 있습니다. 인덱싱 후에는 자체적으로 사용자의 git 히스토리와 비교하여 결과를 출력합니다. 예를 들어, “가장 건강도가 낮은 20개 파일 중 16개 파일이 지난 6개월 동안 버그 수정 기록을 가지고 있으며, 이는 기준선인 24%보다 3.3배 높은 수치입니다.” 이 모든 것은 로컬호스트에서 제공되는 단 하나의 인덱싱 결과물로 얻을 수 있습니다.
- 모든 파일은 53개의 결정론적 검사기(복잡도, god classes, 클론 코드, 테스트되지 않은 핵심 영역 등)에 의해 1점에서 10점 사이의 점수를 받으며, 이는 결함 위험(defect risk), 유지보수성(maintainability), 성능으로 분류됩니다.
- 여러 리포지토리 작업 공간을 지원하여, 리포지토리 간 API 계약(API contracts) 일치 여부를 확인합니다. 따라서 엔드포인트를 변경하면 다른 리포지토리에서 어떤 호출이 깨지는지 보여줍니다.
- 신뢰도 계층(confidence tiers)을 갖춘 데드 코드 감지 기능입니다.
- 아키텍처 그래프, 모든 파일의 건강 버블 맵, 그리고 생성된 위키가 포함된 대시보드를 제공합니다.
- MCP 서버를 통해 Claude Code, Cursor 또는 로컬 에이전트가 28개 언어(COBOL, Delphi, C 등 오래된 언어도 포함)를 AST(추상 구문 트리)로 파싱하여 무작위로 검색하는 대신 동일한 인덱스를 읽을 수 있습니다.
실행 방법: pip install repowise를 사용하거나, docker/.에 있는 compose 파일을 사용하여 Docker로 실행할 수 있습니다. LLM이 필요한 유일한 부분은 선택적인 위키 산문(wiki prose)이며, Ollama와 로컬 임베딩 모델을 사용하면 이 부분까지 완전히 오프라인으로 유지할 수 있습니다.
AGPL-3.0 라이선스이며, 현재 7.9k개의 스타와 200명 이상의 기여자가 참여했습니다. 피드백과 기여를 환영합니다!
리포지토리: https://github.com/repowise-dev/repowise
데모: https://repowise.dev/repo/repowise-dev/repowise/overview
제출자: /u/Obvious_Gap_5768 [링크] [댓글]