들어가며
이전 차시까지 Claude Code 설치와 환경 설정을 마쳤다. 이제 실제로 Claude Code를 실행하고 첫 번째 코딩 세션을 진행할 차례다.
이번 차시에서는 프로젝트에서 Claude Code를 시작하는 방법, 코드를 질문하고 편집하는 방법, Git으로 변경사항을 관리하는 방법, 그리고 세션을 종료하고 재개하는 방법을 다룬다.
Claude Code 시작
프로젝트 폴더로 이동
Claude Code는 현재 디렉토리를 기준으로 작업한다. 작업할 프로젝트의 루트 디렉토리로 이동한 뒤 실행한다.
cd ~/my-project
Claude Code 실행
claude 명령을 입력하면 인터랙티브 모드가 시작된다.
claude
실행하면 다음과 같은 화면이 나타난다.
╭────────────────────────────────────────╮
│ Claude Code │
│ Working in: ~/my-project │
╰────────────────────────────────────────╯
> _
> 프롬프트가 나타나면 자연어로 질문하거나 작업을 요청할 수 있다. Claude Code는 프로젝트의 파일을 필요에 따라 자동으로 읽기 때문에, 별도로 파일을 지정하지 않아도 된다.
초기 질문으로 프로젝트 이해하기
/help를 입력하면 사용 가능한 명령어와 기능을 확인할 수 있다. /resume을 입력하면 이전 대화를 이어갈 수 있다.
코드 질문하기
프로젝트 구조 분석
가장 먼저 해볼 수 있는 작업은 프로젝트 전체 구조를 파악하는 것이다.
> 이 프로젝트의 구조를 분석해줘
Claude가 프로젝트를 탐색하고 구조를 설명한다.
프로젝트 분석 결과:
📁 src/
├── components/ # React 컴포넌트
├── pages/ # 페이지 컴포넌트
├── utils/ # 유틸리티 함수
└── App.tsx # 메인 앱 컴포넌트
📄 package.json # 의존성 관리
📄 tsconfig.json # TypeScript 설정
이 프로젝트는 React + TypeScript 기반의 웹 애플리케이션입니다.
특정 파일 탐색
특정 파일의 내용을 확인하고 싶다면 파일 경로를 포함해서 질문한다.
> src/App.tsx 파일을 보여줘
@ 기호를 사용하면 파일 경로 자동완성이 작동한다.
> @src/App.tsx 이 파일을 설명해줘
기능 이해하기
특정 기능이 어떻게 구현되어 있는지 질문할 수 있다.
> 로그인 기능은 어떻게 구현되어 있어?
Claude는 관련 파일을 찾아 읽고, 코드의 흐름을 설명한다. 넓은 질문부터 시작해서 점점 구체적인 질문으로 좁혀가는 것이 효과적이다.
> 이 프로젝트에서 사용하는 기술 스택은 뭐야?
> 메인 진입점은 어디야?
> 인증 시스템은 어떻게 작동해?
코드 변경하기
버그 수정
코드 변경을 요청하면 Claude가 관련 파일을 찾아 수정을 제안한다.
> 로그인 페이지에서 비밀번호 검증 버그를 수정해줘
Claude가 파일을 읽고 분석한 뒤, 변경사항을 보여준다.
📝 src/pages/Login.tsx
- if (password.length > 8) {
+ if (password.length >= 8) {
setError("비밀번호는 8자 이상이어야 합니다.");
}
승인 요청
Claude는 파일을 수정하기 전에 항상 승인을 요청한다.
이 변경사항을 적용할까요? [y/n/e]
- y: 적용
- n: 거부
- e: 편집
y를 입력하면 변경이 적용되고, n을 입력하면 변경이 취소된다. e를 입력하면 변경 내용을 직접 편집할 수 있다.
기능 추가
새로운 기능을 추가하는 것도 자연어로 요청할 수 있다.
> 로그인 폼에 "비밀번호 표시" 토글 버튼을 추가해줘
Claude는 필요한 파일을 읽고, 코드를 분석한 뒤, 변경사항을 적용한다.
[Read] src/pages/Login.tsx
[Edit] src/pages/Login.tsx
- useState로 showPassword 상태 추가
- input type을 동적으로 변경
- 토글 버튼 UI 추가
복잡한 작업은 단계별로 나눠서 요청하면 더 좋은 결과를 얻을 수 있다.
> 1. 사용자 프로필 테이블을 생성해줘
> 2. 프로필 조회 및 수정 API 엔드포인트를 추가해줘
> 3. 프로필 편집 페이지를 만들어줘
Git 사용하기
변경사항 확인
Claude에게 Git 상태를 확인하도록 요청할 수 있다.
> 변경된 파일을 확인해줘
또는 더 구체적으로 요청할 수 있다.
> git status를 확인해줘
커밋 생성
변경사항을 커밋하도록 요청하면 Claude가 변경 내용을 분석해서 커밋 메시지를 작성한다.
> 변경사항을 커밋해줘
Claude가 작성한 커밋 메시지 예시:
feat: 로그인 폼에 비밀번호 표시 토글 추가
- 비밀번호 필드에 eye 아이콘 버튼 추가
- 클릭 시 비밀번호 표시/숨김 토글
- 접근성을 위한 aria-label 추가
- 비밀번호 검증 버그 수정 (>= 연산자)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Claude가 생성한 커밋에는 Co-Authored-By 태그가 자동으로 추가된다. 이를 통해 AI가 작성에 관여한 코드를 추적할 수 있다.
PR 생성
커밋 후 PR도 바로 생성할 수 있다.
> 이 변경사항으로 PR을 만들어줘
Claude가 변경 내용을 요약해서 PR 제목과 본문을 작성한다. PR 생성에는 gh CLI가 필요하다.
세션 내 명령어
인터랙티브 모드에서 /로 시작하는 슬래시 명령어를 사용할 수 있다. /를 입력하면 사용 가능한 모든 명령어가 표시된다.
기본 명령어
| 명령어 | 설명 |
|---|---|
/help | 도움말 표시 |
/clear | 대화 기록 삭제 |
/exit | 세션 종료 |
컨텍스트 명령어
| 명령어 | 설명 |
|---|---|
/compact | 컨텍스트 압축 |
대화가 길어지면 컨텍스트 윈도우가 가득 차게 된다. /compact를 실행하면 이전 대화 내용을 요약해서 컨텍스트를 줄인다.
편집 명령어
| 명령어 | 설명 |
|---|---|
/undo | 마지막 변경 취소 |
/diff | 변경사항 보기 |
/undo는 Claude가 적용한 마지막 코드 변경을 되돌린다. /diff는 현재 세션에서 변경된 내용을 확인할 수 있다.
Git 명령어
| 명령어 | 설명 |
|---|---|
/commit | 변경사항 커밋 |
/commit을 사용하면 변경사항을 분석하고 커밋 메시지를 자동으로 생성한 뒤 커밋한다.
모델 및 설정 명령어
| 명령어 | 설명 |
|---|---|
/model | 모델 변경 |
/config | 설정 UI 열기 |
/permissions | 권한 설정 확인 |
세션 중에 /model로 사용할 모델을 변경할 수 있다. opus, sonnet, haiku 중에서 선택할 수 있다.
키보드 단축키
세션 중에 사용할 수 있는 주요 키보드 단축키다.
| 단축키 | 기능 |
|---|---|
Ctrl+C | 현재 작업 중단 |
Ctrl+D | 세션 종료 |
↑ / ↓ | 이전/다음 명령 탐색 |
Tab | 자동완성 |
Ctrl+L | 화면 다시 그리기 |
Ctrl+R | 명령 기록 역방향 검색 |
Ctrl+O | 상세 출력 토글 |
Shift+Tab | 권한 모드 전환 |
?를 누르면 현재 환경에서 사용 가능한 모든 단축키를 확인할 수 있다.
멀티라인 입력
여러 줄의 텍스트를 입력하려면 다음 방법을 사용한다.
| 방법 | 단축키 |
|---|---|
| 백슬래시 | \ + Enter |
| macOS | Option+Enter |
| 코드 붙여넣기 | 직접 붙여넣기 |
CLI 옵션
One-shot 모드 (-p)
한 번의 질문으로 답변을 받고 종료한다. 스크립트나 자동화에 유용하다.
claude -p "이 프로젝트를 설명해줘"
초기 프롬프트와 함께 시작
-p 없이 문자열을 전달하면 인터랙티브 모드를 시작하면서 첫 번째 질문을 바로 보낸다.
claude "이 프로젝트의 구조를 분석해줘"
파이프로 입력
다른 명령의 출력을 Claude에 전달할 수 있다.
cat error.log | claude -p "이 에러를 분석해줘"
git diff | claude -p "이 변경사항을 설명해줘"
출력 형식 지정
--output-format 옵션으로 출력 형식을 지정할 수 있다.
# 텍스트 출력 (기본값)
claude -p "질문" --output-format text
# JSON 출력
claude -p "질문" --output-format json
# 스트리밍 JSON 출력
claude -p "질문" --output-format stream-json
Bash 모드
세션 내에서 !로 시작하면 Claude를 거치지 않고 셸 명령을 직접 실행할 수 있다. 명령의 출력은 대화 컨텍스트에 추가된다.
! npm test
! git status
! ls -la
세션 종료
종료 방법
세션을 종료하는 방법은 여러 가지다.
> /exit
또는 exit를 입력하거나, Ctrl+D를 누른다.
세션 자동 저장
모든 세션은 자동으로 저장된다. 별도로 저장 명령을 실행할 필요가 없다.
세션 재개
가장 최근 세션 이어서 (-c)
이전에 작업하던 세션을 이어서 진행할 수 있다.
claude -c
현재 디렉토리에서 가장 최근에 진행한 세션을 불러온다. 이전 대화의 모든 컨텍스트가 복원된다.
세션 선택 (-r)
특정 세션을 선택해서 재개할 수 있다.
# 세션 ID로 재개
claude -r abc123
# 세션 이름으로 재개
claude -r auth-refactor
인자 없이 claude -r을 실행하면 세션 목록에서 선택할 수 있는 대화형 피커가 열린다.
세션 내에서 재개 (/resume)
이미 세션이 진행 중일 때 /resume을 입력하면 다른 세션으로 전환할 수 있다.
세션 이름 지정
세션에 이름을 지정하면 나중에 찾기 쉽다.
# 시작할 때 이름 지정
claude -n auth-refactor
# 세션 중에 이름 변경
/rename auth-refactor
이름을 지정한 세션은 claude -r auth-refactor로 바로 재개할 수 있다.
실전 워크플로우 예시
환경 설정부터 코드 변경, 커밋까지의 전체 과정을 정리한다.
1단계: 프로젝트 디렉토리에서 시작
cd my-project
claude
2단계: 프로젝트 파악
> 이 프로젝트의 구조를 분석해줘
3단계: 작업할 이슈 확인
> GitHub 이슈 #123의 내용을 확인해줘
4단계: 구현
> 이슈에 설명된 기능을 구현해줘
5단계: 테스트
> 테스트를 실행해줘
6단계: 커밋 및 PR
> 변경사항을 커밋하고 PR을 만들어줘
7단계: 종료
> /exit
다음 날 이어서 작업하려면 claude -c로 세션을 재개한다.
정리
핵심 요점
-
Claude Code 시작: 프로젝트 디렉토리에서
claude를 실행하면 인터랙티브 모드가 시작된다. 자연어로 질문하거나 작업을 요청할 수 있다 -
코드 질문과 편집: 프로젝트 구조 분석, 특정 파일 탐색, 기능 이해 등을 질문할 수 있다. 코드 변경은 항상 승인 후 적용된다
-
Git 통합: 변경사항 확인, 커밋 메시지 자동 생성, PR 생성까지 자연어로 요청할 수 있다
-
세션 내 명령어:
/help,/compact,/undo,/diff,/commit등의 슬래시 명령어로 세션을 제어한다 -
세션 관리: 모든 세션은 자동 저장된다.
claude -c로 가장 최근 세션을,claude -r로 특정 세션을 재개할 수 있다
확인해볼 링크
- Quickstart - Claude Code
- CLI reference - Claude Code
- Interactive mode - Claude Code
- Common workflows - Claude Code
다음 단계
다음 차시부터는 섹션 2: 핵심 개념 이해로 넘어간다. Agentic Loop의 작동 원리와 Claude Code가 내부적으로 어떻게 도구를 실행하는지 알아본다.