repowise-dev/repowise
Codebase intelligence for AI and humans: code health scores, auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.
Repowise – 증거 기반의 코드베이스 인텔리전스
무엇인가요 – Repowise는 로컬에서 지속적으로 업데이트되는 저장소의 인덱스를 구축하는 Python 기반 도구입니다. 이 인덱스는 언어에 구애받지 않는 콜그래프, Git 이력, 테스트 커버리지 정보, 문서, 기록된 아키텍처 결정을 통합합니다. 이 단일 진실 소스에서 개발자나 AI 기반 코딩 에이전트가 일반적으로 grep, 코드 읽기, 또는 비용이 큰 모델 프롬프트를 실행하여 발견해야 하는 질문에 대해 결정론적 (LLM 호출 없음) 답변을 제공합니다.
왜 중요한가요 – 현대의 AI 코딩 보조 도구는 매 요청마다 코드베이스의 구조를 "재발견"하는 데 많은 시간을 소비하여 토큰 사용량이 증가하고 에이전트 속도가 느려지며, 문맥을 놓칠 수 있습니다. Repowise는 한 번의 무거운 작업을 수행한 후, 출처가 명확한, 그래프 기반 결과를 훨씬 적은 도구 호출과 극적으로 작아진 페이로드로 제공합니다 (예: 일반적인 커밋 컨텍스트의 경우 13,984 토큰 대비 393 토큰). 이 프로젝트는 구체적이고 실행 가능한 리팩터링 제안과 각 파일에 대한 헬스 스코어도 로컬에서 계산하고 오픈소스로 제공합니다.
핵심 기능
| 영역 | Repowise가 제공하는 내용 |
|---|---|
| 코드 그래프 | 25개 언어의 AST 파싱된 의존성, 신뢰도 스탬프된 콜 해상도, 커뮤니티 탐지, 중심성 메트릭스, 실행 흐름 추적. |
| Git 신호 | 핫스팟 탐지, 소유자, 공변화 통계, 버스 팩터, 버그 수정 이력 – 모두 저장소의 자체 커밋 로그에서 유도됨. |
| 문서화 위키 | 모든 모듈/파일에 대한 자동 생성, 인크리멘탈 위키 페이지; 선택적으로 LLM이 작성한 글을 페이지별로 추가 가능. |
| 아키텍처 결정 | 다섯 가지 소스(예: 커밋 메시지, 코드 주석)에서 결정론적으로 추출 + 수동 캡처; 각 결정은 증거와 연결됨. |
| 코드 헬스 분석 | 49개의 결정론적 검출기(복잡도, 일관성, 중복 탐지, 테스트되지 않은 핫스팟, 변경 엔트로피 등)가 각 파일당 1–10 헬스 스코어와 구체적인 리팩터링 계획(클래스/메서드 추출, 메서드 이동, 파일 분할 등)을 생성. |
| 테스트 인텔리전스 | 콜 그래프를 통해 파일에 도달하는 테스트를 찾음(커버리지 리포트가 부족할 경우의 백업) 및 차이점에 의해 실행된 최소 테스트 세트를 나열 가능. |
| 변경 위험 | 그래프와 Git 신호를 사용하여 0–10 스케일로 차이점 또는 PR의 위험 점수를 매김; may_break 또는 missing_tests와 같은 실행 가능한 지시를 반환. |
| MCP 도구 | 10개의 작업 형태의 "모델-제어-프로토콜" 엔드포인트(그래프, Git, 문서, 결정, 헬스, 위험, 영향 테스트, 요약 등)를 제공; Claude Code, Codex, Cursor, VS Code 등 MCP 호환 에이전트가 호출 가능. |
| 요약 | 에이전트에 도달하기 전에 노이즈가 많은 명령 출력(예: 긴 pytest 로그)을 압축하여 오류와 종료 코드를 유지하면서 토큰 사용량을 60–90 % 절감. |
| PR 봇 | 각 PR에 하나의 지속적으로 업데이트되는 댓글을 게시하는 GitHub 앱으로, 영향 범위, 테스트 영향, 위험 점수, 헬스 경고, 자세한 분석 페이지 링크를 포함. |
일반적인 워크플로우
- 설치 –
pip install repowise. - 초기화 – 타겟 저장소 내에서
repowise init --no-prose -y실행. 이는 코드 분석, 그래프 구축, Git 신호 추출, 위키 생성, 헬스 검출기 실행을 수행합니다. - 서빙 –
repowise serve를 실행하여 MCP 도구를 노출하는 로컬 HTTP 엔드포인트를 시작합니다. - 연결 – 코딩 에이전트(Claude Code, Codex, Cursor 등)를 엔드포인트에 연결하거나, 내장 대시보드를 열어 헬스 스코어, 변경 위험, 리팩터링 제안을 탐색합니다.
- 반복 – 저장소가 변경되면 Repowise는 인덱스를 인크리멘탈하게 업데이트하여 전체 분석을 다시 실행하지 않고도 모든 답변을 최신 상태로 유지합니다.
누구에게 적합한가
| 사용 사례 | Repowise의 도움 |
|---|---|
| AI 지원 개발 | 에이전트는 사전 계산된, 출처가 명확한 컨텍스트(예: auth.validate를 호출하는 사람은 누구인가?)를 단일 호출로 받으며, 토큰 소비와 지연을 줄입니다. |
| 안전한 풀 리퀘스트 리뷰 | 자동 위험 점수, 테스트 영향 목록, 영향 범위 맵이 PR 댓글에 직접 표시되어 리뷰어가 실제 파손 위험에 집중할 수 있습니다. |
| 지속적인 코드 헬스 개선 | 헬스 스코어는 결함이 발생하기 쉬운 파일을 드러내며, 구체적인 리팩터링 계획은 에이전트에 공급하거나 수동으로 적용할 수 있습니다. |
| 대규모 멀티-저장소 워크스페이스 | 하나의 MCP 엔드포인트가 여러 저장소를 서비스할 수 있어, 서비스 간 계약 검사 및 아키텍처 강제가 가능합니다. |
| 기업 롤아웃 | 핵심 분석은 완전히 온프레미스에서 실행되며, API 키 필요 없음. AGPL-3.0 라이선스이며, 보안 제어 및 SLA 보장에 대한 옵션 상용 지원 제공. |
설치 및 빠른 시작
pip install repowise # CLI 및 라이브러리 가져오기
cd /path/to/your/repo
repowise init --no-prose -y # 인덱스 구축 (LLM 필요 없음)
repowise serve # 로컬 MCP 서버 시작
# 예시 쿼리
repowise risk main..HEAD # 현재 PR의 변경 위험 점수
repowise health --refactoring-targets # 구체적인 수정이 필요한 저헬스 파일 목록
repowise impacted-tests main..HEAD # 차이점에 영향을 주는 최소 테스트 세트
자세한 지침은 docs/start/QUICKSTART.md에 있습니다.
증거 및 벤치마크
- 에이전트 효율성 –
django/django저장소에서 43개 질문에 대한 연구에서 Repowise는 에이전트 출력을 31.6 % 감소시키고, 도구 호출 횟수를 7.2 → 3.8로 줄였습니다 (p < 0.0001). - 페이로드 감소 – 일반적인 커밋 컨텍스트는 13,984 → 393 토큰으로 줄어들어 97.2 % 감소했습니다.
- 결함 예측 – 헬스 엔진의 49개 검출기는 실제 결함 코퍼스로 보정되었으며, 저장소 내 검증 결과에서 최저 헬스 파일 그룹에 최근 결함이 3.3배 더 많이 발견되었습니다.
- 그래프 정확도 – 37,853개의 오라클 엣지에서 다른 5개 도구와 비교; Repowise는 모든 7개 컴파일러 평가 셀에서 가장 높은 정밀도를 달성했습니다.
- 모든 벤치마크 데이터, 방법, 제한 사항은
docs/BENCHMARKS.md에 공개되어 있습니다.
라이선스 및 가용성
- 오픈소스 – AGPL-3.0 (GitHub에 소스, PyPI 패키지
repowise). - 셀프호스팅 – 핵심 분석은 로컬에서 실행되며, 외부 API 키나 클라우드 서비스가 필요하지 않습니다.
- 상용 옵션 – 기업용으로 옵션형 유료 지원, 보안 확장, SLA 보장 제공.
더 알아보기
- 라이브 데모 – https://repowise.dev (로그인 필요 없음).
- 문서 – https://docs.repowise.dev
- GitHub 저장소 – https://github.com/repowise-dev/repowise
- PR 봇 설치 – https://github.com/apps/repowise-bot
결론 – Repowise는 AI 에이전트와 개발자가 즉시 질의할 수 있는 결정론적 지식 기반으로 저장소를 전환하여, 토큰 비용을 줄이고, 안전성을 높이며, 원격 LLM에 코드를 전송하지 않고도 구체적이고 실행 가능한 수정을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트