Show HN: Sphinx - AI가 작성한 코드를 배포하기 전에 이해도를 묻는 훅

2 hours ago 5

Sphinx는 에이전트 지원 개발용 Git 훅으로, 코드를 푸시하기 전에 개발자가 코드의 실제 동작을 이해하는지 질문함 보호 대상으로 지정한 브랜치에 푸시하면 Git이 멈추고, 기존 대화를 보지 않은 리뷰어가 diff를 읽어 실패 상황에서 변경 코드가 어떻게 동작하는지 물음 답이 틀리면 이유를 배우고 새로운 시나리오에 도전하며, 정답을 맞히면 푸시가 계속됨 Codex, Claude Code, Cursor, OpenCode, Pi 또는 일반 Git과 함께 사용할 수 있으며, 기존 코딩 에이전트나 OpenRouter, OpenAI 호환 엔드포인트를 활용함 답변은 코딩 에이전트에 전달되지 않으며, 급할 때는 sphinx yolo 로 통과할 수 있지만 모든 건너뛰기는 기록됨 푸시 전에 코드 동작을 확인하는 방식 Sphinx 는 무료 오픈소스 Git 훅으로, 사고를 맡기더라도 코드에 대한 이해까지 맡기지 않는 것을 지향함 개발자나 에이전트가 보호 브랜치에 푸시하면 Git이 일시 정지함 기존 채팅을 보지 않은 리뷰어가 diff를 읽고, 실패 상황에서 변경 코드가 어떻게 동작하는지 질문함 오답이면 이유를 알려주고 새 시나리오를 내며, 정답이면 푸시를 계속함 예시에서는 Stripe 웹훅 처리기가 charge() 호출 전에 이벤트 ID를 저장하도록 바뀐 상황을 질문함 Stripe가 시간 초과 후 같은 이벤트를 재전송해도, 저장된 ID를 발견한 재시도는 결제하지 않고 HTTP 200을 반환하므로 이중 결제가 발생하지 않음 하지만 최초 charge()가 실패해도 ID는 이미 저장돼 있어, 다음 재시도가 결제를 건너뛰고 고객에게 청구하지 못함 연동과 실행 조건 최소한의 토큰 사용을 목표로 설계됐으며, 기존 코딩 에이전트, OpenRouter 또는 OpenAI 호환 엔드포인트로 실행할 수 있음 Codex, Claude Code, Cursor, OpenCode, Pi 및 일반 Git을 지원함 사용자 답변은 코딩 에이전트에 전달하지 않고, .env 파일과 키는 열지 않음 sphinx yolo는 푸시를 통과시키며, 모든 건너뛰기를 기록함 Node 22.19 이상과 macOS, Linux 또는 WSL 환경이 필요함 npm 패키지 이름은 sphinx-understand임 sphinx install이 Git과 코딩 에이전트를 연결하고 리뷰에 사용할 모델을 물으며, 이후 평소처럼 푸시하면 됨 추가 사용법은 문서에서 확인할 수 있음

Read Entire Article