# Claude Code 핵심 치트시트 (1장) > UI·CLI는 버전에 따라 다를 수 있음. 최종 동작은 **공식 Claude Code 문서**를 확인하세요. ## 제품 구분 (혼동 방지) - **본 워크북 / Starter** = **Claude Code** (`claude` CLI, `CLAUDE.md`, Plan Mode, MCP, Hooks, `claude -p`). - **[anthropics/claude-cookbooks](https://github.com/anthropics/claude-cookbooks)** = 주로 **Claude API + Python/Jupyter** 레시피. **필수 실습 경로가 아님** — 개념 심화·숙제용. ## 자주 쓰는 명령·기능 | 동작 | 메모 | |------|------| | `/init` | 프로젝트 스캔 후 `CLAUDE.md` 초안 생성 | | `/compact` | 컨텍스트 압축. 예: `/compact Keep: 인증 아키텍처 결정, 미해결 순환참조 스택트레이스` | | Plan Mode | **계획 승인 후** 구현. IDE에서는 `Shift+Tab` 두 번(제품 기준) | | MCP 추가 | 예: `claude mcp add github -- npx -y @modelcontextprotocol/server-github` | | 헤드리스 | `claude -p "프롬프트"` — 파이프와 CI에 끼워 넣기 | ## `.claude/settings.json` — PreToolUse 훅 스켈레톤 필드 이름은 설치된 CLI/버전 문서에 맞게 조정하세요. 아래는 **예시 구조**입니다. ```json { "hooks": { "PreToolUse": [ { "matcher": "Edit|Write|MultiEdit", "hooks": [ { "type": "command", "command": "bash ${workspaceFolder}/scripts/protect-files.sh" } ] } ] } } ``` - `protect-files.sh`가 대상 파일(예: `.env`)에 대한 편집을 감지하면 **exit code 2**로 차단하도록 구현합니다. ## `claude -p` 파이프 예시 ```bash cat sample-error.log | claude -p "이 로그의 원인을 한 줄로 요약해" ``` CI에서: 로그/테스트 출력을 파이프로 넘겨 짧은 요약·분류만 받아 **아티팩트**로 저장. ## 저비용 모델 (예시) 플래그 이름·모델 ID는 **현재 CLI 도움말** 기준. 예: 경량 모델 옵션이 있으면 실습 중 멀티 에이전트·긴 맥락 구간에만 제한 사용. ## `/compact` Keep 패턴 - `Keep: [아키텍처 결정 1문장] + [열려 있는 이슈] + [재현 커맨드]` - 압축 후 **같은 세션에서** `현재 프로젝트 상태를 요약해`로 보존 여부 확인.