03. 첫 세션과 기본 작업 흐름

🎯 이 장의 목표
  • 프로젝트 폴더에서 claude를 실행해 첫 세션을 시작할 수 있다
  • /init으로 프로젝트를 분석하고 첫 작업을 지시하는 흐름을 익힌다
  • 대화형 모드와 일회성(-p) 모드를 구분한다
  • 자주 쓰는 내장 슬래시 명령의 쓰임새를 안다

첫 실행: 위치가 곧 컨텍스트

Claude Code는 현재 작업 디렉터리를 기준으로 동작합니다. 그래서 첫걸음은 언제나 같습니다 — 작업할 프로젝트 폴더로 이동한 뒤 실행.

BASH
cd /path/to/your/project
claude

이제 대화형 세션 안에 들어왔습니다. Claude Code는 폴더 구조를 스캔하고, 무엇을 도와줄지 기다립니다. 평범한 문장으로 작업을 시키면 됩니다.

📌 핵심: 엉뚱한 폴더에서 실행하면 엉뚱한 컨텍스트를 봅니다. "왜 내 프로젝트를 모르지?"의 8할은 잘못된 디렉터리에서 시작한 경우입니다.

가장 가치 있는 첫 명령: /init

세션에 들어와서 할 수 있는 가장 효과 좋은 한 가지는 /init입니다.

CODE
> /init

/init은 코드베이스를 분석해 시작용 CLAUDE.md 파일을 만들어 줍니다. 빌드 명령, 코딩 규칙, 아키텍처 메모 등을 담은 이 파일은 이후 매 세션 시작 시 자동으로 로드되어 Claude가 당신의 프로젝트를 "기억"하게 합니다. (CLAUDE.md는 9장에서 깊이 다룹니다.)

sequenceDiagram
    participant U as 사용자
    participant C as Claude Code
    participant F as 파일시스템
    U->>C: cd 프로젝트 && claude
    C->>F: 폴더 구조 스캔
    U->>C: /init
    C->>F: README·설정·소스 분석
    C->>F: CLAUDE.md 생성
    C-->>U: "프로젝트 규칙을 정리했습니다"
    Note over U,C: 이후 매 세션에서 CLAUDE.md 자동 로드

첫 작업 지시: 평범한 말로

이제 실제 작업을 시켜봅니다. 예를 들어:

CODE
> 이 프로젝트 구조를 요약해줘. 어떤 기술 스택이고 진입점은 어디야?

Claude Code는 파일을 읽고 기술 스택을 식별해 정리해 줍니다. 코드를 고치는 작업은 이렇게:

CODE
> 사용자 목록 화면에 이름순 정렬 기능을 추가해줘

Claude는 관련 파일을 찾아 변경을 제안하고, 수정 전에 diff를 보여주며 승인을 요청합니다. 당신은 각 변경을 검토해 승인하거나 거부합니다. 이 "제안 → 검토 → 승인" 흐름이 기본 동작이며, 권한 모델의 핵심입니다(→ 8장).

⚠️ 흔한 실수: 첫날부터 "알아서 다 해줘"라고 던지기. 처음엔 작고 명확한 작업으로 시작해 도구의 동작 방식을 관찰하고, 신뢰가 쌓이면 점점 큰 작업으로 키우는 게 정석입니다.

대화형 vs 일회성(-p)

모드실행쓰임새
대화형claude세션 안에서 주고받으며 작업. 기본
일회성(헤드리스)claude -p "작업"한 번 실행하고 결과 출력 후 종료. 스크립팅·빠른 질문
BASH
# 한 번만 실행하고 끝
claude -p "이 디렉터리의 TODO 주석을 전부 찾아 목록으로 만들어줘"

-p 모드는 자동화·CI의 토대입니다(→ 19장).

자주 쓰는 내장 슬래시 명령

세션 안에서 /로 시작하는 명령들은 작업 흐름을 제어합니다. 처음 알아둘 것들:

명령용도
/help사용 가능한 명령·도움말
/init프로젝트 분석 → CLAUDE.md 생성
/context현재 컨텍스트 사용량을 색상 그리드로 시각화
/compact대화 이력을 요약해 컨텍스트 정리 (→ 4장)
/review코드 리뷰
/security-review보안 관점 리뷰
/permissions권한 규칙 관리 UI (→ 8장)
/agents서브에이전트 관리 (→ 13장)
/mcpMCP 서버 상태 (→ 14장)
💡 팁
외울 필요 없습니다. 세션에서 /만 입력하면 자동완성 메뉴가 뜹니다. 전체 목록은 부록 A 치트시트에 정리해 두었습니다.

첫 세션 권장 흐름

flowchart TB
    A[프로젝트 폴더로 cd]:::user --> B[claude 실행]:::user
    B --> C[/init 으로 CLAUDE.md 생성]:::tool
    C --> D[작은 질문으로 구조 파악]:::agent
    D --> E[작은 수정 작업 지시]:::agent
    E --> F{diff 검토}:::danger
    F -->|승인| G[변경 적용]:::result
    F -->|거부| E
    G --> H[git으로 커밋]:::result

    classDef user fill:#FFE082,stroke:#F9A825,color:#000
    classDef agent fill:#80DEEA,stroke:#00ACC1,color:#000
    classDef tool fill:#90CAF9,stroke:#1E88E5,color:#000
    classDef result fill:#A5D6A7,stroke:#43A047,color:#000
    classDef danger fill:#EF9A9A,stroke:#E53935,color:#000
💡 팁
변경을 적용했으면 바로 커밋하는 습관을 들이세요. 다음 작업이 잘못돼도 깨끗한 지점으로 되돌아올 수 있습니다(→ 18장).

GUI로 시작하고 싶다면

터미널이 부담스럽다면 데스크톱 앱(macOS·Windows)으로 같은 작업을 시각적 diff·미리보기 패널과 함께 할 수 있습니다. CLI와 설정 파일을 공유하며 같은 프로젝트에서 동시에 돌릴 수도 있습니다. VS Code 확장·JetBrains 플러그인도 에디터 안에서 같은 핵심 기능을 제공합니다. 자세한 채널별 사용법은 17장에서 다룹니다.

이 장에서 배운 것

  • Claude Code는 현재 디렉터리를 컨텍스트로 삼는다. 항상 프로젝트 폴더에서 실행한다.
  • 첫 세션의 핵심은 /init — 코드베이스를 분석해 CLAUDE.md를 만들고, 이후 매 세션에 자동 로드된다.
  • 코드 수정은 "제안 → diff 검토 → 승인"의 흐름으로 진행된다.
  • claude는 대화형, claude -p는 일회성(헤드리스).
  • 작은 작업으로 시작하고, 변경 후 바로 커밋하는 습관이 안전하다.

✍️ 확인 문제

  1. 새 프로젝트에서 Claude Code를 처음 쓸 때 /init을 먼저 하는 이유는 무엇인가요?
  2. claudeclaude -p "..."는 각각 언제 쓰나요?
  3. Claude가 코드를 수정할 때 사용자가 거치는 단계(흐름)를 순서대로 말해 보세요.
다음 장: 04. 세션과 컨텍스트 이해하기 — Claude가 "기억"하는 방식과 그 한계를 들여다봅니다.