원문: Cooking with Claude Code: The Complete Guide
작성: Siddharth Bharath | 2025년 7월 8일 (11월 25일 업데이트)
🔥 자주 쓰는 핵심 커맨드
| 커맨드 | 용도 |
|---|---|
| /compact | 대화 압축 (토큰 절약하면서 맥락 유지) |
| /context | 토큰 사용량 시각화 |
| /cost | 비용 확인 |
| /model | AI 모델 전환 (예: Opus ↔ Sonnet) |
| /review | 코드 리뷰 요청 |
📝 대화 관리
| 커맨드 | 용도 |
|---|---|
| /clear | 대화 기록 완전 삭제 |
| /compact | 대화 압축 (맥락은 유지) ← clear 대신 추천 |
| /rewind | 이전 상태로 되돌리기 |
| /resume | 이전 세션 이어서 작업 |
🛠 프로젝트 관리
| 커맨드 | 용도 |
|---|---|
| /init | CLAUDE.md 생성 |
| /memory | 영구 메모 편집 |
| /todos | 작업 목록 표시 |
🔍 문제 해결
| 커맨드 | 용도 |
|---|---|
| /doctor | 설치 상태 검진 |
| /status | 버전, 모델, 계정 상태 확인 |
| /mcp | MCP 서버 연결 상태 |
💡 팁: /clear vs /compact
/clear → 완전 초기화 (맥락 전부 삭제)
/compact → 대화 압축 (핵심 맥락은 유지, 토큰만 절약)
Claude Code는 Anthropic의 CLI 기반 AI 코딩 에이전트입니다.
핵심 특징:
# 설치
curl -fsSL https://claude.ai/install.sh | bash
# 프로젝트 시작
mkdir my-project
cd my-project
claude
인증 방식:
| 모드 | 특징 | 사용 시점 |
|---|---|---|
| Default | 요청 → 제안 → 승인 → 실행 | 신중한 작업, 학습 시 |
| Auto | 승인 없이 자동 실행 | 반복 작업, 신뢰할 수 있는 작업 |
| Plan | 확장 사고로 전략 수립 | 복잡한 기능, 새 프로젝트 시작 |
Plan Mode 분석 깊이 조절:
think - 기본 분석think hard - 심층 분석ultrathink - 최대 깊이 분석프로젝트의 규약, 결정사항, 컨텍스트를 저장하여 세션 간 유지합니다.
# 초기화
/init
계층 구조:
~/.claude/CLAUDE.md # 전역 설정
├── 프로젝트/CLAUDE.md # 프로젝트 표준
│ ├── backend/CLAUDE.md # 백엔드 규칙
│ ├── frontend/CLAUDE.md # 프론트엔드 규칙
│ └── docs/CLAUDE.md # 문서화 규칙
핵심 전략:
1. 한 프로젝트/기능당 하나의 채팅 유지
2. 완료 후 /clear 명령으로 초기화
3. /resume으로 이전 세션 복귀
4. 대규모 프로젝트는 plan.md로 분할
컨텍스트 압축:
/compact Focus on preserving authentication and database schema
메인 Claude (조율자)
├── 코드 리뷰어
├── 테스트 엔지니어
└── 문서 작성자
/agents
각 서브에이전트는 독립적 컨텍스트를 유지하여 메인 채팅 과부하 방지
기본 흐름:
1. 새 기능 → 새 브랜치
2. 개발 완료 → 테스트
3. 성공 → 문서 업데이트 및 커밋
4. 완료 → 메인에 머지
Git Worktrees (병렬 개발):
git worktree add ../project-feature-a -b feature/feature-a
git worktree add ../project-feature-b -b feature/feature-b
git worktree list
체크포인트:
/rewind
mkdir -p .claude/commands
예시 - .claude/commands/review.md:
포괄적 코드 리뷰 수행:
1. 코딩 규칙 준수 확인
2. 에러 처리 및 로딩 상태 검증
3. 접근성 표준 확인
4. 테스트 커버리지 검토
5. 보안 취약점 확인
6. 성능 영향 평가
팀원이 저장소 클론하면 자동 공유됨
외부 도구/데이터소스 연결 (Jira, GitHub, 웹 검색 등)
# 추가
claude mcp add brave-search -s project -- npx @modelcontextprotocol/server-brave-search
# 확인
/mcp
실행 시점:
PreToolUse - 도구 실행 전PostToolUse - 도구 완료 후Notification - 알림 발송 시Stop - 작업 완료 시/hooks
├── 단위 테스트 (유틸리티 함수)
├── 컴포넌트 테스트 (React Testing Library)
├── 통합 테스트 (API 엔드포인트)
├── E2E 테스트 (중요 워크플로우)
└── 성능 테스트
Claude Code가 비즈니스 로직을 이해하고 엣지 케이스 포함 테스트 자동 생성
PR 체크: 테스트 → TypeScript 컴파일 → 포맷팅 → 린트 → 빌드 → 보안 검사
Main 머지: 위 검사 + 스테이징 배포 → 스모크 테스트 → Slack 알림
릴리즈: 무중단 배포 → 상태 확인 → 모니터링
성능 감사 → 병목 식별 → 최고 영향도 우선 최적화
분석 대상: 번들 크기, DB 쿼리, 프론트엔드 렌더링
claude.ai의 </> 아이콘으로 접근:
CLAUDE.md는 단순한 설정 파일이 아닌 프로젝트의 살아있는 문서입니다.
Claude Code는 매 세션마다 컨텍스트가 초기화됩니다. CLAUDE.md가 없으면:
# 프로젝트명
## 아키텍처
- 프론트엔드: React + TypeScript
- 백엔드: Spring Boot + Kotlin
- 데이터베이스: MongoDB
## 코딩 규칙
- 함수명은 camelCase
- 컴포넌트는 PascalCase
- 테스트 파일은 *.test.ts
## 디렉토리 구조
@docs/architecture.md 참조
## 중요 결정사항
- 2024-01: REST 대신 gRPC 채택 (성능 이유)
- 2024-03: 모노레포 구조로 전환
## 현재 작업 컨텍스트
- 진행 중: 사용자 인증 기능
- 다음 작업: 결제 시스템 연동
~/.claude/CLAUDE.md
├── 내 모든 프로젝트에 적용되는 개인 스타일
│
프로젝트/CLAUDE.md
├── 이 프로젝트의 전체 규칙
│
프로젝트/backend/CLAUDE.md
├── 백엔드만의 특수 규칙 (Kotlin 스타일 등)
│
프로젝트/frontend/CLAUDE.md
└── 프론트엔드만의 특수 규칙 (React 패턴 등)
규칙: 더 구체적인 파일이 일반적인 파일을 덮어씁니다.
컨텍스트 윈도우는 Claude가 한 번에 "기억"할 수 있는 정보량입니다.
1. 기능 단위로 채팅 분리
❌ 하나의 채팅에서 모든 기능 개발
✅ 기능 A 채팅 → /clear → 기능 B 채팅
2. 완료된 작업은 즉시 정리
# 기능 완료 후
/clear
3. 필요시 이전 세션 복귀
/resume
4. 대규모 작업은 계획 파일로 분할
# plan.md
## Phase 1: 데이터베이스 설계
- [ ] 스키마 정의
- [ ] 마이그레이션 작성
## Phase 2: API 개발
- [ ] 엔드포인트 구현
- [ ] 테스트 작성
5. 선택적 컨텍스트 압축
/compact Focus on preserving authentication flow and API schemas
Plan Mode는 Claude의 "확장 사고(Extended Thinking)" 기능을 활용합니다.
| 키워드 | 분석 수준 | 사용 시점 |
|---|---|---|
think | 기본 | 간단한 계획 |
think hard | 심층 | 복잡한 로직 |
ultrathink | 최대 | 아키텍처 결정, 중요한 설계 |
사용자 인증 시스템을 구현하려고 해.
JWT와 세션 기반 중 어떤 것이 좋을지 ultrathink해서 분석하고,
선택한 방식의 구현 계획을 단계별로 세워줘.
Claude의 응답:
1. 요구사항 확인 질문
2. 각 방식의 장단점 분석
3. 추천 방식과 근거
4. 단계별 구현 계획
5. 예상 파일 구조
6. 테스트 전략
여러 기능을 동시에 개발할 때 브랜치 전환 없이 작업할 수 있습니다.
# 기능 A 작업 중...
git stash
git checkout feature-b
# 기능 B 작업...
git checkout feature-a
git stash pop
# 컨텍스트 스위칭 비용 발생!
# 메인 프로젝트
~/project/
├── (main 브랜치)
# Worktree 생성
git worktree add ../project-auth -b feature/auth
git worktree add ../project-payment -b feature/payment
# 결과
~/project/ # main 브랜치
~/project-auth/ # feature/auth 브랜치
~/project-payment/ # feature/payment 브랜치
# 터미널 1: 인증 기능
cd ~/project-auth
claude
> 로그인 기능 구현해줘
# 터미널 2: 결제 기능 (동시 진행)
cd ~/project-payment
claude
> 결제 API 연동해줘
# 각 Claude 인스턴스는 독립적으로 작동
# Worktree 목록 확인
git worktree list
# 작업 완료 후 제거
git worktree remove ../project-auth
반복되는 작업을 명령어로 자동화합니다.
.claude/
└── commands/
├── review.md # /review
├── test.md # /test
├── deploy.md # /deploy
└── debug.md # /debug
코드 리뷰 (/review)
# .claude/commands/review.md
다음 항목을 기준으로 코드 리뷰를 수행해줘:
## 코드 품질
- [ ] 함수가 단일 책임 원칙을 따르는가?
- [ ] 변수명이 명확한가?
- [ ] 중복 코드가 없는가?
## 에러 처리
- [ ] 예외 상황이 적절히 처리되는가?
- [ ] 사용자에게 명확한 에러 메시지를 제공하는가?
## 보안
- [ ] SQL 인젝션 위험이 없는가?
- [ ] XSS 취약점이 없는가?
- [ ] 민감한 정보가 노출되지 않는가?
## 성능
- [ ] N+1 쿼리 문제가 없는가?
- [ ] 불필요한 연산이 없는가?
발견된 문제점과 개선 제안을 목록으로 정리해줘.
테스트 생성 (/test)
# .claude/commands/test.md
현재 파일에 대한 테스트를 작성해줘:
1. 정상 케이스 테스트
2. 엣지 케이스 테스트 (빈 값, null, 경계값)
3. 에러 케이스 테스트
4. 모킹이 필요한 경우 적절히 처리
테스트 파일은 `*.test.ts` 형식으로 생성해줘.
디버깅 (/debug)
# .claude/commands/debug.md
다음 단계로 디버깅을 진행해줘:
1. 에러 메시지 분석
2. 관련 코드 추적
3. 가능한 원인 3가지 나열
4. 각 원인에 대한 검증 방법 제안
5. 가장 유력한 원인에 대한 수정 코드 제시
.claude/commands/를 Git에 커밋하면 팀 전체가 동일한 명령어 사용 가능
Model Context Protocol을 통해 Claude를 외부 서비스와 연결합니다.
| 서버 | 용도 |
|---|---|
brave-search | 웹 검색 |
github | GitHub 이슈, PR 관리 |
jira | Jira 티켓 연동 |
postgres | 데이터베이스 직접 쿼리 |
slack | Slack 메시지 전송 |
# 프로젝트 단위로 추가
claude mcp add github -s project -- npx @modelcontextprotocol/server-github
# 전역으로 추가
claude mcp add brave-search -s user -- npx @modelcontextprotocol/server-brave-search
.mcp.json){
"mcpServers": {
"github": {
"command": "npx",
"args": ["@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
},
"postgres": {
"command": "npx",
"args": ["@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "${DATABASE_URL}"
}
}
}
}
GitHub에서 이번 주에 올라온 이슈들 중
버그 라벨이 붙은 것들을 우선순위별로 정리해줘.
/init)/clear로 컨텍스트 정리.claude/commands/ Git 커밋.mcp.json 공유Claude Code는 단순한 코드 생성 도구가 아닌 개발 파트너입니다.
"Sonnet과 Opus는 이미 코딩 분야 최고 성능 모델이고, Claude Code가 이를 에이전트화하여 중급 소프트웨어 엔지니어 수준의 역량을 제공합니다."
핵심은 컨텍스트 관리와 구조화된 워크플로우입니다. CLAUDE.md를 잘 관리하고, Plan Mode를 활용하며, 커스텀 명령으로 반복 작업을 자동화하세요.
이 문서는 원문을 한글로 번역하고 핵심 내용을 요약한 것입니다.