# 빠른 시작

> Claude Code를 설치하고, 인증하고, 5분 안에 첫 번째 코딩 작업을 완료하세요.

## 사전 요구사항

- Node.js 18 이상
- npm

Node.js 버전 확인:

```bash
node --version
```

Node.js를 설치하거나 업그레이드해야 한다면 [nodejs.org](https://nodejs.org)에서 다운로드하세요.

---

## 1단계: Claude Code 설치

npm으로 전역 설치:

```bash
npm install -g @anthropic-ai/claude-code
```

설치 확인:

```bash
claude --version
```

---

## 2단계: 인증

아무 디렉토리에서나 `claude`를 실행해 최초 설정을 시작:

```bash
claude
```

처음 실행하면, Claude Code가 브라우저를 열고 Anthropic 계정으로 로그인하는 과정을 안내합니다. 완료하면 자격 증명이 안전하게 저장되어 이후 세션에서 재사용됩니다.

**대안으로**, OAuth를 사용하지 않으려면 API 키를 직접 설정하세요:

```bash
export ANTHROPIC_API_KEY=sk-ant-...
```

> 📝 `ANTHROPIC_API_KEY` 환경 변수가 설정되어 있으면 API 키가 우선합니다. 대화형 사용에는 OAuth가 권장됩니다 — 토큰 갱신을 자동으로 처리합니다.

---

## 3단계: 프로젝트로 이동

Claude Code는 현재 디렉토리 내에서 작동합니다. 작업하려는 프로젝트로 이동하세요:

```bash
cd my-project
```

---

## 4단계: 대화형 세션 시작

`claude`를 실행해 대화형 세션을 열기:

```bash
claude
```

자연어로 작업을 입력할 수 있는 프롬프트가 나타납니다. Claude가 프로젝트 파일을 읽고, 커맨드를 실행하고, 지시에 따라 변경 사항을 만듭니다.

**첫 번째로 시도할 예제 작업들:**

```
> 이 코드베이스의 구조를 설명해줘
> 회원가입 폼에 입력 검증 추가해줘
> UserService 클래스에 대한 테스트 작성해줘
> 에러를 잡고 무시하는 곳을 모두 찾아줘
```

Claude는 권한이 필요한 변경 사항을 만들기 전에 계획을 보여줍니다. 각 단계에서 승인하거나, 거부하거나, 다른 접근 방식을 요청할 수 있습니다.

---

## 5단계: CLAUDE.md 파일 초기화

세션 안에서 `/init`을 실행해 프로젝트의 `CLAUDE.md` 파일을 생성:

```
/init
```

Claude가 저장소를 분석하여 — 매니페스트 파일, 기존 문서, 코드 구조를 읽어 — 코드베이스에서 효과적으로 작업하는 데 필요한 커맨드와 컨텍스트를 담은 `CLAUDE.md`를 생성합니다. 커밋하기 전에 생성된 파일을 검토하고 편집하세요.

> 💡 `CLAUDE.md`는 매 세션 시작 시 로드됩니다. 비표준 빌드 커맨드, 테스트 특이사항, 팀 고유의 코딩 컨벤션 등을 기록하기 가장 좋은 곳입니다.

---

## 비대화형 커맨드 실행

`-p` 플래그를 사용해 단일 작업을 실행하고 결과를 출력합니다 — 대화형 세션에 들어가지 않고. 스크립팅이나 일회성 쿼리에 유용합니다:

```bash
claude -p "이 코드베이스를 설명해줘"
claude -p "src/ 안의 모든 TODO 주석과 파일을 나열해줘"
claude -p "src/ 안의 미사용 export를 확인해줘"
```

---

## 핵심 슬래시 커맨드

대화형 세션 안에서 가장 유용한 슬래시 커맨드들:

| 커맨드 | 설명 |
|--------|------|
| `/help` | 사용 가능한 커맨드와 키보드 단축키 표시 |
| `/init` | 현재 프로젝트의 `CLAUDE.md` 생성 또는 업데이트 |
| `/memory` | 메모리 파일(`CLAUDE.md`, `CLAUDE.local.md`) 보기 및 편집 |
| `/permissions` | 현재 권한 모드 보기 또는 변경 |
| `/mcp` | 연결된 MCP 서버 관리 |
| `/clear` | 현재 대화 컨텍스트 지우기 |
| `/exit` | 세션 종료 |
