Repolode
redhat-et

redhat-et/ripwire

코딩 에이전트에 코드베이스의 우선순위별 지도를 제공하고, 변경 사항의 영향 범위와 실행할 테스트, 품질 저하를 점검하는 무의존성 C++23 CLI 및 MCP 서버입니다.

스타
2,467
포크
158
열린 이슈
70
마지막 커밋
1시간 전

어떤 프로젝트인가요?

ripwire는 코딩 에이전트를 위한 명령줄 도구이자 MCP 서버입니다. 에이전트는 저장소를 읽기 전에 ripwire를 실행해 주요 서브시스템, 진입점, 가장 중요한 심볼과 그 호출자를 보여 주는 순위별 결정론적 호출 그래프를 얻을 수 있습니다. --for, --expand, --callers, --path 같은 쿼리는 토큰 예산에 맞춘 간결한 답을 반환하므로, 에이전트가 반복적인 grep이나 파일 전체 읽기를 줄일 수 있습니다.

코드를 수정한 뒤에는 같은 도구로 변경 사항이 미치는 범위를 확인할 수 있습니다. 영향 범위, 변경된 코드까지 도달하는 테스트, 회귀 항목만 표시하는 품질 변화, 함께 바뀌어야 하는데 누락된 항목, 공개 심볼 계약의 변경 사항을 보고합니다. 확실하지 않은 결과는 신뢰도 값이나 HTML 지도에 표시된 점선 같은 방식으로 구분하며, 출력이 잘린 경우 나머지를 확인할 다음 명령을 알려 줍니다.

이 프로젝트는 런타임 의존성 없이 C++23으로 작성되었으며, tree-sitter를 통해 Rust, Python, Go, TypeScript, Java 등 폭넓은 언어를 지원합니다. 셸 명령 한 줄로 설치할 수 있고 Claude Code, Codex, Cursor, Gemini 같은 에이전트용 스킬도 설정할 수 있습니다.

핵심 기능

  • 01저장소의 서브시스템, 진입점, 주요 심볼을 순위별 결정론적 지도로 보여 줍니다.
  • 02어떤 개념을 처리하는 위치, 함수를 호출하는 주체, 함수 본문 등 구체적인 쿼리에 답합니다.
  • 03코드 수정 후 영향 범위, 변경된 코드까지 도달하는 테스트, 품질 회귀를 보고합니다.
  • 04불확실한 호출 관계와 잘린 출력을 명시해 추측을 사실처럼 제시하지 않습니다.
  • 05런타임 의존성이 없는 단일 C++ 바이너리로 제공되며 MCP 서버로 실행할 수 있습니다.

활용 사례

  • 대규모의 익숙하지 않은 저장소에서 코딩 에이전트가 편집을 시작하기 전에 구조를 파악할 때.
  • Pull Request를 열기 전에 어떤 테스트를 실행할지, 변경으로 인해 다른 부분이 깨질 수 있는지 확인할 때.
  • diff를 검토하며 shotgun surgery 패턴과 함께 변경해야 할 파일의 누락을 찾을 때.
  • 독립 실행형 HTML 파일에서 복잡도나 변경 빈도에 따라 색을 입힌 코드베이스 호출 그래프를 시각화할 때.

빠른 시작

  1. 1

    README의 한 줄 설치 프로그램으로 ripwire를 설치합니다

  2. 2

    설치 디렉터리를 PATH에 추가합니다

    export PATH="$HOME/.local/bin:$PATH"
  3. 3

    변경 사항에 대한 설명과 함께 저장소에서 ripwire를 실행합니다

    ripwire . --for="<the change you are about to make, in words>"

사용 전 알아둘 점

  • 빠른 설치는 원격 스크립트를 bash로 파이프해 실행하므로, 우려된다면 먼저 내용을 검토하세요.

포함된 컬렉션

토픽

자주 묻는 질문

ripwire은(는) 무엇인가요?
코딩 에이전트에 코드베이스의 우선순위별 지도를 제공하고, 변경 사항의 영향 범위와 실행할 테스트, 품질 저하를 점검하는 무의존성 C++23 CLI 및 MCP 서버입니다. ripwire는 코딩 에이전트를 위한 명령줄 도구이자 MCP 서버입니다. 에이전트는 저장소를 읽기 전에 ripwire를 실행해 주요 서브시스템, 진입점, 가장 중요한 심볼과 그 호출자를 보여 주는 순위별 결정론적 호출 그래프를 얻을 수 있습니다. --for, --expand, --callers, --path 같은 쿼리는 토큰 예산에 맞춘 간결한 답을 반환하므로, 에이전트가 반복적인 grep이나 파일 전체 읽기를 줄일 수 있습니다.
ripwire은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
ripwire은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
ripwire은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. ripwire의 마지막 커밋은 2026년 10월 22일입니다.
ripwire은(는) 어디에 사용할 수 있나요?
대규모의 익숙하지 않은 저장소에서 코딩 에이전트가 편집을 시작하기 전에 구조를 파악할 때. Pull Request를 열기 전에 어떤 테스트를 실행할지, 변경으로 인해 다른 부분이 깨질 수 있는지 확인할 때. diff를 검토하며 shotgun surgery 패턴과 함께 변경해야 할 파일의 누락을 찾을 때. 독립 실행형 HTML 파일에서 복잡도나 변경 빈도에 따라 색을 입힌 코드베이스 호출 그래프를 시각화할 때.
ripwire는 어떻게 설치하나요?
README의 한 줄 설치 프로그램으로 ripwire를 설치합니다 설치 디렉터리를 PATH에 추가합니다: export PATH="$HOME/.local/bin:$PATH" 변경 사항에 대한 설명과 함께 저장소에서 ripwire를 실행합니다: ripwire . --for="<the change you are about to make, in words>"
ripwire은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/redhat-et/ripwire

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트