본문으로 건너뛰기
r/jeffnews HN 약 8분

.claude/ 폴더 완전 해부 — Claude Code를 제대로 길들이는 법

devops

요약

Claude Code의 .claude/ 폴더 내부 구조를 전부 파헤치는 글. CLAUDE.md, rules/, commands/, skills/, agents/, settings.json까지 각 파일과 폴더의 역할, 설정법, 실전 팁을 상세히 다룸.

기사 전체 정리

Claude Code 쓰면서 .claude/ 폴더 한 번도 안 열어본 사람 꽤 많을 텐데, 이 폴더 구조를 제대로 이해하면 Claude Code의 동작을 프로젝트에 맞게 완전히 커스터마이징할 수 있다는 이야기임.

두 개의 .claude 폴더

  • .claude/ 폴더는 사실 두 군데에 존재함. 프로젝트 루트의 .claude/는 팀 공유 설정이고, 홈 디렉토리의 ~/.claude/는 개인 설정 + 세션 히스토리 저장소임
  • 프로젝트 레벨 폴더는 git에 커밋해서 팀 전체가 동일한 규칙을 공유하는 게 핵심임

CLAUDE.md — 가장 중요한 파일

  • CLAUDE.md는 Claude Code가 세션 시작할 때 제일 먼저 읽어서 시스템 프롬프트에 넣는 파일임. 여기 적힌 건 세션 내내 따름
  • "테스트 먼저 작성해", "console.log 대신 커스텀 로거 써" 같은 지시를 넣으면 진짜로 지킴
  • 프로젝트 루트, ~/.claude/CLAUDE.md(글로벌), 하위 디렉토리별로 각각 둘 수 있고, Claude는 이걸 전부 읽어서 합침

중요

> CLAUDE.md는 200줄 이하로 유지할 것. 그 이상 길어지면 컨텍스트를 너무 많이 잡아먹어서 오히려 지시 준수율이 떨어진다는 거임.

  • 넣어야 할 것: 빌드/테스트/린트 커맨드, 아키텍처 결정사항, 비자명한 gotcha, import 컨벤션, 폴더 구조
  • 넣지 말아야 할 것: 린터/포매터가 이미 처리하는 것, 장문의 이론 설명, 링크로 대체 가능한 문서
  • CLAUDE.local.md는 개인 전용 오버라이드 파일로, 자동으로 gitignore 처리됨. 팀 설정 건드리지 않고 개인 취향 반영할 때 씀

rules/ 폴더 — CLAUDE.md가 커지면 이걸로 분리

  • .claude/rules/ 안의 모든 마크다운 파일이 CLAUDE.md와 함께 자동 로드됨
  • api-conventions.md, testing.md, database.md 식으로 관심사별로 쪼개면 각 담당자가 자기 영역만 관리할 수 있음
  • **경로 스코핑이 진짜 강력함 — YAML frontmatter에 paths를 지정하면 해당 경로 파일 작업할 때만 로드됨. 예를 들어 src/api/</strong> 스코프를 걸면 React 컴포넌트 수정할 때는 로드 안 됨

