Claude Code가 CLAUDE.md에 작성된 규칙을 건너뛰는 경우, 파일이 깨진 경우는 드뭅니다. 보통은 해당 규칙이 로드되지 않았거나, 충돌하는 다른 규칙에 의해 손실되었거나, 애초에 컨텍스트 파일로는 강제할 수 없는 것이었기 때문입니다. 아래 순서대로 확인해야 할 5가지 원인이 있습니다.
1. 세션 시작 디렉터리가 잘못된 경우
Claude Code는 세션이 시작되는 디렉터리와 모든 상위 디렉터리에서 CLAUDE.md 및 CLAUDE.local.md를 로드합니다. 형제 패키지(sibling package)에 있는 파일이라도 리포지토리 내에 존재한다고 해서 적용되는 것은 아닙니다. services/billing/에서 시작하면 billing 관련 가이드가 유효하지만, apps/web/에서 시작한다면 그렇지 않습니다.
2. 중첩된 파일이 아직 로드되지 않은 경우
작업 디렉터리(working directory) 아래에 있는 파일들은 시작 시점에 로드되지 않습니다. Claude가 해당 디렉터리의 파일을 읽을 때 로드됩니다. 리포지토리 루트에서 시작하여 Claude가 apps/web/의 어떤 파일도 열기 전에 질문을 하면, 웹 관련 가이드가 아직 컨텍스트에 포함되지 않은 상태입니다. /context를 실행하여 Claude Code가 로드했다고 보고하는 메모리 파일을 확인하세요.
3. 두 파일 간에 의견 불일치가 있는 경우
로드된 파일들은 루트부터 작업 디렉터리까지 순서대로 결합됩니다. 더 가까운 파일이 더 구체적인 가이드를 추가하지만, 자동으로 모순을 이겨내는 것은 아닙니다. 만약 루트가
새로운 지침에 의존하기 전에, 세 가지 무해한 작업을 수행하세요:
- 하나의 패키지 내부의 변경: Claude가 해당 패키지의 규칙과 올바른 테스트 명령어를 명시하는가?
- 두 번째 패키지 내부의 변경: 그것이 해당 패키지의 규칙으로 전환하는가?
- 둘 다에 영향을 미치는 변경: 모든 곳에 하나의 패키지 규칙을 적용하는 대신, 두 범위(scope)를 모두 식별하는가?
Claude에게 수정하기 전에 따를 규칙을 다시 진술하도록 요청하고, 재진술이 잘못되면 지침을 수정하세요. 그런 다음 직접 테스트를 실행하세요. 가이드라인은 행동을 개선시키고; 통과된 테스트나 검토는 그 증거입니다.
Claude가 따를 수 있는 규칙 작성하기
'철저히 테스트하라(Test thoroughly)'는 해석의 여지를 남깁니다. '커밋을 제안하기 전에 npm test -w apps/web을 실행하라'는 그렇지 않습니다. 구체적인 명령어, 파일 경로 및 범위는 규칙을 검증 가능하게 만듭니다.
더 나아가기