이런 분께
클로드 코드(Claude Code)에 코드를 맡기는데, 가끔 .env(비밀번호·API 키를 적어 두는 설정 파일)까지 고치려 해서 불안한 분. 클로드가 고친 파일마다 따옴표·들여쓰기가 들쭉날쭉해서 커밋 전에 매번 손으로 정리하는 분께 맞아요.
클로드 코드의 훅(hook, 정해진 순간마다 내가 정한 명령을 자동으로 돌리는 설정)을 쓰면 두 가지를 한 번에 해결할 수 있어요. 고치기 직전에는 지켜야 할 파일인지 검사해서 막고, 고친 직후에는 코드 정리 도구 Prettier를 자동으로 돌려요.
끝나면 이렇게 됩니다
공식 문서의 예시 스크립트를 이 실행에서 그대로 만들어 돌려 본 결과예요.
# 클로드가 .env를 고치려 할 때 (훅이 받는 값을 흉내 내서 넣음)
$ echo '{"tool_input":{"file_path":"/proj/.env"}}' | .claude/hooks/protect-files.sh
Blocked: /proj/.env matches protected pattern '.env'
exit=2 ← 2로 끝나면 클로드 코드가 그 수정을 막아요
# 윈도우 경로의 일반 파일(C:\proj\src\app.js)일 때
exit=0 ← 통과
# 고친 뒤 자동 정리 (작은따옴표·세미콜론 없는 코드)
const a = 'hi' → const a = "hi";
console.log(a) → console.log(a);
막힌 경우 클로드에게 "Blocked: …" 이유가 전달돼서, 클로드가 다른 방법을 찾아요.
준비물
- 클로드 코드: 대부분 Claude 유료 구독이나 Anthropic Console 계정이 필요해요(2026년 11월 기준, 공식 문서).
- jq(설정 값을 읽어 내는 작은 프로그램): 맥
brew install jq, 우분투sudo apt-get install jq, 윈도우는 jq 공식 다운로드 페이지에서 받아요. - Node.js(Prettier를
npx로 바로 돌릴 때 필요) - 윈도우라면 Git for Windows. 훅 스크립트가 bash로 돌아서, Git Bash가 없으면 훅이 실패할 수 있어요.
따라 하기
- 터미널(컴퓨터에 글자로 명령하는 창)을 열고 프로젝트 폴더로 이동해요. 윈도우는 시작 메뉴에서 「Git Bash」, 맥은 Spotlight에서 「터미널」을 찾아요.
- 훅 스크립트를 둘 폴더를 만들어요.
mkdir -p .claude/hooks
.claude/hooks/protect-files.sh파일을 만들고 아래 「복사해서 쓰는 프롬프트」의 첫 번째 코드를 붙여 넣어 저장해요.- 맥·리눅스라면 실행 권한을 줘요.
chmod +x .claude/hooks/protect-files.sh
- 프로젝트 맨 위 폴더에
.claude/settings.json을 만들고(이미 있으면 "hooks" 부분만 합쳐요) 두 번째 코드를 붙여 넣어요. 앞부분(PreToolUse)이 고치기 전 검사, 뒷부분(PostToolUse)이 고친 뒤 정리예요. - 클로드 코드를 켜고(
claude) 입력창에/hooks를 쳐서 PreToolUse와 PostToolUse 아래에 훅이 보이는지 봐요. - 시험해요. 클로드에게 "
.env파일에 주석 한 줄 추가해 줘"라고 하면 막혀야 하고, "app.js에 작은따옴표 문자열 한 줄 추가해 줘"라고 한 뒤 파일을 열면 큰따옴표로 바뀌어 있어야 해요.