commands/ 폴더 — 커스텀 슬래시 명령어

  • .claude/commands/에 마크다운 파일을 넣으면 그대로 슬래시 커맨드가 됨. review.md/project:review
  • ` 백틱에 ! 붙이면 셸 명령어 실행 결과를 프롬프트에 주입할 수 있음. 단순 저장 텍스트가 아니라 동적 프롬프트가 되는 거임
  • $ARGUMENTS로 인자 전달도 가능 — /project:fix-issue 234 하면 이슈 234 내용을 자동으로 가져와서 프롬프트에 넣어줌
  • 프로젝트 커맨드는 .claude/commands/에, 개인 커맨드는 ~/.claude/commands/에 두면 /user:command-name으로 접근 가능

skills/ 폴더 — 알아서 발동하는 워크플로우

  • commands와 비슷하게 생겼지만 결정적 차이가 있음: 슬래시 커맨드 없이도 Claude가 대화 맥락 보고 알아서 발동시킴
  • SKILL.md에 YAML frontmatter로 설명을 적어두면, 대화 내용이 해당 설명과 매칭될 때 자동 호출됨
  • commands는 단일 파일이지만 skills는 폴더 단위 패키지 — 보조 문서 파일을 함께 번들링할 수 있음

agents/ 폴더 — 전문 서브에이전트

  • .claude/agents/에 마크다운으로 서브에이전트 페르소나를 정의할 수 있음. 각 에이전트는 별도 시스템 프롬프트, 사용 가능 도구, 모델 설정을 가짐
  • 예를 들어 code-reviewer.md를 만들면 코드 리뷰 요청 시 독립된 컨텍스트 윈도우에서 작업하고 결과만 돌려줌. 메인 세션이 토큰으로 더러워지지 않음
  • tools 필드로 에이전트가 할 수 있는 걸 제한함 — 보안 감사용 에이전트는 Read/Grep/Glob만 허용하고 Write는 막는 식
  • model 필드로 저렴한 모델 지정 가능. 읽기 전용 탐색은 Haiku로 충분하고, Sonnet/Opus는 진짜 필요한 작업에만 쓰면 됨

settings.json — 권한 관리

  • .claude/settings.json에서 Claude가 뭘 할 수 있고 뭘 못 하는지 제어함
  • allow 리스트: 확인 없이 바로 실행 가능한 명령어 (npm run *, git *, 파일 읽기/쓰기 등)
  • deny 리스트: 무조건 차단 (rm -rf, curl, .env 접근 등)
  • 둘 다 아닌 건 실행 전에 물어봄 — 이 중간 지대가 의도된 안전장치임
  • settings.local.json은 개인용 권한 오버라이드. 자동 gitignore 처리됨

글로벌 ~/.claude/ 폴더

  • ~/.claude/projects/에 프로젝트별 세션 기록과 자동 메모리가 저장됨. Claude가 작업하면서 발견한 명령어, 패턴, 아키텍처 인사이트를 알아서 기록함
  • Claude가 "알려준 적 없는 걸 기억하는" 것처럼 보이면 여기 저장된 자동 메모리 때문임. /memory로 확인·수정 가능

💡

> 처음 시작할 때 권장 순서: /init으로 CLAUDE.md 생성 → settings.json에 allow/deny 설정 → 자주 쓰는 워크플로우를 commands로 만들기 → CLAUDE.md가 커지면 rules/로 분리 → 개인 취향은 ~/.claude/CLAUDE.md에

  • 결국 .claude/ 폴더는 "나는 누구고, 이 프로젝트는 뭐고, 어떤 규칙을 따라야 하는지"를 Claude에게 알려주는 프로토콜임. 이걸 명확하게 정의할수록 Claude를 교정하는 시간은 줄고 실제 작업 시간은 늘어남

핵심 포인트

  • .claude/ 폴더는 프로젝트 레벨과 홈 디렉토리 레벨 두 군데 존재하며 각각 팀 공유/개인 설정 용도
  • CLAUDE.md가 가장 중요한 파일로, 200줄 이하로 유지해야 지시 준수율이 떨어지지 않음
  • rules/ 폴더로 지시사항을 관심사별로 분리하고 경로 스코핑으로 특정 디렉토리에서만 활성화 가능
  • commands는 사용자가 직접 호출하는 슬래시 명령어, skills는 대화 맥락에 따라 Claude가 자동 발동하는 워크플로우
  • agents/ 폴더로 전문 서브에이전트를 정의해 독립 컨텍스트에서 작업하게 할 수 있음

인사이트

대부분 CLAUDE.md 하나만 대충 쓰고 마는데, rules 경로 스코핑이나 skills 자동 발동 같은 기능을 활용하면 팀 단위 AI 코딩 워크플로우를 체계적으로 관리할 수 있음.

댓글

댓글

댓글을 불러오는 중...

devops

살면서 몰랐던 셸 트릭 모음 — 터미널에서 Backspace 꾹 누르기 이제 그만

대부분의 개발자가 ls, cd, grep 이후로 터미널 학습을 멈추는데, 셸에는 1989년부터 존재하던 생산성 트릭들이 가득함. POSIX 범용 단축키부터 Bash/Zsh 전용 기능까지, 하루 하나씩 익히면 터미널 생활이 완전히 달라짐.

devops

OCI에서 PostgreSQL HA 구성할 때, 페일오버 테스트는 통과하는데 프로덕션에서 깨지는 이유

OCI에서 PostgreSQL HA 클러스터의 VIP가 페일오버 시 자동으로 이동하지 않는 문제를 다룬다. AWS/Azure와 달리 OCI는 VIP가 VNIC에 명시적으로 바인딩되어 있어 OCI API 호출이 필요하며, 이를 해결하는 두 가지 프로덕션 검증된 방법(HAProxy vs OCI API 콜백)을 제시한다.

devops

Wine 11, 드디어 커널 수준에서 Windows 동기화 재설계 — FPS 678% 상승 레전드

Wine 11이 출시됐는데 이거 그냥 버전업이 아님. **NTSYNC**라는 커널 레벨 동기화 드라이버가 탑재되면서 일부 게임 FPS가 최대 678% 폭등했고, **WoW64** 아키텍처도 완성돼서 32비트 앱 실행에 더 이상 삽질 안 해도 됨. Proton이랑 Steam Deck도 혜택 받는 구조라 Linux 게이밍 역사상 손꼽히는 업데이트임.

devops

NixOS 찬양글 - 이게 바로 OS가 나아가야 할 방향 아님?

NixOS 유저가 왜 NixOS에 진심인지 열변을 토하는 글임. 핵심은 NixOS 자체보다 **Nix 패키지 매니저**의 선언적·재현 가능한 철학에 있고, LLM 코딩 에이전트 시대에 특히 더 찰떡이라고 함. Docker보다 낫다는 주장도 ㄹㅇ 공감 포인트.

devops

10GbE DAC 케이블의 EEPROM을 조작해서 25Gbps를 뽑아낸 이야기

10GbE DAC 케이블의 SFP EEPROM에 저장된 속도 메타데이터를 I2C로 수정하여 25Gbps 링크를 성공시킨 홈랩 해킹기. 실측 9.4Gbps에서 22.8Gbps로 점프. 모든 케이블이 되는 건 아님.