자신의 diff에 대한 퀴즈를 통과할 때까지 git push를 차단하는 Claude Code 플러그인, vibecheck를 만들었습니다
요약
Claude Code를 활용해 개발자가 git push 전 변경 사항(diff)에 대한 퀴즈를 풀도록 강제하는 플러그인 'vibecheck'를 소개합니다. 이 도구는 에이전트가 작성한 코드의 잠재적 오류를 인간이 다시 한번 검토하게 만드는 '넛지' 역할을 합니다.
핵심 포인트
- git push 시 변경 사항에 대한 객관식 퀴즈를 통해 코드 검토 유도
- 인증 로직 오류, 의존성 추가, 예외 처리 문제 등 주요 실수 방지
- Claude Code를 사용하여 게이트 및 42개의 테스트 케이스 구현
- 모델이 스스로 답변하지 못하도록 AskUserQuestion 도구 활용
- MIT 라이선스의 무료 도구로 마크다운 파일을 통한 질문 수정 가능
코드를 푸시(Push)한다는 것은 그것이 무엇을 하는지, 그리고 무엇을 망가뜨리는지 말할 수 있어야 함을 의미합니다. 에이전트(Agent)가 코드의 대부분을 작성하는 상황에서는 자신도 모르게 이 원칙에서 벗어나기 쉬우며, 커밋(Commit)에는 여전히 당신의 이름이 남게 됩니다. 그래서 저는 vibecheck를 만들었습니다. 이것은 git push를 차단합니다. Claude가 푸시를 시도하면 차단되며, 먼저 diff(변경 사항)에 대한 퀴즈를 풀어야 합니다. 2~4개의 객관식 질문이 제공되며, 절대 갇히지 않도록 모든 질문에 건너뛰기(skip) 옵션이 있습니다. 이 도구는 큰 diff에서 놓치기 쉬운 부분들을 겨냥합니다. 인증 체크(auth check)가 조용히 모든 사용자에게 true를 반환하기 시작하는 리팩터링(Refactor), 요청하지 않은 의존성(Dependency), 이제는 에러를 삼켜버리는 예외 처리(Caught exception) 등이 대상입니다. 테스트 실행 중의 실제 예시: "이 변경 사항은 is_admin()이 항상 true를 반환하게 만듭니다. 이전에는 발생할 수 없었지만 이제 발생할 수 있는 일은 무엇인가요?" 까다로운 부분은 모델이 당신을 대신해 답변하는 것을 막는 것이었습니다. AskUserQuestion이 해결책이었는데, 이는 모델이 스스로 채울 수 없는 유일한 도구이므로 질문이 반드시 인간에게 전달되어야 합니다. Claude Code를 사용하여 제작했습니다. Claude는 게이트(Gate), 명령 구문 분석(git -C, cd && push 등 push가 숨겨지는 모든 방식), 그리고 42개의 케이스를 가진 테스트 스위트(Test suite)를 작성했습니다. 제작 도중에 Claude가 자신의 푸시까지 차단하기 시작해서, 이틀 동안 제 자신의 리포지토리(Repo)에서 퀴즈를 풀어야 했습니다. 무료이며, MIT 라이선스이고, 계정이 필요 없으며, 당신의 리포지토리에 아무것도 작성되지 않습니다: /plugin marketplace add dalvgit/vibecheck /plugin install vibecheck https://github.com/dalvgit/vibecheck 이것은 잠금 장치가 아니라 하나의 넛지(Nudge)입니다. 되돌리기 어려운 단 하나의 행동에 설치된 과속 방지턱입니다. 질문 프롬프트는 단순한 마크다운(Markdown) 파일이므로 좋지 않은 질문은 수정 가능합니다. 제가 알고 싶은 것은 이것입니다: 질문들이 공정하게 느껴지나요, 아니면 단순한 퀴즈처럼 느껴지나요.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기