팀 규칙 문서를 계층별로 정리
목차
CLAUDE.md는 우리 팀이 각 프로젝트와 환경에서 따르는 공통 지침이다. 이번 커밋은 작지만, 그 배경에는 "여러 계층의 문서들이 어떻게 연결되어 있는가"를 명시하고 검증하는 의도가 담겨 있었다.
왜 계층 구조가 필요했는가
팀 규모가 커지고 운영하는 프로젝트·환경이 많아지면, "모든 개발자가 같은 규칙을 따른다"는 것이 점점 어려워진다. 우리의 상황을 보면:
- 글로벌 규칙: 모든 개발자·모든 환경이 지켜야 하는 기본 원칙 (코드 스타일, 커밋 메시지 형식, 권한 처리 등)
- 환경별 규칙: 특정 서버나 배포 환경에만 적용되는 것들 (토큰 관리, 로깅 수준, 배포 절차)
- 프로젝트별 규칙: 특정 레포나 서비스만의 세부 사항 (의존성 관리, 테스트 전략, 파일 구조)
이들을 동시에 관리하려면 구조가 필수다. 그렇지 않으면:
- 누군가는 서버 레벨 규칙을 모르고 실수
- 프로젝트별 CLAUDE.md가 글로벌 규칙과 충돌
- 규칙 수정 때 어디를 고쳐야 하는지 헷갈림
캐스케이드 추가의 의미
"캐스케이드"는 상위 규칙이 하위로 흘러내려간다는 개념이다. 이번 변경은:
| 구성 | 역할 | 소유 |
|---|---|---|
| Global CLAUDE.md | 모든 팀원이 따를 기본 규칙 | ops 리포에서 중앙 관리 |
| 서버 CLAUDE.md | symlink로 global을 참조하되, 서버 고유 규칙 추가 | 서버 환경에서 검증 |
| 프로젝트 CLAUDE.md | 그 프로젝트만의 세부 규칙, 글로벌은 상속 | 각 레포에서 유지 |
이 구조를 문서에 명시했다는 뜻이다. 새로운 팀원이 입사하거나, 다른 레포로 옮길 때 "아, 규칙들이 이렇게 연결되어 있구나"를 한눈에 알 수 있게.
"(서버검증)"이 중요한 이유
문서는 그저 문서일 뿐이다. 실제로:
- symlink가 제대로 연결되는가?
- git pull로 최신 규칙을 받아오는가?
- 각 환경에서 올바른 지침이 로드되는가?
를 직접 확인하지 않으면, 문서와 현실이 어긋난다. "(서버검증)"은 이 과정을 실제로 테스트했다는 기록이다. 이걸 건너뛰면:
- 특정 환경에서만 규칙이 적용되지 않는 버그 발생
- 팀원 A는 최신 규칙을 봤는데 팀원 B는 예전 규칙을 봄
- 온보딩할 때 "근데 실제로 이 규칙 적용되나요?" 라는 질문 반복
팀 규모와 문서화의 관계
처음엔 "단순한 문서 정리"로 보일 수 있다. 하지만 팀의 성장 곡선에서 보면, 이런 "메타 규칙"의 수익성이 지수적으로 증가한다.
코드 리뷰나 온보딩 때 반복되는 설명들 — "왜 이렇게 하지?", "어느 파일을 수정해야 하지?", "이 규칙은 여기만 적용되나?" — 대부분이 실제로는 "우리의 지침 구조가 명확하지 않아서"였다.
이런 변경들이 쌓여가면서:
- 반복 설명 감소
- 온보딩 시간 단축 (명확한 문서만 봐도 이해 가능)
- 규칙 변경 시 일관성 유지 (어디를 고칠지 명확)
- 새로운 프로젝트 시작할 때 "어떤 구조여야 하나"가 즉시 명확
가 가능해진다. 사소해 보이는 문서화 작업이, 실은 팀 전체의 효율성을 좌우하는 투자라는 걸 요즘 자주 느낀다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.