Claude Code는 자동으로 문맥을 수집하여 프롬프트를 구성하는 에이전틱 코딩 도우미임 CLAUDE.md는 Claude가 대화를 시작할 때 자동으로 문맥에 포함시키는 특수 파일임 CLAUDE.md 파일은 형식에 제한이 없으며, 간결하고 사람이 읽기 쉬운 형태로 작성할 것을 권장함 Claude는 다음 위치에서 CLAUDE.md를 탐색하여 문맥에 포함함: /init 명령어 실행 시 Claude가 CLAUDE.md 파일을 자동 생성해줌 CLAUDE.md는 Claude 프롬프트의 일부로 사용되므로, 프롬프트처럼 반복적으로 다듬고 최적화해야 함 Anthropic에서는 프롬프트 개선기(prompt improver) 를 통해 CLAUDE.md를 정제하고 Claude Code는 시스템을 변경할 수 있는 작업(파일 쓰기, bash 명령어 실행, MCP 도구 사용 등)에 대해 기본적으로 사용자 승인 요청을 함 Claude는 gh CLI를 사용할 수 있어, 이슈 생성, PR 작성, 코멘트 읽기 등 GitHub 작업을 자동화함 Claude는 사용자의 쉘 환경에 접근 가능하므로, 사용자가 직접 만든 스크립트와 함수들을 그대로 사용할 수 있음 Claude Code는 사용자의 bash 환경을 상속받아 이미 설치된 유틸리티 도구들에 접근 가능함 Claude가 커스텀 도구를 인식하려면 다음 작업을 수행: Claude Code는 MCP 서버이자 클라이언트 역할을 동시에 수행함 세 가지 방식으로 MCP 서버 도구를 Claude에 연결 가능: MCP 사용 중 설정 문제를 디버깅하려면 --mcp-debug 플래그로 Claude를 실행하는 것이 유용함 반복되는 워크플로우(디버깅, 로그 분석 등)를 위해 슬래시 명령어에 $ARGUMENTS를 포함하면 명령어 실행 시 전달된 파라미터를 자동 삽입 가능 예시: GitHub 이슈 자동 분석 및 수정 위 내용을 .claude/commands/fix-github-issue.md에 저장하면, /project:fix-github-issue 명령어로 사용할 수 있음 개인 설정 명령어는 ~/.claude/commands 폴더에 저장하면 모든 세션에서 사용 가능함 Claude Code는 특정 워크플로우를 강제하지 않으며, 사용자에게 완전한 유연성을 제공함 Claude에게 관련 파일, 이미지, URL을 읽어보도록 요청 Claude에게 문제 해결을 위한 계획 수립 요청 이후 Claude에게 계획한 방식으로 코드 구현 요청 마지막으로 결과 커밋 및 PR 생성 지시 📌 이 흐름에서 1~2단계를 생략하면 Claude가 곧바로 코딩에 들어가므로, 특히 복잡한 문제일수록 계획 단계가 중요함 Anthropic 내부에서 자주 사용하는 방식으로, 단위/통합/e2e 테스트가 있는 작업에 적합함 Claude에게 입력/출력 기준으로 테스트 작성 요청 테스트가 실패하는지 확인 요청 테스트에 만족하면 커밋 Claude에게 테스트를 통과하는 코드 작성 요청 모든 테스트가 통과되면 코드 커밋 지시 ✅ Claude는 **명확한 타겟(예: 테스트 케이스, 이미지 등)**이 있을 때 가장 잘 작동함 💡 Claude도 사람처럼 2~3번 반복 시 결과가 훨씬 좋아짐 → 시각 피드백 루프가 중요 ⚠️ 데이터 손실, 시스템 손상, 프롬프트 인젝션 위험 존재 → 인터넷 차단된 컨테이너에서만 실행 권장 예시 질문: 📌 별도 프롬프트 없이 자연어 질문만으로 탐색 가능 Claude는 다음과 같은 Git 작업 자동화를 잘 수행함: Claude Code는 GitHub 관련 작업을 대폭 자동화할 수 있음: 💡 gh 명령어 기억할 필요 없이 자동화된 GitHub 작업 가능 추가 기능: 아래 제안들은 모든 워크플로우에 공통적으로 적용 가능한 최적화 방법임 Claude Code는 첫 시도일수록 지시가 구체적일수록 성공률이 높아짐 Claude는 의도를 유추할 수는 있지만, 생각을 읽을 수는 없음 → 명확함이 핵심 Claude는 이미지나 다이어그램 처리에 뛰어남 디자인 목업 구현, 시각적 차트 분석 등 UI/데이터 시각화에 매우 유용 Claude에게 어떤 파일을 참고하거나 수정할지를 명확히 알려주면 작업 정확도 향상 Claude에게 URL을 주면 문서나 웹페이지를 직접 읽어올 수 있음 Shift + Tab을 눌러 자동 승인 모드(auto-accept mode) 로 작업을 자동화할 수 있으나, Claude가 한 번에 완벽하게 해결할 때도 있지만, 위 도구들을 활용하면 더 빠르고 정확한 결과 도출 가능 긴 세션이 지속되면 Claude의 문맥 창(context window) 이 필요 없는 정보로 채워져 성능 저하 가능성 있음 복잡한 작업(예: 코드 마이그레이션, 린트 오류 대량 수정 등)의 경우, 예: 린트 오류 해결 이 방식을 통해 진행 상황 추적과 품질 관리 동시 수행 가능 Claude에 데이터를 전달하는 여러 방법 존재: 실제 작업에서는 여러 방식의 혼합 사용이 일반적 Claude Code는 비인터랙티브 환경(CI, pre-commit 훅, 빌드 스크립트, 자동화 등)을 위한 헤드리스 모드를 지원함 ⚠️ 헤드리스 모드는 세션 간 지속되지 않으며, 매번 직접 실행해야 함 헤드리스 모드는 GitHub 이벤트 기반 자동화 트리거에 적합함 Claude는 전통적인 린트 도구로는 감지하기 어려운 주관적 코드 리뷰를 자동화할 수 있음 이를 통해 정적 분석 도구 이상의 코드 품질 개선이 가능함 단일 Claude 사용을 넘어서, 여러 Claude 인스턴스를 병렬로 실행하는 방식은 매우 강력한 활용법임 가장 간단하면서도 효과적인 패턴: 또는, ❗ Claude 인스턴스끼리 서로 별도의 scratchpad를 공유하거나 📌 단일 Claude보다 작업 분리가 더 나은 결과를 제공하는 경우가 많음 Claude가 작업을 완료하길 기다리는 대신, 여러 Git 체크아웃 디렉토리를 생성하여 병렬 작업 가능 git worktree는 여러 브랜치를 하나의 레포에서 서로 다른 디렉토리에 체크아웃하는 Git 기능임 예: 헤드리스 모드(claude -p)는 Claude Code를 프로그래밍 방식으로 워크플로우에 통합 가능하게 함 예시:
Claude Code 개요
# 1. 설정 커스터마이징
이 문맥 수집은 시간과 토큰을 소모하지만, 환경을 조정하여 최적화할 수 있음a. CLAUDE.md 파일 생성
이 파일은 다음 항목을 문서화하는 데 이상적임:
예시:CLAUDE.md 파일 위치
b. CLAUDE.md 파일 튜닝
흔한 실수는 내용을 너무 많이 넣고 효과를 검증하지 않는 것임
“IMPORTANT”, “YOU MUST”와 같은 강조 문구를 추가하여 응답 정확도를 높임c. Claude의 허용 도구 리스트 관리
이는 보안을 위한 보수적 설계이며, 사용자가 안전하다고 판단되는 도구는 허용 목록(allowlist) 을 통해 사전 승인 가능함허용 도구 설정 방법
예시:
d. GitHub 사용 시 gh CLI 설치
gh를 설치하지 않아도 GitHub API 또는 MCP 서버를 통해 대체 가능함
# 2. Claude에게 더 많은 도구 제공하기
또한 MCP나 REST API를 통해 보다 복잡한 외부 도구들과도 연동 가능a. Bash 도구와 함께 사용
b. MCP와 함께 사용
클라이언트로서 여러 MCP 서버에 연결해 다양한 도구를 활용할 수 있음
c. 사용자 정의 슬래시 명령어
.claude/commands 폴더에 프롬프트 템플릿을 Markdown 파일로 저장 가능
매개변수 전달: $ARGUMENTS
예: /project:fix-github-issue 1234 → Claude가 #1234 이슈 자동 수정 시도
# 3. 일반적인 워크플로우 활용하기
이러한 유연성을 기반으로, 사용자 커뮤니티에서 성공적으로 자리 잡은 다양한 사용 패턴이 있음a. 탐색 → 계획 → 구현 → 커밋
b. 테스트 작성 → 커밋 → 코드 작성 → 반복 → 커밋 (테스트 주도 개발)
c. 코드 작성 → 결과 스크린샷 제공 → 반복 개선
d. Safe YOLO 모드
→ 예시 구현은 Docker Dev Container 기반 사용을 추천e. 코드베이스 Q&A
→ Anthropic에서는 이 방식을 주요 온보딩 도구로 활용 중f. Git 연동
g. GitHub 연동
h. Jupyter Notebook 작업
# 4. 워크플로우 최적화
a. 지시어는 구체적으로 작성
처음부터 명확하게 요청하면 중간 수정의 필요성이 줄어듦예시 비교
✅ foo.py에 대해, 로그아웃된 사용자 케이스를 다루는 새로운 테스트 케이스 작성. mock은 사용하지 말 것
✅ ExecutionFactory의 git 히스토리를 추적해서, API가 현재 구조로 만들어진 이유를 요약해줘
✅ 홈페이지에 있는 기존 위젯 구현 방식을 분석해 (예: HotDogWidget.php) 코드와 인터페이스 분리 패턴을 파악한 뒤, 사용자가 월 선택 및 연도 페이지 전환이 가능한 새 달력 위젯을 동일한 방식으로 구현해줘. 외부 라이브러리는 기존 프로젝트에서 이미 사용하는 것만 허용
b. 이미지 제공
다음 방법으로 이미지 제공 가능:
비주얼이 없는 경우에도, 결과의 시각적 품질이 중요한지 명확히 전달하는 것이 도움됨c. 작업할 파일 지정
d. Claude에게 URL 제공
e. 빠르고 자주 방향 수정 (코스 리디렉션)
보통은 Claude와 적극 협업하며 방향을 조정하는 것이 더 나은 결과를 유도함유용한 조정 도구 4가지:
f. /clear 명령어로 맥락 초기화
→ 작업 단위마다 /clear로 문맥을 초기화하는 습관 추천g. 체크리스트 및 스크래치패드 활용
Markdown 파일이나 GitHub 이슈를 체크리스트로 사용하면 효율 향상
h. Claude에게 데이터 전달하기
예: 로그를 파이프로 전달하고, Claude에게 MCP 도구를 사용해 추가 맥락을 가져오도록 요청
# 5. 헤드리스 모드로 인프라 자동화하기
a. Claude로 이슈 자동 분류
예: 새로운 이슈가 생성될 때 자동 분석 및 라벨 분류
b. Claude를 린터로 사용
예:
# 6. 멀티 Claude 워크플로우로 레벨업하기
여러 엔지니어가 협업하듯, Claude를 분업시키는 전략은 효율성과 품질을 모두 향상시킬 수 있음a. 한 Claude가 코드 작성, 다른 Claude가 검토
“이 Claude는 A 파일에만 기록, 저 Claude는 B만 읽기” 식으로 역할 분리 설정도 가능b. 저장소를 여러 개 체크아웃하기
c. Git worktree 활용
→ 복수의 독립 작업을 병렬로 처리하기에 이상적
사용법
git worktree add ../project-feature-a feature-a
cd ../project-feature-a && claude
팁
git worktree remove ../project-feature-a
d. 헤드리스 모드 + 커스텀 자동화 구조체
여기에 Claude 자체 도구와 시스템 프롬프트를 결합해 다음 두 패턴 활용 가능1. Fanning out: 대규모 마이그레이션/분석 작업 분산 처리
→ 예: React에서 Vue로 마이그레이션할 2,000개 파일 리스트 생성
→ 예:
claude -p "migrate foo.py from React to Vue. When done, return OK or FAIL." --allowedTools Edit Bash(git commit:*)
2. Pipelining: 데이터/처리 파이프라인 통합
claude -p "<your prompt>" --json | your_command
디버깅 팁