Claude Code로 개발하다 보면 코드를 작성하는 시간만큼 주변 작업에도 시간을 씁니다. 구현한 내용을 다른 관점에서 검토하고, 지난 결정의 이유를 다시 설명하고, PDF 요구사항을 옮겨 적고, 처음 보는 오픈소스를 파악하는 일입니다.
OpenRig는 에이전트 팀 운영, Hindsight는 프로젝트 기억, MinerU는 문서 읽기, Repolyze는 GitHub 저장소의 첫 분석을 돕습니다. 네 도구는 해결하는 문제가 다릅니다. 모두 설치하기보다 지금 가장 자주 막히는 단계에 하나씩 붙이는 편이 좋습니다.
짐코딩 뉴스레터
매주 1통
클로드 코드·AI 개발 실전 노하우를 매주 한 통, 이메일로 받아보세요.
이 글 공유하기
이 글에서는 각 도구가 필요한 이유부터 설치 준비, 복사해서 쓰는 프롬프트, 결과를 확인하는 방법까지 정리합니다.
2026년 11월 8일 공식 저장소·릴리스뿐 아니라 npm·PyPI 배포 정보와 구현 코드를 다시 확인했습니다. OpenRig는 0.7.9, MinerU는 4.1.7, Hindsight Coding Agents는 0.8.6을 기준으로 설명합니다. 아래 예제는 문서와 소스 검토를 바탕으로 작성했으며, 이 글을 위해 네 도구를 실제 설치하거나 성능을 측정한 결과는 아닙니다. 기본 브랜치 문서와 배포 패키지가 다를 수 있으므로 실행 전 버전과 도움말을 확인하세요.
현재 OpenRig 문서는 운영을 맡는 커널의 기본 권한이 프로젝트 팀의 기본 권한보다 넓다고 설명합니다. Claude Code 커널에서는 파일 작업·웹 가져오기·운영 명령 일부가 별도 질문 없이 실행될 수 있습니다. workshop처럼 넓은 접근을 전제로 배포되는 팀도 있습니다.
따라서 “OpenRig의 모든 에이전트가 항상 같은 우회 권한으로 실행된다”라고 이해하면 부정확합니다. 커널, 선택한 팀, 역할별 설정을 각각 확인해야 합니다.
팀 명세에는 다음과 같은 정책 선택 항목이 있습니다.
# 팀 YAML 명세의 정책 선택 예시permission_policy: builtin:standard
이 한 줄이 현재 실행 중인 모든 에이전트의 권한을 즉시 바꾸거나 커널까지 제한하지는 않습니다. 기존 역할별 선택과 사용자 설정이 영향을 줄 수 있으므로 적용 대상과 재실행 필요 여부를 확인해야 합니다.
OpenRig를 현재 프로젝트에 연결해줘.공식 저장소: https://github.com/mvschwarz/openrig최신 릴리스와 내 OS, Node.js, tmux, Claude Code 로그인을 확인해줘.기존 설정을 백업하고 rig setup --dry-run 결과를 설명해줘.Claude Code만 연결하고 선택적인 Herdr 설치는 제외해줘.커널과 프로젝트 팀의 권한을 따로 확인해줘.넓은 권한이나 승인 생략을 자동으로 선택하지 말고,내 버전에서 지원하는 권한 정책과 실제 실행 옵션을 보여줘.내 계정으로 동작하는 starter 팀부터 구성해줘.첫 작업은 회원가입 폼의 오류 메시지 개선이야.구현 담당과 검토 담당의 역할을 나눠줘.완료 기준:- 빈 이메일과 잘못된 형식에 서로 다른 안내 표시- 기존 가입 요청 방식 유지- 변경 파일, 테스트 결과, 검토 결과 제시커밋·배포는 하지 말고 검토 가능한 변경으로 남겨줘.
첫 실행에서는 rig ps --nodes --rig starter로 역할별 준비 상태를 확인하세요. 창이 열렸다는 것과 팀이 인증·신뢰·권한 확인을 마치고 작업할 준비가 됐다는 것은 다릅니다.
코드에는 “재시도 3회”가 적혀 있어도 왜 3회인지까지 남아 있지 않을 수 있습니다. 예를 들어 결제 중복 요청 문제로 정한 제한이라면 다음 세션에서도 그 이유가 필요합니다.
Hindsight는 Git 기록과 대화를 배경에서 기억 은행에 반영합니다. 기본적으로 저장소별 기억을 여러 지원 에이전트가 공유합니다. 현재 기본 Git 수집 깊이는 커밋 메시지이며, 전체 diff 수집과는 구분됩니다.
Claude Code에서는 세션 시작·질문 제출·응답 종료 시점의 Hook을 연결합니다. 기본 autoInject: "reflect"는 세션의 첫 질문에 관련 기억을 자동 주입합니다. 이후에는 에이전트가 MCP 도구로 추가 검색·회수를 할 수 있고, 기본 retainSessions: true에서는 응답 종료 시 세션 기록을 저장합니다. 매 질문마다 자동으로 전체 기억을 새로 넣는 방식은 아닙니다.
처음 세션을 시작할 때 Git 기록 수집과 코드베이스 조사가 배경에서 진행될 수 있습니다. 설치 명령이 끝났다는 이유만으로 기억 생성과 조회 준비까지 완료됐다고 판단하면 안 됩니다.
현재 설치기는 기억을 둘 위치를 물으며 기본 모드는 Hindsight Cloud입니다. 로컬 daemon을 선택하는 명령은 다음과 같습니다.
# 기억 저장 서버를 이 컴퓨터의 daemon으로 선택npx @vectorize-io/hindsight-coding-agents install claude-code --server daemon
로컬 daemon에는 uv가 필요하며, 현재 문서는 macOS에서 최신 Rust 도구 모음도 요구합니다. 기억 추출에 사용할 LLM도 필요합니다. 환경에 있는 모델 API 키나 Claude Code CLI 등을 사용할 수 있으므로 설치기가 어떤 제공자를 감지했는지 확인하세요.
로컬 기억 저장과 로컬 모델 추론은 별개의 선택입니다. daemon을 골라도 외부 모델 API 또는 Claude Code를 쓰면 추출 대상 내용이 해당 모델 제공자에게 전달될 수 있습니다.
기존 설정이 있으면 --server를 생략한 재설치는 서버 선택을 유지합니다. 반대로 현재 0.8.6 설치기는 --server daemon을 명시하면 서버 모드를 바꾸고 기존 apiUrl을 지웁니다. 이전 플러그인에서 옮길 때도 서버 옵션을 생략하면 기존 연결을 이어받는 경로가 있습니다. 변경 후에는 새 세션에서 실제 연결을 확인하세요. 경로별·에이전트별 덮어쓰기 설정이 있으면 그 내용도 확인해야 합니다.
현재 기본 설정 파일은 ~/.hindsight/coding-agent.json입니다. HINDSIGHT_CONFIG로 위치를 바꿨다면 해당 파일을 사용합니다. 기존 JSON을 덮어쓰지 말고 필요한 항목을 합치세요. 허용할 프로젝트를 제한하려면 설치 후 새 Claude Code 세션을 열기 전에 이 설정을 먼저 준비하세요. 설치가 사용자 범위 Hook·MCP를 연결하므로 현재 폴더만 자동으로 대상이 된다고 생각하면 안 됩니다.
optInPaths: 허용할 프로젝트 경로입니다. 경로 접두어로 적용되므로 상위 폴더를 넣으면 하위 프로젝트까지 포함될 수 있습니다.
gitIngest: Git 수집 범위를 커밋 메시지로 설정합니다. 대화 저장이나 별도의 코드베이스 조사까지 끄는 설정은 아닙니다.
autoUpdate: 자동 갱신을 멈추고 직접 업데이트할 때 바꾸도록 합니다.
처음에는 비밀정보가 없는 연습 프로젝트만 허용하세요. 기본으로 켜진 코드베이스 조사(codebaseSurvey)를 원하지 않으면 false, 대화 기록 저장(retainSessions)을 원하지 않으면 false를 별도로 검토하세요. 설정을 편집한 뒤에는 새 세션에서 MCP 연결과 적용 상태를 확인하는 편이 확실합니다.
Hindsight를 Claude Code에 연결하려고 해.공식 저장소: https://github.com/vectorize-io/hindsighthindsight-integrations/coding-agents의 최신 README를 먼저 확인해줘.기존 설치와 서버 설정이 있는지 확인하고 백업해줘.새 설치는 Claude Code만 대상으로 하고 로컬 daemon을 선택해줘.uv와 OS별 필수 도구, 추출에 쓰일 모델 제공자와 비용을 설명해줘.로컬 저장을 완전한 오프라인 처리라고 안내하지 마.기억 범위는 현재 연습 프로젝트만 허용해줘.설정의 optInOnly, optInPaths, gitIngest를 확인해줘.설치 뒤 hindsight_diagnose와 hindsight_sync_status로실제 서버, 기억 은행, 초기 수집 완료 여부를 확인해줘.사용 가능한 도구 이름이 다르면 실제 MCP 도구 목록을 기준으로 해줘.
설치 확인에는 다음처럼 가짜 정책을 사용하면 좋습니다.
연습 프로젝트의 정책을 Hindsight에 저장해줘.정책: 주문 취소는 배송 준비 이전에만 허용한다.이유: 배송 준비 이후에는 물류 작업이 시작되기 때문이다.상태: 테스트용 가상 정책이며 실제 업무 규칙이 아니다.저장 결과와 확인 가능한 근거를 알려줘.
저장이 끝난 뒤 새 세션에서 “이 연습 프로젝트의 주문 취소 정책과 이유를 기억에서 찾아줘”라고 요청하세요. 기억 수집이 아직 끝나지 않았다면 기다린 뒤 다시 확인해야 합니다. 잘못 저장된 기억도 회수될 수 있으므로 실제 구현 전에는 최신 코드·요구사항과 대조하세요.
이미 설치된 MinerU가 있다면 먼저 버전과 설치 관리자를 확인하세요. 기존 서비스가 실행 중인 상태에서 다른 관리자로 새 복사본을 설치하면 환경이 꼬일 수 있습니다.
Claude Code에 작업 절차도 알려주려면 공식 저장소의 skills/mineru/SKILL.md를 함께 연결합니다. 프로젝트 안의 .claude/skills/mineru/SKILL.md에 공식 파일을 두면 프로젝트 Skill로 사용할 수 있습니다. 기존 같은 이름의 파일은 먼저 비교·백업하세요. Skill만 복사한다고 CLI와 문서 분석 모델까지 설치되는 것은 아닙니다.
mineru server startmineru server status --json# 실제 존재하는 PDF 경로로 바꾸세요.mineru parse "./docs/requirements.pdf" --pages 1-10 --json
분석 엔진이 준비되지 않았으면 여기서 오류가 날 수 있습니다. 서버 시작만으로 모든 품질의 로컬 모델이 준비되는 것은 아닙니다.
로컬 PDF 분석을 처음 준비한다면 공식 Skill의 하드웨어 안내에 따라 basic 또는 standard 서버를 선택합니다. 예를 들어 basic을 선택한 경우의 준비 순서는 다음과 같습니다. 모델 다운로드와 지속적인 설정 변경을 포함하므로 저장 공간과 장치 조건을 먼저 확인하세요.
mineru-kit models download --tier basicmineru-kit models verify --tier basicmineru config set parse_server.local.managed_tier basicmineru config set parse_server.local.mode managedmineru server status --json
상태 출력에서 해당 품질이 정상인지 확인한 뒤 PDF 읽기를 다시 시도합니다. standard가 필요한 문서라면 장치에 맞는 엔진·추가 패키지와 모델 조건을 별도로 확인하세요.
반환값에 next_request나 다음 읽기 명령이 있으면 그 값을 따라갑니다. 이미 읽은 문서를 다시 조회할 때는 반환된 locator를 사용합니다.
# 예시 ID입니다. 반드시 실제 출력의 locator로 바꾸세요.mineru read "doc:ab12cd3/tier:standard/page:4/block:7" --context 2
현재 공식 문서는 PDF의 페이지 범위를 지원하며, Office 문서 등에는 같은 --pages 옵션을 그대로 적용하지 않습니다. PDF·이미지와 Office 파일은 가능한 품질 등급도 다릅니다.
MinerU로 ./docs/requirements.pdf를 읽고 요구사항 표를 만들어줘.공식 저장소: https://github.com/opendatalab/MinerUskills/mineru/SKILL.md의 최신 절차와 버전 요구사항부터 확인해줘.CLI가 없다면 OS, Python, uv 또는 pipx를 확인하고격리된 도구 환경으로 설치해줘.공식 Skill을 현재 프로젝트의 .claude/skills/mineru/SKILL.md에 연결해줘.같은 이름의 기존 파일이 있으면 먼저 비교하고 백업해줘.이미 설치됐다면 다른 설치본을 만들지 말고 버전부터 확인해줘.로컬 분석을 사용하고 첫 10쪽부터 읽어줘.next_request 또는 다음 읽기 명령을 따라 필요한 범위까지 이어서 읽어줘.요구사항마다 PDF 페이지, 블록 locator, 구현 영향, 불명확한 점을 남겨줘.표의 숫자·단위·수식은 원문 이미지와 대조할 항목으로 표시해줘.로컬 엔진이 없으면 필요한 다운로드와 하드웨어 조건을 설명해줘.내 허락 없이 원격 업로드로 전환하지 마.읽지 않은 페이지에서 근거를 만들지 마.
OCR과 수식 인식은 검토를 돕는 기능입니다. 병합 셀, 각주, 소수점, 부등호처럼 의미를 바꾸는 부분은 원문과 대조하세요. 문서 전체를 읽었는지와 일부 페이지만 읽었는지도 결과에 남기는 것이 좋습니다.
새 라이브러리를 도입할 때 별 개수만 보면 실제 유지보수 상태나 테스트 구성을 놓치기 쉽습니다. Repolyze는 저장소의 구조와 기술, 점수, 개선 제안을 첫 검토 자료로 제공합니다.
현재 분석 결과의 점수 항목에는 전체, 코드 품질, 문서, 보안, 유지보수성, 테스트, 의존성이 있습니다.
구현 코드를 보면 점수는 파일 트리와 수집한 중요 파일에서 지표를 추출한 뒤 규칙으로 계산하고, AI가 그 지표와 점수를 받아 설명을 작성합니다. 따라서 “AI가 저장소 전체를 읽고 자유롭게 100점 만점으로 채점한다”보다 규칙 기반 점수와 AI 해설을 함께 제공한다고 이해하는 편이 정확합니다.
예를 들어 현재 구현의 테스트 점수는 기본 20점에 테스트 파일 존재 시 50점, CI 존재 시 10점을 더합니다. 테스트 실행이나 커버리지 계측 결과를 읽는 계산이 아닙니다. 코드 품질 점수도 TypeScript·엄격 모드·Lint 설정 등의 존재를 반영하므로 언어나 프로젝트 유형이 다른 저장소를 점수만으로 줄 세우면 오해할 수 있습니다.
점수는 정밀 보안 감사의 합격증이 아닙니다. 특히 testCoverage라는 이름의 점수가 있다고 실제 테스트를 실행해 측정한 커버리지 퍼센트로 해석하면 안 됩니다. README의 92점 같은 응답 예시도 해당 저장소의 현재 측정값으로 인용하면 안 됩니다.
자체 운영에는 앱 실행 환경과 모델 API 설정 등이 필요합니다. 확인한 소스는 OpenRouter를 사용하고, GitHub 토큰은 없을 때 요청 한도가 제한되는 경로를 둡니다. README의 토큰 필수 안내와 구현 사이에 차이가 있습니다.
또한 README의 API 예시는 repoUrl을 사용하지만, 확인한 현재 요청 타입과 라우트는 url을 읽고 스트리밍 응답을 반환합니다. 따라서 README의 일반 JSON 응답 예제를 그대로 자동화에 복사하기보다 실제 코드를 확인해야 합니다.
직접 실행한 로컬 앱에 요청하는 형식 예시는 다음과 같습니다.
# localhost:3000에서 자체 앱이 실행 중일 때만 사용합니다.curl -N http://localhost:3000/api/analyze \ -H "Content-Type: application/json" \ -d '{"url":"https://github.com/vercel/next.js","branch":"canary"}'
이 예시는 현재 라우트의 입력 형식 설명용이며 실제 분석 실행 결과는 아닙니다. 스트리밍 응답이므로 일반 JSON 하나를 받는다고 가정한 response.json() 처리와도 구분하세요.
처음 쓰는 독자에게는 웹 앱으로 분석 보고서 한 개를 받아보는 경로를 권합니다. 자체 운영은 현재 package.json, 환경변수 예시, 데이터베이스·인증 의존성까지 확인한 다음 진행하세요.
아래 Repolyze 분석 보고서를 검토해줘.보고서는 검토의 출발점으로 사용하고, 점수만으로 안전하다고 결론 내리지 마.[여기에 Markdown 보고서 붙여넣기]1. 도입 전에 확인할 주장 3개를 우선순위로 골라줘.2. 각 주장에 필요한 실제 파일, 테스트 또는 릴리스 근거를 적어줘.3. 실제로 확인한 사실과 아직 확인하지 못한 추정을 구분해줘.4. 테스트 점수와 실행해서 측정한 커버리지를 구분해줘.5. 현재 프로젝트에서 적용할 최소 개선안과 확인 방법을 제안해줘.저장소 내용이나 실행 환경이 없으면 확인한 것처럼 말하지 말고,내가 추가로 제공할 자료를 구체적으로 알려줘.