포스트

[이제와서 시작하는 Claude AI 마스터하기 #8] 일상 워크플로우 마스터하기

[이제와서 시작하는 Claude AI 마스터하기 #8] 일상 워크플로우 마스터하기

이론은 충분히 배웠습니다! 이제 개발자가 매일 하는 실제 작업들을 Claude Code로 수행해봅니다. 코드베이스 파악, 버그 수정, 리팩토링, 테스트 작성, PR 생성까지 - 실전에서 바로 쓸 수 있는 워크플로우를 익혀봅시다.

완독 시간: 25분 ⭐⭐⭐

🎯 이번에 배울 것

📚 사전 지식


🔍 워크플로우 1: 새 프로젝트 파악하기

새 팀에 합류하거나 오픈소스 프로젝트를 처음 볼 때 유용합니다.

Step 1: 전체 구조 파악

1
give me an overview of this codebase

Claude가 프로젝트 구조, 주요 기술 스택, 핵심 모듈을 분석해줍니다.

Step 2: 세부 질문하기

1
what are the key data models?
1
how is authentication handled?
1
explain the main architecture patterns used here

Step 3: 특정 기능 추적하기

1
trace the login process from frontend to database

로그인 요청이 어떤 경로로 처리되는지 전체 흐름을 보여줍니다.

💡 팁: 점진적으로 깊이 파기

1
2
3
1️⃣ 먼저 넓게: "이 프로젝트가 뭐야?"
2️⃣ 중간 범위: "인증 시스템 구조가 어때?"
3️⃣ 좁게 파기: "JWT 토큰 갱신 로직 보여줘"

🐛 워크플로우 2: 버그 수정하기

에러 메시지로 시작하기

에러가 발생했다면 그대로 전달하세요:

1
2
3
4
I'm seeing this error when I run npm test:

TypeError: Cannot read property 'id' of undefined
    at UserService.getProfile (src/services/user.js:42)

Claude가:

  1. 에러 메시지 분석
  2. 관련 파일 찾아서 읽기
  3. 원인 파악
  4. 수정안 제시

증상으로 설명하기

1
사용자가 로그인한 후 프로필 페이지에서 빈 화면이 나와요

Claude가 스스로 조사하고 원인을 찾습니다.

수정 요청하기

1
suggest a few ways to fix this

여러 해결책을 보여주면 선택할 수 있습니다.

1
fix it using option 2

💡 팁: 재현 조건 알려주기

1
2
3
4
이 버그는 다음 조건에서 발생해요:
- 사용자가 처음 가입한 경우
- 프로필 이미지를 아직 설정 안 했을 때
- 모바일에서만 발생

조건이 명확할수록 빠르게 원인을 찾습니다.


♻️ 워크플로우 3: 리팩토링하기

레거시 코드 현대화

1
find deprecated API usage in our codebase
1
refactor utils.js to use ES2024 features while maintaining the same behavior

큰 파일 분리하기 (SRP 적용)

1
2
3
4
5
OrderController.java가 3000줄이 넘어서 유지보수가 어려워.
단일 책임 원칙(SRP)에 따라 분리해줘:
- 비즈니스 로직 → OrderService
- 유효성 검사 → OrderValidator
- 응답 포맷팅 → OrderDtoMapper

콜백을 async/await로

1
refactor the authentication module to use async/await instead of callbacks

💡 팁: 안전한 리팩토링 순서

flowchart LR
    A[1. 테스트 확인] --> B[2. 리팩토링]
    B --> C[3. 테스트 재실행]
    C -->|실패| D[수정]
    D --> C
    C -->|성공| E[완료]
1
2
3
1. 먼저 기존 테스트가 통과하는지 확인해
2. 리팩토링 진행해
3. 테스트 다시 돌려서 깨지는 거 없는지 확인해

🧪 워크플로우 4: 테스트 작성하기

테스트 안 된 코드 찾기

1
find functions in NotificationService.swift that are not covered by tests

테스트 작성 요청

1
add tests for the notification service

Claude가 기존 테스트 스타일을 분석해서 일관된 테스트를 작성합니다.

엣지 케이스 추가

1
add test cases for edge conditions in the notification service
  • 빈 값 처리
  • 경계값 (0, 최대값)
  • 예외 상황

테스트 실행 및 수정

1
run the new tests and fix any failures

실패하면 자동으로 수정하고 재시도합니다.

💡 팁: TDD 스타일 요청

버그 수정할 때 테스트부터 작성하게 하면 더 확실합니다:

1
2
3
1. 이 버그를 재현하는 실패 테스트 먼저 작성해 (Red)
2. 테스트가 통과하도록 코드 수정해 (Green)
3. 코드를 깔끔하게 정리해 (Refactor)

📝 워크플로우 5: PR 생성하기

간단한 방법: 빌트인 Skill

1
/commit-push-pr

커밋 → 푸시 → PR 생성을 한 번에!

단계별 진행

1. 변경사항 확인

1
summarize the changes I've made to the authentication module

2. 커밋 생성

1
commit my changes with a descriptive message

3. PR 생성

1
create a pr

Claude가 변경사항을 분석해서 적절한 PR 제목과 설명을 작성합니다.

4. PR 설명 보강

1
enhance the PR description with more context about the security improvements

💡 팁: PR 템플릿

Claude는 다음 형식의 PR을 생성합니다:

1
2
3
4
5
6
7
8
## Summary
- 핵심 변경사항 요약

## Test plan
- [ ] 테스트 항목 1
- [ ] 테스트 항목 2

🤖 Generated with Claude Code

🛡️ Plan Mode: 안전한 탐색 모드

코드를 수정하지 않고 분석만 하고 싶을 때 사용합니다.

Plan Mode란?

  • 읽기 전용 모드
  • 파일 수정, 명령 실행 불가
  • 안전하게 코드베이스 탐색
  • 복잡한 변경 전 계획 수립에 유용

Plan Mode 활성화

방법 1: 키보드

1
2
Shift+Tab을 두 번 누르기
(Default → Accept Edits → Plan Mode)

방법 2: CLI 옵션

1
claude --permission-mode plan

방법 3: 헤드리스 실행

1
claude --permission-mode plan -p "인증 시스템 분석하고 개선점 제안해"

Plan Mode 활용 예시

복잡한 리팩토링 계획 세우기

1
2
OAuth2로 마이그레이션하려고 해.
현재 인증 시스템 분석하고 상세한 마이그레이션 계획 세워줘.

Claude가 코드를 분석하고 단계별 계획을 제시합니다. 계획이 마음에 들면 Plan Mode를 끄고 실행하면 됩니다.

💡 팁: 계획 편집하기

Plan Mode에서 Claude가 계획을 세우면:

  • Ctrl+G: 기본 텍스트 에디터에서 계획 열기
  • 직접 수정 후 저장
  • Claude가 수정된 계획대로 진행

💡 Plan 파일 저장 위치는 plansDirectory 설정으로 커스터마이징 가능합니다.


⏳ 백그라운드 작업 관리

긴 작업 중에 다른 질문을 하고 싶을 때:

작업을 백그라운드로 전환

1
Ctrl+B  # 현재 작업을 백그라운드로 전환

백그라운드 작업 확인

1
/tasks  # 백그라운드 작업 목록 및 상태 확인

작업이 완료되면 알림이 표시되고 결과를 확인할 수 있습니다.


🖼️ 이미지 활용하기

Claude Code는 이미지도 이해합니다!

이미지 추가 방법

  1. 드래그 앤 드롭: 이미지 파일을 터미널에 끌어다 놓기
  2. 복사 붙여넣기: Ctrl+V (⚠️ Cmd+V 아님!)
  3. 경로 지정: “이 이미지 분석해: /path/to/image.png”

활용 예시

에러 스크린샷 분석

1
2
[에러 스크린샷 첨부]
이 에러 뭐가 문제야?

디자인 시안 구현

1
2
[Figma 스크린샷 첨부]
이 디자인대로 CSS 만들어줘

UI 버그 설명

1
2
[현재 UI 스크린샷]
여기서 버튼이 잘려 보이는데 고쳐줘

📎 파일 참조하기 (@멘션)

파일이나 폴더를 빠르게 참조할 때 @ 문법을 사용합니다.

사용법

1
Explain the logic in @src/utils/auth.js
1
What's the structure of @src/components?

여러 파일 동시 참조

1
Compare @file1.js and @file2.js

MCP 리소스 참조

MCP 서버가 연결되어 있다면:

1
Show me the data from @github:repos/owner/repo/issues

🔄 세션 이어하기

마지막 대화 이어하기

1
2
3
claude --continue
# 또는
claude -c

특정 세션 복원

1
2
3
4
5
claude --resume
# 세션 목록에서 선택 (브랜치명, 메시지 수 표시)

claude --resume auth-refactoring
# 이름으로 직접 지정

PR 기반 세션 복원

1
2
3
4
5
claude --from-pr 123
# PR 번호로 연결된 세션 복원

claude --from-pr https://github.com/owner/repo/pull/123
# PR URL로도 가능

gh pr create로 PR을 생성하면 세션이 자동으로 PR에 연결됩니다.

세션 선택기 단축키

단축키 동작
↑/↓ 세션 이동
Enter 선택
P 미리보기
R 이름 변경
/ 검색 (브랜치명으로도 검색 가능)

💡 효과적인 프롬프트 작성법

좋은 프롬프트의 구조

1
2
3
4
1. 컨텍스트: "결제 모듈에서"
2. 의도: "트랜잭션 실패 시 재시도 로직이 필요해"
3. 제약조건: "Redis가 아닌 기존 RabbitMQ 사용"
4. 검증방법: "먼저 테스트 작성하고 구현해"

예시 비교

1
2
3
4
5
6
7
❌ 나쁜 예:
"API 고쳐줘"

✅ 좋은 예:
"결제 API에서 타임아웃 시 재시도 로직 추가해줘.
최대 3번 재시도하고 지수 백오프 적용해.
기존 테스트 통과하는지 확인해."

📝 오늘 배운 것 정리

프로젝트 파악: 넓게 → 좁게 점진적으로 질문

버그 수정: 에러 메시지 그대로 전달, 재현 조건 설명

리팩토링: 테스트 확인 → 리팩토링 → 테스트 재확인

테스트: 기존 스타일 분석해서 일관되게 작성

PR 생성: /commit-push-pr 또는 단계별 진행

Plan Mode: 안전한 읽기 전용 탐색 (Shift+Tab 두 번)

백그라운드 작업: Ctrl+B로 전환, /tasks로 관리

PR 연동 세션: --from-pr로 PR에 연결된 세션 복원


🔗 다음 편 미리보기

#04편: 메모리 관리 - CLAUDE.md 완전 정복

Claude Code가 여러분의 프로젝트를 “기억”하게 만드는 방법:

  • CLAUDE.md의 역할과 구조
  • 프로젝트 vs 유저 vs 로컬 메모리
  • .claude/rules/로 모듈화하기
  • 효과적인 CLAUDE.md 작성법

🔗 참고 자료


🚀 실전에서 익히는 것이 가장 빠른 학습입니다!

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.