Git 히스토리에서 엔지니어링 결정 사항을 복구할 수 있는지 테스트했습니다
요약
Git 히스토리에서 코드 변경의 이유와 엔지니어링 결정 사항을 복구하는 오픈 소스 CLI 도구인 archaeo를 소개합니다. git blame의 한계를 넘어 PR, 이슈, 리뷰 논의를 연결하여 코드의 맥락을 정확히 찾아냅니다.
핵심 포인트
- Git 히스토리 기반의 엔지니어링 결정 사항 복구 도구
- PR 중심 리포지토리에서 97.7%의 높은 복구율 달성
- 환각 없이 실제 기록된 증거(PR, 이슈, 리뷰)만 제공
- 로컬 우선 방식 및 개인 LLM 키 사용 또는 오프라인 실행 지원
Canonical article: https://blog-archaeo.vercel.app/
대부분의 코드는 그것이 작성된 이유보다 더 오래 살아남습니다.
몇 달 후 누군가가 파일을 열고 질문합니다:
이 라인이 왜 여기에 있나요?
git blame은 누가 마지막으로 이 코드를 수정했는지 알려줍니다.
보통 그것은 포매터 (formatter), 이름 변경 (rename), 또는 파일을 이동시킨 사람입니다.
그것이 해당 동작이 왜 존재하는지는 거의 알려주지 않습니다.
저는 이동 (moves), 이름 변경 (renames), 리팩토링 (refactors), 스쿼시 머지 (squash merges), 그리고 체리 피킹 (cherry-picks)을 통해 다음 사항들을 복구하는 오픈 소스 CLI인 archaeo를 구축했습니다:
- 해당 동작을 도입한 커밋 (commit)
- 머지된 PR (Pull Request)
- 연결된 이슈 (issue)
- 결정 뒤에 숨겨진 리뷰 논의 (review discussion)
제가 타협하지 않는 규칙은 다음과 같습니다:
증거가 존재하지 않는다면, archaeo는 **"No recorded decision found." (기록된 결정 사항을 찾을 수 없습니다.)**라고 말합니다.
환각 (hallucination)된 설명은 없습니다.
발행 전, 저는 Kubernetes, React, Cognee 및 기타 리포지토리 (repositories)에 걸쳐 **150개 이상의 실제 쿼리 (queries)**로 이를 검증했습니다.
주요 특징:
- PR 중심 리포지토리에서 97.7%의 PR 복구율
- 몇 년 전의 실제 리뷰 논의 복구
- 로컬 우선 (Local-first)
- MIT 라이선스
- 본인의 LLM 키 사용 가능 (또는 완전히 오프라인으로 실행 가능)
전체 검증, 벤치마크 (benchmarks), 아키텍처 (architecture) 및 구현 세부 사항은 기사에 나와 있습니다.
👉 읽어보기: https://blog-archaeo.vercel.app/
⭐ GitHub: https://github.com/vanshitahujaa/archaeo
bash
npm install -g git-archaeo
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기