# Claude CLI 완전 가이드 v10: 고급 설정, 팁 및 총정리 ## Extended Thinking 모드 복잡한 문제에 대해 Claude가 더 깊이 생각하도록 합니다. ### 활성화 방법 **세션 내:** ``` Tab ``` **커스텀 명령에서:** ```yaml --- name: complex-analysis thinking: enabled max-thinking-tokens: 10000 --- ``` **CLI에서:** ```bash claude -p "복잡한 분석" --thinking enabled ``` ### 적합한 사용 사례 - 복잡한 아키텍처 설계 - 어려운 알고리즘 문제 - 대규모 리팩토링 계획 - 보안 취약점 심층 분석 - 최적화 전략 수립 --- ## 세션 관리 ### 이전 세션 이어가기 ```bash # 가장 최근 세션 claude -c # 특정 세션 claude -r "session-id" "추가 질문" ``` ### 세션 목록에서 선택 ``` /resume ``` ### 세션 저장 ``` /export filename.md # 파일로 저장 /export # 클립보드로 복사 ``` ### 체크포인트 (Rewind) ``` Esc + Esc ``` 또는 ``` /rewind ``` 이전 상태로 되돌리기 (대화 + 파일 변경) --- ## 모델 전환 전략 ### 사용 가능한 모델 | 별칭 | 특징 | 용도 | |------|------|------| | `sonnet` | 균형 잡힌 성능 | 일반 코딩 | | `opus` | 최고 추론 능력 | 복잡한 문제 | | `haiku` | 빠르고 경제적 | 단순 작업 | | `default` | 계정에 최적화 | 기본값 | ### 세션 중 전환 ``` /model opus /model sonnet /model haiku ``` ### 환경 변수로 기본값 설정 ```bash export ANTHROPIC_MODEL=opus ``` ### settings.json으로 설정 ```json { "model": "sonnet" } ``` ### 작업별 모델 선택 전략 ``` 복잡한 설계 → opus 일반 코딩 → sonnet 간단한 질문 → haiku ``` --- ## 컨텍스트 관리 ### 컨텍스트 시각화 ``` /context ``` 색상 그리드로 컨텍스트 사용량 표시 ### 대화 압축 ``` /compact ``` 긴 대화를 요약하여 토큰 절약 ``` /compact 최근 변경사항에 집중해줘 ``` 특정 내용 유지하며 압축 --- ## 사용량 모니터링 ### 토큰 사용량 확인 ``` /cost ``` ### Rate Limit 확인 ``` /usage ``` --- ## IDE 통합 ``` /ide ``` VS Code, JetBrains IDE와 통합 설정 --- ## 구조화된 JSON 출력 ### 스키마 검증 출력 ```bash claude -p "데이터 추출" \ --json-schema '{ "type": "object", "properties": { "items": {"type": "array"}, "count": {"type": "number"} }, "required": ["items", "count"] }' \ --output-format json ``` ### 출력 형식 옵션 | 형식 | 설명 | |------|------| | `text` | 기본 텍스트 출력 | | `json` | JSON 객체 | | `stream-json` | 스트리밍 JSON | --- ## 유용한 워크플로우 ### 1. 새 프로젝트 시작 ``` /init /memory # 프로젝트 규칙 작성 /model sonnet ``` ### 2. 코드 리뷰 워크플로우 ``` /review # 피드백 확인 /security-review # 보안 이슈 확인 ``` ### 3. 디버깅 워크플로우 ``` > 에러 발생하는데 분석해줘 > [에러 메시지 붙여넣기] # 또는 이미지로 Ctrl+V (에러 스크린샷) ``` ### 4. 리팩토링 워크플로우 ``` Tab # Extended Thinking 활성화 > 이 코드를 리팩토링 계획 세워줘 # 계획 검토 > 계획대로 진행해줘 # 변경사항 검토 후 승인 ``` ### 5. 문서화 워크플로우 ``` > @src/api/ 이 폴더의 API 문서를 생성해줘 # 결과 검토 /export api-docs.md ``` --- ## 고급 CLI 활용 ### 파이프라인 조합 ```bash # 로그 분석 cat error.log | claude -p "에러 원인 분석" # 코드 리뷰 자동화 git diff | claude -p "이 변경사항 리뷰해줘" # 문서 생성 cat src/api/*.ts | claude -p "API 문서 생성" > API.md ``` ### 배치 스크립트 ```bash #!/bin/bash # analyze-project.sh echo "=== 프로젝트 분석 시작 ===" # 코드 품질 분석 claude -p "코드 품질 분석" --add-dir src/ \ --output-format json > reports/quality.json # 보안 분석 claude -p "보안 취약점 스캔" --add-dir src/ \ --permission-mode plan \ --output-format json > reports/security.json # 테스트 커버리지 제안 claude -p "테스트 커버리지 개선 제안" --add-dir src/ \ --output-format json > reports/testing.json echo "=== 분석 완료 ===" ``` --- ## 트러블슈팅 ### 설치 문제 ```bash # 설치 상태 점검 claude /doctor # 버전 확인 claude /status ``` ### 인증 문제 ```bash # 재로그인 claude /login # 로그아웃 후 재로그인 /logout claude ``` ### 연결 문제 ```bash # 네트워크 테스트 claude /doctor # Verbose 모드로 디버깅 claude --verbose ``` ### 성능 문제 ``` # 컨텍스트 확인 /context # 압축 /compact # 모델 변경 /model haiku # 빠른 응답 필요 시 ``` ### MCP 연결 문제 ```bash # MCP 서버 상태 확인 claude mcp list # 특정 서버 확인 claude mcp get github # 서버 재연결 claude mcp remove github claude mcp add github ... ``` --- ## 전체 기능 맵 | 카테고리 | 기능 | 명령/단축키 | |----------|------|------------| | **세션** | 시작 | `claude` | | | 종료 | `Ctrl+D`, `/exit` | | | 이어가기 | `claude -c` | | | 되돌리기 | `Esc+Esc`, `/rewind` | | | 저장 | `/export` | | **입력** | 슬래시 명령 | `/command` | | | Bash 실행 | `!command` | | | 파일 참조 | `@path` | | | 이미지 | `Ctrl+V` | | | 멀티라인 | `\+Enter` | | **모드** | Extended Thinking | `Tab` | | | Permission 전환 | `Shift+Tab` | | | Vim 모드 | `/vim` | | | Sandbox | `/sandbox` | | **프로젝트** | 초기화 | `/init` | | | 메모리 편집 | `/memory` | | | 디렉토리 추가 | `/add-dir` | | **코드** | 리뷰 | `/review` | | | 보안 리뷰 | `/security-review` | | | 컨텍스트 확인 | `/context` | | | 압축 | `/compact` | | **설정** | 설정 UI | `/config` | | | 모델 변경 | `/model` | | | 권한 관리 | `/permissions` | | | Hooks | `/hooks` | | **MCP** | 서버 관리 | `/mcp`, `claude mcp` | | **모니터링** | 비용 | `/cost` | | | 사용량 | `/usage` | | | 상태 | `/status` | | | 점검 | `/doctor` | --- ## 전체 설정 파일 구조 ``` ~/.claude/ ├── settings.json # 사용자 전역 설정 ├── mcp.json # 사용자 MCP 설정 ├── commands/ # 사용자 커스텀 명령 │ └── my-command.md └── skills/ # 사용자 Skills └── my-skill/ └── SKILL.md 프로젝트/ ├── CLAUDE.md # Project Memory ├── .claude/ │ ├── settings.json # 프로젝트 설정 (팀) │ ├── settings.local.json # 프로젝트 설정 (개인) │ ├── commands/ # 프로젝트 명령 │ └── skills/ # 프로젝트 Skills └── .mcp.json # MCP 서버 설정 ``` --- ## 완전한 settings.json 예제 ```json { "model": "sonnet", "permissions": { "allow": [ "Bash(npm run:*)", "Bash(npx:*)", "Bash(git:*)", "WebFetch(domain:*.npmjs.com)", "mcp__context7__*" ], "deny": [ "Bash(rm -rf:*)", "Bash(sudo:*)", "Write(**/.env*)" ] }, "hooks": [ { "event": "PostToolUse", "matcher": "bash", "command": "prettier --write . 2>/dev/null || true" }, { "event": "FileModified", "matcher": "*", "command": "echo \"$(date): $FILE_PATH\" >> ~/.claude/changes.log" } ], "env": { "NODE_ENV": "development" } } ``` --- ## 시리즈 요약 | 파트 | 주제 | 핵심 내용 | |------|------|----------| | v1 | 소개 및 설치 | 설치, 인증, 기본 설정 | | v2 | 커맨드라인 모드 | `-p` 플래그, 자동화, CI/CD | | v3 | Interactive 모드 | 단축키, 입력 방법, Vim 모드 | | v4 | 슬래시 명령어 | 40+ 내장 명령, 커스텀 명령 | | v5 | Skills | 자동 활성화, SKILL.md 작성 | | v6 | MCP 서버 | 외부 서비스 연동, 설정 | | v7 | Hooks | 자동화, 이벤트 기반 실행 | | v8 | Project Memory | CLAUDE.md, 팀 협업 | | v9 | 보안 | 권한, Permission 모드 | | v10 | 고급 설정 | 팁, 워크플로우, 총정리 | --- ## 추가 리소스 - 공식 문서: https://docs.anthropic.com/claude-code - GitHub: https://github.com/anthropics/claude-code - 버그 리포트: `/bug` - 기능 요청: `/feedback` --- ## 마무리 Claude CLI(Claude Code)는 강력한 AI 기반 개발 도구입니다. 이 가이드 시리즈를 통해: 1. **기본 사용법**을 익히고 2. **자동화**로 생산성을 높이고 3. **팀 협업**을 효율화하고 4. **보안**을 유지하면서 AI와 함께하는 개발 워크플로우를 구축할 수 있습니다. --- *Claude CLI 완전 가이드 시리즈 v10/10 - 완결*