나의 Claude Code 설정: 챗봇 창이 아닌, 가드레일이 갖춰진 소규모 엔지니어링 팀처럼 운영하기
My Claude Code setup: it runs like a small engineering team with guardrails, not like a chat window
핵심 요약
Claude Code를 단순 챗봇이 아닌, 후크와 MCP를 활용한 체계적인 엔지니어링 시스템으로 구축하여 효율을 극대화하는 방법.
- 후크 기반 규칙 — 프롬프트 대신 PreToolUse 후크를 사용하여 모델의 행동을 강제로 제어함
- 시스템 기록 — AI가 아닌 자체 Git 서버와 상태 머신을 통해 작업 완료 여부를 결정함
- 모델 계층화 — 작업 난이도에 따라 Haiku, Sonnet, Opus를 적절히 라우팅하여 비용을 절감함
- 판단 모델 Jev — Claude가 작성하기 전, 저렴한 모델이 먼저 판단을 내려 불필요한 연산을 방지함
여기 올라오는 글들 보면 죄다 "왜 이렇게 사용량 제한이 빨리 걸리냐?", "왜 클로드한테 똑같은 말을 계속 반복해야 하냐?" 이런 불평뿐이더라.
나처럼 혼자 개발하는 사람한테는 기가 막히게 잘 먹히는 세팅이 있어서 공유해 본다. 팀 단위로 적용하려면 상황이 좀 다를 수도 있겠지만, 일단 한번 들어봐.
참고로 이 글은 내 Claude Code한테 이렇게 프롬프트를 넣어서 뽑아낸 거다:
I feel like most people that are using Claude Code are not doing it effectively. I feel that my use of Claude Code, with my setup of mcps, gitlab, etc. is VERY effective, however I struggle to explain it to other people.
Can you create a description of what our set up is? something that I can post to reddit?
---------------------------------------------------
나도 코딩 짬밥 좀 먹었고, 개인 프로젝트나 홈랩, 본업 보조용으로 Claude Code를 엄청 굴려봤거든. 보통 사람들은 이걸 그냥 좀 똑똑한 자동 완성 정도로 쓰더라고. 세션 열고, 문제 설명하고, AI가 내놓는 거 그냥 다 받아들이고, 또 반복하고. 이러면 AI 성능의 절반도 못 쓰는 거다. 내 세팅이 어떻게 돌아가는지, 왜 이렇게 구성했는지 알려줄게.
1. 규칙은 줄글이 아니라 훅(hook)으로 박아라
다들 CLAUDE.md에 규칙을 잔뜩 적어놓는데, 모델이 그걸 다 지킬 리가 없지. 내 경험상 규칙은 이거다. 똑같은 짓을 두 번 반복해서 수정하게 만들면, 그건 바로 PreToolUse 훅으로 만들어서 아예 실행을 막아버려야 한다. 이런 식으로 강제하는 것들 몇 개 예시를 들자면:
-
파일 삭제 금지. 삭제 명령이 들어오면 차단하고
_archive/폴더로 옮기는 명령으로 바꿔버림. -
Git 명령어는 무조건 래퍼 스크립트를 거치게 함.
cd && git같은 짓 절대 못 하게. -
커밋 메시지에
fixes #12같은 자동 종료 키워드 못 쓰게 함. 이런 거 쓰면 이슈가 멋대로 닫히고 내 마무리 프로세스를 건너뛰거든. AI 공동 저자 태그도 안 붙임. -
본업 관련 시스템(티켓팅, 업무 메일, 업무용 레포)에 쓰는 건 내가 특정 작업에 대해 OK 하기 전까지는 무조건 차단. 읽기만 가능함.
-
업무 관련 내용은 승인된 모델에만 들어갈 수 있음. 다른 벤더사 에이전트가 업무 내용을 보는 건 예외 없이 차단.
CLAUDE.md는 여전히 존재하지만, 그냥 핵심만 짧게 적어두고 자세한 건 훅으로 강제하는 방식이야.
2. Git 서버를 기록의 중심(System of Record)으로 삼고, 워크플로우는 도구 안에 가둬라
나는 내 GitLab을 직접 돌리고 있고, 그걸 위한 MCP 서버도 직접 짰어(도구만 90개 정도 됨). 핵심은 워크플로우 규칙을 도구 안에 박아넣어서 모델이 꼼수를 못 부리게 하는 거다:
-
모든 이슈는 이랑 라벨이 하나씩 꼭 있어야 함. 상태값은 상태 머신(state machine)으로 관리함. 는 나만 할 수 있음. 에이전트는 , (이건 추측하지 말고 이슈에 질문을 남기라는 뜻), 그리고 (이건 열려 있는 MR이 필수)까지만 가능함. 은 내가 승인해야만 넘어감.


